Importaciones
Varias funciones del Web App Firewall utilizan los archivos externos que se cargan en el Web App Firewall al configurarlo. Mediante la GUI, administra esos archivos en el panel Importaciones, que tiene cuatro fichas que corresponden a los cuatro tipos de archivos que puede importar: objetos de error HTML, objetos de error XML, esquemas XML y archivos del lenguaje de descripción de servicios web (WSDL). Mediante la línea de comandos de NetScaler, puede importar estos tipos de archivos, pero no puede exportarlos.
Objeto de error HTML
Cuando se bloquea la conexión de un usuario a una página HTML o Web 2.0, o un usuario solicita una página HTML o Web 2.0 que no existe, el Web App Firewall envía una respuesta de error basada en HTML al navegador del usuario. Al configurar la respuesta de error que debe utilizar el Web App Firewall, tiene dos opciones:
- Puede configurar una URL de redireccionamiento, que se puede alojar en cualquier servidor web al que los usuarios también tengan acceso. Por ejemplo, si tiene una página de error personalizada en su servidor web, 404.html, puede configurar el Web App Firewall para redirigir a los usuarios a esa página cuando se bloquea una conexión.
- Puede configurar un objeto de error HTML, que es una página web basada en HTML que se aloja en el propio Web App Firewall. Si elige esta opción, debe cargar el objeto de error HTML en el Web App Firewall. Puede hacerlo en el panel Importaciones, en la ficha Objeto de error HTML.
El objeto de error debe ser un archivo HTML estándar que no contenga sintaxis que no sean HTML, excepto las variables de personalización del objeto de error de Web App Firewall. No puede contener ningún script CGI, código analizado por el servidor ni código PHP. Las variables de personalización permiten incrustar información de solución de problemas en el objeto de error que el usuario recibe cuando se bloquea una solicitud. Si bien la mayoría de las solicitudes que bloquea el Web App Firewall son ilegítimas, incluso un Web App Firewall configurado correctamente puede bloquear ocasionalmente las solicitudes legítimas, especialmente al implementarlo por primera vez o después de realizar cambios importantes en los sitios web protegidos. Al incluir información en la página de error, proporcionas al usuario la información que debe proporcionar al técnico de soporte técnico para que pueda solucionar cualquier problema.
Las variables de personalización de la página de error de Web App Firewall son:
- $ {NS_TRANSACTION_ID}. El identificador de transacción que el Web App Firewall asignó a esta transacción.
- $ {NS_APPFW_SESSION_ID}. El ID de sesión de Web App Firewall.
- $ {NS_APPFW_VIOLATION_CATEGORY}. La regla o comprobación de seguridad específica de Web App Firewall que se infringió.
-
$ {NS_APPFW_VIOLATION_LOG}. El mensaje de error detallado asociado a la infracción.
- $ {COOKIE El contenido de la cookie especificada. Para
<CookieName>
, sustituya el nombre de la cookie específica que desea mostrar en la página de error. Si tiene varias cookies cuyo contenido desea mostrar para solucionar problemas, puede utilizar varias instancias de esta variable de personalización, cada una con el nombre de cookie correspondiente. Nota: Si tiene habilitado el bloqueo para la comprobación de coherencia de las cookies, las cookies bloqueadas no se muestran en la página de error porque el Web App Firewall las bloquea.
Para utilizar estas variables, debe insertarlas en el HTML o XML del objeto de página de error como si se tratara de una cadena de texto normal. Cuando se muestra al usuario el objeto de error, para cada variable de personalización, el Web App Firewall sustituye la información a la que hace referencia la variable. A continuación se muestra un ejemplo de página de error HTML que usa variables personalizadas.
<!doctype html public "-//w3c//dtd html 4.0//en"> <html> <head> <title>Page Not Accessible</title> </head> <body> <h1>Page Not Accessible</h1> <p>The page that you accessed is not available. You can:</p> <ul> <li>return to the <b><a href="[homePage]">home page</a></b>, re-establish your session, and try again, or,</li> <li>report this incident to the help desk via <b><a href="mailto:[helpDeskEmailAddress]">email</a></b> or by calling [helpDeskPhoneNumber].</li> </ul> <p>If you contact the help desk, please provide the following information:</p> <table cellpadding=8 width=80%> <tr><th align="right" width=30%>Transaction ID:</th><td align="left" valign="top" width=70%>${NS_TRANSACTION_ID}</td></tr> <tr><th align="right" width=30%>Session ID:</th><td align="left" valign="top" width=70%>${NS_APPFW_SESSION_ID}</td></tr> <tr><th align="right" width=30%>Violation Category:</th><td align="left" valign="top" width=70%>${NS_APPFW_VIOLATION_CATEGORY}</td></tr> <tr><th align="right" width=30%>Violation Log:</th><td align="left" valign="top" width=70%>${NS_APPFW_VIOLATION_LOG}</td></tr> <tr><th align="right" width=30%>Cookie Name:</th><td align="left" valign="top" width=70%>${COOKIE("[cookieName]")}</td></tr> </table> <body> <html>
<!--NeedCopy-->
Para usar esta página de error, cópiela en un editor de texto o HTML. Sustituya las siguientes variables por la información local adecuada, que se incluyen entre corchetes para distinguirlas de las variables de NetScaler. (Déjelos sin cambios. ):
-
[homePage]
. La URL de la página principal de su sitio web. -
[helpDeskEmailAddress]
. La dirección de correo electrónico que quieres que los usuarios usen para denunciar los incidentes de bloqueo. -
[helpDeskPhoneNumber]
. El número de teléfono al que quieres que llamen los usuarios para denunciar los incidentes de bloqueo. -
[cookieName]
. El nombre de la cookie cuyo contenido desea mostrar en la página de error.
Objeto de error XML
Cuando se bloquea la conexión de un usuario a una página XML o un usuario solicita una aplicación XML inexistente, el Web App Firewall envía una respuesta de error basada en XML al navegador del usuario. Para configurar la respuesta al error, cargue una página de error basada en XML en el Web App Firewall, en el panel Importaciones, en la ficha Objeto de error XML. Todas las respuestas de error de XML se alojan en el Web App Firewall. No puede configurar una URL de redireccionamiento para aplicaciones XML.
Nota: Puede utilizar las mismas variables de personalización en un objeto de error XML que en un objeto de error HTML.
Esquema XML
Cuando el Web App Firewall comprueba la solicitud de un usuario de una aplicación XML o Web 2.0, puede validar la solicitud con el esquema XML o el documento de tipo de diseño (DTD) de esa aplicación y rechazar cualquier solicitud que no siga el esquema o la DTD. Tanto un esquema XML como un DTD son archivos de configuración XML estándar que describen la estructura de un tipo específico de documento XML.
WSDL
Cuando el Web App Firewall realiza una comprobación de validación de la solicitud de un usuario de un servicio web XML basado en SOAP, puede validar la solicitud con el archivo de definición de tipos de servicios web (WSDL) de ese servicio web. Un archivo WSDL es un archivo de configuración SOAP XML estándar que define los elementos de un servicio web XML SOAP específico.
Objeto de importación de especificaciones de API
La especificación de la API define el diseño de una API, incluidos los puntos finales, los métodos, los parámetros y los formatos de datos. La capacidad de especificación de API de importación le permite importar la especificación de API abierta, que generalmente se usa para describir la API REST. Cuando el Web App Firewall realiza una comprobación de validación de la solicitud de un usuario para un servicio web basado en API, valida la solicitud con respecto al esquema especificado en el archivo de especificación de API para ese servicio web. NetScaler admite validaciones de esquemas para una API REST con la carga útil como JSON de la aplicación y ProtoBuf para las solicitudes de API gRPC.
NetScaler admite los siguientes formatos de especificación:
- API abierta: Swagger 2.0, OAS 3.0.3.1
- ProtoBuf - v3 y v2
Para obtener más información, consulte Importación de especificaciones de API.