Directivas vinculantes de Web App Firewall
Una vez configuradas las directivas de Web App Firewall, las vincula a Global o a un punto de enlace para que entren en vigor. Tras la vinculación, el perfil asociado a esa directiva transforma cualquier solicitud o respuesta que coincida con una directiva de Web App Firewall.
Cuando vincula una directiva, le asigna una prioridad. La prioridad determina el orden en que se evalúan las directivas que defina. Puede establecer la prioridad en cualquier número entero positivo. En el sistema operativo NetScaler, las prioridades directivas funcionan en orden inverso: cuanto mayor sea el número, menor será la prioridad.
Dado que la función Web App Firewall implementa solo la primera directiva con la que coincide una solicitud, no ninguna directiva adicional con la que también pueda coincidir, la prioridad de la directiva es importante para lograr los resultados esperados. Si asigna a su primera directiva una prioridad baja (por ejemplo, 1000), configura el Web App Firewall para que la ejecute solo si otras directivas con una prioridad más alta no coinciden con una solicitud. Si le da a su primera directiva una prioridad alta (por ejemplo, 1), configure el Web App Firewall para que la ejecute primero y omita cualquier otra directiva que también pueda coincidir. Puede dejar mucho espacio para agregar otras directivas en cualquier orden, sin tener que reasignar prioridades, estableciendo prioridades con intervalos de 50 o 100 entre cada directiva cuando vincule las directivas.
Para obtener más información sobre las directivas de enlace en el dispositivo NetScaler, consulte “Directivas y expresiones.”
Para enlazar una directiva de Web App Firewall mediante la interfaz de línea de comandos
En el símbolo del sistema, escriba los comandos siguientes:
bind appfw global <policyName>
bind appfw profile <profile_name> -crossSiteScripting data
Ejemplo
El siguiente ejemplo enlaza la directiva denominada pl-blog y le asigna una prioridad de 10.
bind appfw global pl-blog 10
save ns config
<!--NeedCopy-->
Configurar expresiones de registro
La compatibilidad con expresiones de registro para vincular Web App Firewall se agrega para registrar la información del encabezado HTTP cuando se produce una infracción.
La expresión de registro está enlazada en el perfil de la aplicación y el enlace contiene la expresión que debe evaluarse y enviarse a los marcos de registro cuando se produce una infracción.
Se graba el registro de infracciones de Web App Firewall con la información del encabezado http. Puede especificar una expresión de registro personalizada y ayuda al análisis y al diagnóstico cuando se generan infracciones para el flujo actual (solicitud/respuesta).
Ejemplo de configuración
bind appfw profile <profile> -logexpression <string> <expression>
add policy expression headers "" HEADERS(100):"+HTTP.REQ.FULL_HEADER"
add policy expression body_100 ""BODY:"+HTTP.REQ.BODY(100)"
bind appfw profile test -logExpression log_body body_100
bind appfw profile test -logExpression log_headers headers
bind appfw profile test -logExpression ""URL:"+HTTP.REQ.URL+" IP:"+CLIENT.IP.SRC"
<!--NeedCopy-->
Registros de ejemplo
Dec 8 16:55:33 <local0.info> 10.87.222.145 CEF:0|Citrix|NetScaler|NS12.1|APPFW|APPFW_LOGEXPRESSION|6|src=10.217.222.128 spt=26409 method=POST request=http://10.217.222.44/test/credit.html msg= HEADERS(100):POST /test/credit.html HTTP/1.1^M User-Agent: curl/7.24.0 (amd64-portbld-freebsd8.4) libcurl/7.24.0 OpenSSL/0.9.8y zlib/1.2.3^M Host: 10.217.222.44^M Accept: /^M Content-Length: 33^M Content-Type: application/x-www-form-urlencoded^M ^M cn1=58 cn2=174 cs1=test cs2=PPE1 cs4=ALERT cs5=2017 act=not blocked
<!--NeedCopy-->
Dec 8 16:55:33 <local0.info> 10.87.222.145 CEF:0|Citrix|NetScaler|NS12.1|APPFW|APPFW_LOGEXPRESSION|6|src=10.217.222.128 spt=26409 method=POST request=http://10.217.222.44/test/credit.html msg=BODY:ata=asdadasdasdasdddddddddddddddd cn1=59 cn2=174 cs1=test cs2=PPE1 cs4=ALERT cs5=2017 act=not blocked
<!--NeedCopy-->
Dec 8 16:55:33 <local0.info> 10.87.222.145 CEF:0|Citrix|NetScaler|NS12.1|APPFW|APPFW_LOGEXPRESSION|6|src=10.217.222.128 spt=26409 method=POST request=http://10.217.222.44/test/credit.html msg=URL:/test/credit.html IP:10.217.222.128 cn1=60 cn2=174 cs1=test cs2=PPE1 cs4=ALERT cs5=2017 act=not blocked
<!--NeedCopy-->
Other violation logs
Dec 8 16:55:33 <local0.info> 10.87.222.145 CEF:0|Citrix|NetScaler|NS12.1|APPFW|APPFW_STARTURL|6|src=10.217.222.128 spt=26409 method=POST request=http://10.217.222.44/test/credit.html msg=Disallow Illegal URL. cn1=61 cn2=174 cs1=test cs2=PPE1 cs4=ALERT cs5=2017 act=not blocked
<!--NeedCopy-->
Dec 8 16:55:33 <local0.info> 10.87.222.145 CEF:0|Citrix|NetScaler|NS12.1|APPFW|APPFW_SAFECOMMERCE|6|src=10.217.222.128 spt=26409 method=POST request=http://10.217.222.44/test/credit.html msg=Maximum number of potential credit card numbers seen cn1=62 cn2=174 cs1=test cs2=PPE1 cs4=ALERT cs5=2017 act=not blocked
<!--NeedCopy-->
Nota
Solo está disponible la compatibilidad con auditlog. La compatibilidad con el flujo de registro y la visibilidad en Security Insight se agregarán en versiones futuras.
Si se generan registros de auditoría, solo se pueden generar 1024 bytes de datos por mensaje de registro.
Si se utiliza la transmisión de registros, los límites se basan en el tamaño máximo admitido de las limitaciones de tamaño del protocolo logstream/ipfix. El tamaño máximo de soporte para la transmisión de registros es superior a 1024 bytes.
Para vincular una directiva de Web App Firewall mediante la interfaz gráfica de usuario
- Lleve a cabo una de las siguientes acciones:
- Vaya a Seguridad > Web App Firewally, en el panel de detalles, haga clic en el administrador de directivas de Web App Firewall.
- Vaya a Seguridad > Web App Firewall > Directivas > Directivas de firewally, en el panel de detalles, haga clic en Administrador de directivas.
- En el cuadro de diálogo Web App Firewall Policy Manager, elija el punto de enlace al que desea vincular la directiva en la lista desplegable. Las opciones son:
- Anular Global. Las directivas que están vinculadas a este punto de enlace procesan todo el tráfico de todas las interfaces del dispositivo NetScaler y se aplican antes que cualquier otra directiva.
- Servidor virtual LB. Las directivas que están enlazadas a un servidor virtual de equilibrio de carga se aplican solo al tráfico procesado por ese servidor virtual de equilibrio de carga y se aplican antes que cualquier directiva global predeterminada. Tras seleccionar LB Virtual Server, también debe seleccionar el servidor virtual de equilibrio de carga específico al que desea vincular esta directiva.
- Servidor virtual CS. Las directivas que están enlazadas a un servidor virtual de conmutación de contenido se aplican únicamente al tráfico procesado por ese servidor virtual de conmutación de contenido y se aplican antes que cualquier directiva global predeterminada. Tras seleccionar CS Virtual Server, también debe seleccionar el servidor virtual de conmutación de contenido específico al que desea vincular esta directiva.
- Global predeterminado. Las directivas vinculadas a este punto de enlace procesan todo el tráfico de todas las interfaces del dispositivo NetScaler.
- Etiqueta de directiva. Las directivas que están enlazadas a una etiqueta de directiva procesan el tráfico que la etiqueta de directiva dirige hacia ellas. La etiqueta de directiva controla el orden en que se aplican las directivas a este tráfico.
- None. No enlace la directiva a ningún punto de enlace.
- Haga clic en Continuar. Aparece una lista de las directivas de Web App Firewall existentes.
- Seleccione la directiva que desee vincular haciendo clic en ella.
- Realice cualquier ajuste adicional en la encuadernación.
- Para modificar la prioridad de la directiva, haga clic en el campo para habilitarla y, a continuación, escriba una nueva prioridad. También puede seleccionar Regenerar prioridades para renumerar las prioridades de manera uniforme.
- Para modificar la expresión de directiva, haga doble clic en ese campo para abrir el cuadro de diálogo Configurar directiva Web App Firewall, donde puede modificar la expresión de directiva.
- Para configurar la expresión Goto, haga doble clic en el campo del encabezado de la columna Goto Expression para mostrar la lista desplegable, donde puede elegir una expresión.
- Para establecer la opción Invocar, haga doble clic en el campo del encabezado de columna Invocar para mostrar la lista desplegable, donde puede elegir una expresión
- Repita los pasos 3 a 6 para agregar cualquier directiva adicional de Web App Firewall que desee vincular globalmente.
- Haga clic en Aceptar. Aparece un mensaje en la barra de estado que indica que la directiva se ha enlazado correctamente.