Por que meu mod_security não captura / registra nada?

1

Instalei mod_security no meu servidor Ubuntu GNU / Linux, mas quando envio algumas solicitações simples para o servidor da Web que devem corresponder até mesmo às regras mais simples, não vejo nenhum alerta ou nenhum arquivo de log que deveria existir em / var / log / apache2. O que estou perdendo?

Antes de prosseguir, aqui estão os detalhes do meu sistema:

$ apache2ctl -t -D DUMP_MODULES | grep secu
Syntax OK
 security2_module (shared)

$ sudo lsof | grep mod_security
apache2   12773        root  mem       REG      202,0   268828      50225 /usr/lib/apache2/modules/mod_security2.so
apache2   15287    www-data  mem       REG      202,0   268828      50225 /usr/lib/apache2/modules/mod_security2.so
apache2   15288    www-data  mem       REG      202,0   268828      50225 /usr/lib/apache2/modules/mod_security2.so
...

E aqui está a parte relevante do meu /etc/apache2/apache2.conf:

<IfModule mod_security2.c>
      # Basic configuration options
      SecRuleEngine On
      SecRequestBodyAccess On
      SecResponseBodyAccess Off

      # Handling of file uploads
      # TODO Choose a folder private to Apache.
      # SecUploadDir /opt/apache-frontend/tmp/
      SecUploadKeepFiles Off

      # Debug log
      SecDebugLog /var/log/apache2/modsec_debug.log
      SecDebugLogLevel 3

      # Serial audit log
      SecAuditEngine RelevantOnly
      SecAuditLogRelevantStatus ^5
      SecAuditLogParts ABIFHZ
      SecAuditLogType Serial
      SecAuditLog /var/log/apache2/modsec_audit.log

      # Maximum request body size we will
      # accept for buffering
      SecRequestBodyLimit 131072

      # Store up to 128 KB in memory 
      SecRequestBodyInMemoryLimit 131072
      # Buffer response bodies of up to # 512 KB in length 
      SecResponseBodyLimit 524288

      # Configure default blocking policy
      # see ModSecurity Handbook, p. 175
      #
      #SecDefaultAction "phase:1,log,auditlog,pass"

      Include /etc/apache2/modsecurity-crs_2.0.6/*.conf
      Include /etc/apache2/modsecurity-crs_2.0.6/base_rules/*.conf  

      SecFilter "/bin/"
      SecFilter "/cgi-bin" "deny,log,status:500"


      # By default log and deny suspicious requests
      # with HTTP status 500
      SecFilterDefaultAction "deny,log,status:500"
</IfModule>

Então, espero que, se eu tentar visitar o meu site e enviar uma solicitação que corresponda a um dos filtros declarados acima usando o SecFilter ou qualquer coisa que corresponda às regras básicas etc., então eu verei algo nesses arquivos:

/var/log/apache2/modsec_debug.log
/var/log/apache2/modsec_audit.log

certo?

No entanto, esses arquivos não existem, não importa o que eu tente:

http://www.myserver.com/cgi-bin
http://www.myserver.com/index.html?q=/cgi-bin
http://www.myserver.com/bin
http://www.myserver.com/index.html?q=/bin
http://www.myserver.com/index.html?q=/bin/

Por que não consigo ver modsec_debug.log ou modsec_audit.log em / var / log / apache2? Eu também não recebo status 500 do servidor. Tudo que eu posso ver nas requisições acima são algumas entradas no arquivo error.log em / var / log / apache2 informando que os arquivos que eu pedi não foram encontrados, mas nenhum alerta produzido por mod_security.

O que estou perdendo?

    
por Emre Sevinç 16.03.2011 / 10:47

2 respostas

3

Que vergonha! Eu coloquei as diretivas de configuração de segurança mod antes (e não depois) do:

# Include module configuration:
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf

então mod-security module não foi carregado na verdade! Agora que coloquei as diretivas de segurança mod abaixo , mod-security é carregado e ele registra nos arquivos relevantes. Problema resolvido.

    
por 16.03.2011 / 14:36
0

toque em /var/log/apache2/modsec_debug.log chown apache_user: apache_user /var/log/apache2/modsec_debug.log

SecAuditEngine RelevantOnly to SecAuditEngine On

    
por 16.03.2011 / 11:23