2011-11-23 13 views
12

Obtuve muchos falsos positivos [??] después de configurar mode_security. Lo estoy ejecutando solo en detección, por lo que todavía no hay problemas, pero estos filtros comenzarán a bloquear las solicitudes una vez que lo necesite para su activación.mod_security falsos positivos

Miedo que no entiendo 100% cuál es la importancia de estos filtros, obtengo cientos de ellos en casi todos los dominios & todas las solicitudes parecen legítimas.

Request Missing a User Agent Header 
Request Missing an Accept Header 

¿Cuál es la mejor cosa que hacer aquí? ¿Debería deshabilitar estos filtros? ¿Puedo configurar la gravedad más baja para que las solicitudes no se bloqueen?

Aquí es una entrada completa

[22/Nov/2011:21:32:37 --0500] u6t6IX8AAAEAAHSiwYMAAAAG 72.47.232.216 38543 72.47.232.216 80 
--5fcb9215-B-- 
GET /Assets/XHTML/mainMenu.html HTTP/1.0 
Host: www.domain.com 
Content-type: text/html 
Cookie: pdgcomm-babble=413300:451807c5d49b8f61024afdd94e57bdc3; __utma=100306584.1343043347.1321115981.1321478968.1321851203.4; __utmz=100306584.1321115981.1.1.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=XXXXXXXX%20clip%20ons 

--5fcb9215-F-- 
HTTP/1.1 200 OK 
Last-Modified: Wed, 23 Nov 2011 02:01:02 GMT 
ETag: "21e2a7a-816d" 
Accept-Ranges: bytes 
Content-Length: 33133 
Vary: Accept-Encoding 
Connection: close 
Content-Type: text/html 

--5fcb9215-H-- 
Message: Operator EQ matched 0 at REQUEST_HEADERS. [file "/etc/httpd/modsecurity_crs/base_rules/modsecurity_crs_21_protocol_anomalies.conf"] [line "47"] [id "960015"] [rev "2.2.1"] [msg "Request Missing an Accept Header"] [severity "CRITICAL"] [tag "PROTOCOL_VIOLATION/MISSING_HEADER_ACCEPT"] [tag "WASCTC/WASC-21"] [tag "OWASP_TOP_10/A7"] [tag "PCI/6.5.10"] 
Message: Operator EQ matched 0 at REQUEST_HEADERS. [file "/etc/httpd/modsecurity_crs/base_rules/modsecurity_crs_21_protocol_anomalies.conf"] [line "66"] [id "960009"] [rev "2.2.1"] [msg "Request Missing a User Agent Header"] [severity "NOTICE"] [tag "PROTOCOL_VIOLATION/MISSING_HEADER_UA"] [tag "WASCTC/WASC-21"] [tag "OWASP_TOP_10/A7"] [tag "PCI/6.5.10"] 
Message: Warning. Operator LT matched 5 at TX:inbound_anomaly_score. [file "/etc/httpd/modsecurity_crs/base_rules/modsecurity_crs_60_correlation.conf"] [line "33"] [id "981203"] [msg "Inbound Anomaly Score (Total Inbound Score: 4, SQLi=5, XSS=): Request Missing a User Agent Header"] 
Stopwatch: 1322015557122593 24656 (- - -) 
Stopwatch2: 1322015557122593 24656; combined=23703, p1=214, p2=23251, p3=2, p4=67, p5=168, sr=88, sw=1, l=0, gc=0 
Producer: ModSecurity for Apache/2.6.1 (http://www.modsecurity.org/); core ruleset/2.2.1. 
Server: Apache/2.2.3 (CentOS) 

Respuesta

20

Si nos fijamos en la Sección H de la entrada del registro de auditoría que mostró en la línea de Productor, verá que está utilizando el OWASP ModSecurity Regla Básica (CRS) v2.2.1. En este caso, le sugiero que revise la información de la documentación en la página del proyecto -

https://www.owasp.org/index.php/Category:OWASP_ModSecurity_Core_Rule_Set_Project#tab=Documentation

En concreto, debe revisar estos dos puestos de blogs que hice -

  1. http://blog.spiderlabs.com/2010/11/advanced-topic-of-the-week-traditional-vs-anomaly-scoring-detection-modes.html
  2. http://blog.spiderlabs.com/2011/08/modsecurity-advanced-topic-of-the-week-exception-handling.html

La publicación del blog n. ° 1 es útil para que comprenda qué "modo de operación" y estás usando para el CRS. Al mirar su registro de auditoría, parece que se está ejecutando en el modo de puntuación de anomalía. Aquí es donde las reglas están haciendo la detección, pero la decisión de bloqueo se realiza por separado inspeccionando la puntuación de anomalía general en el archivo modsecurity_crs_49_inbound_blocking.conf.

La publicación de blog n. ° 2 es útil para que pueda decidir exactamente cómo desea manejar estas dos reglas. Si considera que estos no son importantes para usted, le sugiero que use la directiva SecRuleRemoveById para deshabilitar estas reglas de su propio archivo modsecurity_crs_60_exceptions.conf. Tal como está ahora, estas dos alertas solo generan una puntuación de anomalía de entrada de 4, que está por debajo del umbral predeterminado de 5 establecido en el archivo modsecurity_crs_10_config.conf, por lo que no está bloqueado.

Al observar su ejemplo de registro de auditoría, aunque esta solicitud generó alertas, la transacción no se bloqueó. Si así fuera, los datos del mensaje en la Sección H habrían indicado "Acceso denegado ...".

En cuanto a los propósitos de estas reglas, están destinadas a marcar las solicitudes que no se generan desde navegadores web estándar (IE, Chrome, Firefox, etc.) ya que todos estos navegadores enviarán tanto User-Agent como Acepte los encabezados de las solicitudes según la especificación HTTP RFC.

Un último comentario - Yo sugeriría que utilice la lista de correo oficial de OWASP ModSecurity CRS para estos tipos de preguntas - https://lists.owasp.org/mailman/listinfo/owasp-modsecurity-core-rule-set

También puede buscar en los archivos que en busca de respuestas.

Saludos, Ryan Barnett proyecto ModSecurity plomo Esta OWASP ModSecurity proyecto CRS

+1

Esta es una gran información, estaba teniendo muchos problemas con los documentos oficiales y la wiki, en su mayoría se preocupan por los detalles sobre las opciones, pero no mucho acerca de la implementación general. Gracias por los enlaces y sugerencias. Definitivamente lo investigaré más a fondo. –

+1

Por favor, por el amor de todas las cosas, cambie a un grupo de google para la lista de discusión. – Dogweather

5

Esto no son falsos positivos. Sus encabezados de solicitud carecen de los encabezados User-Agent y Accept. Por lo general, estos se envían desde herramientas de escáner o hackeo.

+1

¿No quiso decir "NO se envían" en lugar de "se envían"? – Volomike

+1

las solicitudes se envían, los encabezados NO se envían;) – rubo77

Cuestiones relacionadas