Como implementar o conjunto de regras básicas ModSecurity OWASP no Nginx

Se você estava protegendo o Nginx com Mod Security, gostaria de ter o conjunto de regras básicas (CRS) OWASP ativado para proteger das seguintes ameaças.

  • Proteção contra violação do protocolo HTTP
  • Ataques comuns na web
  • Bots, rastreadores, proteção contra atividades maliciosas
  • proteção contra trojan
  • Proteção contra vazamento de informações
  • Ataques de Cross Site Scripting
  • Ataques de injeção SQL

Você concordar ?

No meu post anterior, expliquei como instalar Nginx e Mod Security e como prometido aqui está como você pode configurá-los com OWASP CRS para melhor segurança.

ModSecurity é de código aberto Web Firewall de aplicativo ( WAF ) e, por padrão, está configurado para detectar apenas. Isso significa que você precisa ativar a configuração necessária (como segue ) para começar a proteger seus sites.

Baixar ModSecurity CRS

  • Faça o download do arquivo zip CRS mais recente no link a seguir e transfira para o servidor

https://github.com/SpiderLabs/owasp-modsecurity-crs/zipball/master

  • descompacte o arquivo
unzip SpiderLabs-owasp-modsecurity-crs-2.2.9-26-gf16e0b1.zip
  • Copie o seguinte para a pasta nginx conf
modsecurity_crs_10_setup.conf.example
base_rules

Configurar o Nginx para integrar o OWASP ModSecurity CRS

Como você decidiu usar o OWASP CRS, você precisa mesclar o arquivo conf incluído no SpiderLabs OWASP CRS, que você acabou de copiar (modsecurity_crs_10_setup.conf.example ) na pasta nginx.

O Nginx não oferece suporte a várias diretivas ModSecurityConfig como Apache então você precisa colocar todas as regras conf juntas em um único arquivo.

Vamos fazê-lo…

  • Adicione base_rules e modsecurity_crs_10_setup.conf.example ao arquivo modsecurity.conf
cat modsecurity_crs_10_setup.conf.example base_rules/*.conf >>/usr/local/nginx/conf/modsecurity.conf

Você também precisa copiar todos *.dados arquivo para a pasta nginx conf

cp base_rules/*.data /usr/local/nginx/conf/

Verificação rápida:

Certifique-se de ter adicionado a diretiva ModSecurityEnabled e ModSecurityConfig no arquivo nginx.conf no local. Se não, adicione-os como abaixo.

location / {
ModSecurityEnabled on;
ModSecurityConfig modsecurity.conf;
}
  • Reinicie o Nginx

Ao fazer acima de tudo, você integrou com sucesso o OWASP CRS no Mod Security no Nginx. É hora de fazer os pequenos ajustes essenciais.

Configurando o conjunto de regras básicas do OWASP para começar a proteger

Nesta seção, todas as modificações serão em modsecurity.conf arquivo então lembre-se de fazer um backup.

As coisas importantes primeiro

Ativar registro de auditoria

É essencial gerar logs, para saber o que está sendo bloqueado. Adicione a diretiva SecAuditLog se não existir.

SecAuditLog /usr/local/nginx/logs/modsec_audit.log

Reinicie o Nginx e você verá o arquivo de log gerado

-rw-r----- 1 root root 0 May 22 07:54 /usr/local/nginx/logs/modsec_audit.log

Ativar mecanismo de regra de segurança

Comece a proteção Mod Security ativando o mecanismo de regras conforme abaixo

SecRuleEngine On

Ativar ação padrão como negar

Configure a ação padrão como “bloquear” para qualquer solicitação que corresponda às regras.

SecDefaultAction "phase:1,deny,log"

Acima de três configurações é essencial e agora o ModSecurity está pronto para executar a ação e proteger.

Aqui está mais uma configuração que você pode gostar.

Alterar banner de cabeçalho do servidor

A configuração padrão do Nginx exporá as informações do servidor com sua versão, o que é altamente recomendado para mascará-lo se você estiver trabalhando em um ambiente PCI-DSS.

Você também pode fazer isso sem Mod Segurança como explicado aqui .

Cabeçalho padrão:

Você pode fazer isso rapidamente adicionando uma linha.

SecServerSignature Tecnologico

E agora parece:

nginx-modsecurity-header

Espero que as instruções acima o ajudem a integrar o conjunto de regras básicas OWASP com o servidor da Web Nginx para melhor proteção.

Artigos relacionados