Como configurar o ModSecurity com o Apache no Debian/Ubuntu

Como configurar o ModSecurity com o Apache no Debian/Ubuntu

O Apache O servidor da web é altamente personalizável e pode ser configurado de várias maneiras para atender às suas necessidades. Existem muitos módulos de terceiros que você pode usar para configurar o Apache para sua preferência.

ModSecurity é um código aberto Waf (Firewall do aplicativo da web) que é nativo do servidor da web do Apache. Foi inicialmente um módulo Apache apenas, mas cresceu ao longo do ano para se tornar um app app de pleno direito firewall. Agora é apoiado por Nginx e até mesmo Iis.

ModSecurity Inspeciona solicitações recebidas ao servidor da web contra um conjunto predefinido de regras. Normalmente, fornece um conjunto de regras conhecidas como Crs (Conjunto de regras central) que protegem um site de uma variedade de ataques de aplicativos da web, como injeção de SQL, XSS e seqüestro de sessão, entre outras façanhas.

[Você também pode gostar: 5 ferramentas para digitalizar um servidor Linux em busca de malware e rootkits]

O ModSecurity O Firewall do aplicativo faz parte integrante de PCI DSS conformidade em locais de proteção de ataques externos. Quando o módulo é ativado, ele desencadeia um '403 Erro proibido', que simplesmente implica que você não tem permissões insuficientes para acessar o recurso no servidor da web.

Neste guia, mostraremos como configurar e configurar ModSecurity trabalhar com Apache sobre Debian e Ubuntu Linux.

Etapa 1: Instale o ModSecurity no Ubuntu

O primeiro passo é instalar ModSecurity. Começaremos, primeiro, atualizando as listas de pacotes da seguinte forma:

$ sudo apt update 

Em seguida, instale o ModSecurity pacote ao lado de outras dependências e bibliotecas.

$ sudo apt install libapache2-mod-security2 
Instale o ModSecurity no Ubuntu

Depois, ative o módulo.

$ sudo a2enmod security2 

Em seguida, reinicie o servidor da web do Apache para aplicar as alterações.

$ sudo systemctl reiniciar apache2 

Neste ponto, ModSecurity é instalado com sucesso. Vamos agora configurá -lo.

Etapa 2: Configurar o ModSecurity no Ubuntu

Por padrão, ModSecurity está configurado apenas para detectar e registrar atividades suspeitas. Precisamos dar uma etapa extra e configurá -lo para não apenas detectar, mas também bloquear atividades suspeitas.

Cópia, o padrão ModSecurity arquivo de configuração - ModSecurity.conferido - para um novo arquivo, conforme fornecido no comando abaixo.

$ sudo cp/etc/modsecurity/modsecurity.confidenciado/etc/modsecurity/modsecurity.conf 

Usando seu editor de texto preferido, abra o arquivo

$ sudo nano/etc/modsecurity/modsecurity.conf 

Localize a linha:

SecruleenGine DetectionOnly 

Defina -o como:

SecruleenGine On 
Configure o ModSecurity no Ubuntu

Salve as alterações e saia do arquivo.

Para aplicar as mudanças em Apache, Reinicie o servidor da web.

$ sudo systemctl reiniciar apache2 

Etapa 3: Baixe o Owasp ModSecurity Core RulesSet

A próxima etapa é baixar o mais recente Owasp ModSecurity Core Regra Set (CRS) da página do Github.

Clone o repositório OWASP Git, como mostrado.

$ git clone https: // github.com/coreruleset/coreruleset.git 

Navegue no diretório.

$ CD Coreruleset/ 

Certifique -se de mover o CRS-setup.conf.exemplo arquivo para o diretório ModSecurity e renomeie -o como CRS-setup.conf.

$ sudo mv CRS-setup.conf.Exemplo/etc/modSecurity/CRS-setup.conf 

Além disso, mova o regras diretório para o ModSecurity diretório também.

$ sudo mv regras//etc/modsecurity/ 

Em seguida, edite o segurança2.conf arquivo.

$ sudo nano/etc/apache2/mods-inabled/security2.conf 

Verifique se ele contém as seguintes linhas.

Incluir opcional/etc/modsecurity/*.conf incluir/etc/modsecurity/regras/*.conf 
Configurar regras de ModSecurity no Ubuntu

Em seguida, reinicie Apache Para as mudanças persistem.

$ sudo systemctl reiniciar apache2 

Vamos agora testar nossa configuração ModSecurity.

Etapa 4: testando a configuração do ModSecurity no Ubuntu

Por fim, precisamos testar isso ModSecurity pode detectar e bloquear o tráfego HTTP suspeito. Para conseguir isso, precisamos editar o arquivo de host virtual padrão.

$ sudo nano/etc/apache2/sites-averable/000-default.conf 

Em seguida, criaremos uma regra de bloqueio que bloqueará o acesso a um determinado URL quando acessado por um navegador da web.

Anexar essas linhas no final antes do 'VirtualHost'Tag de fechamento.

SecruleenGine on Secrule Args: testParam "@Contains Test" "ID: 254, negar, status: 403, msg: 'teste bem -sucedido'" 

Sinta -se à vontade para definir o 'eu ia' e 'msg'Tags para quaisquer valores desejáveis.

Modsecurity de teste no Ubuntu

Em seguida, reinicie o Apache SERVER WEB para aplicar as alterações feitas no arquivo de configuração do host virtual.

$ sudo systemctl reiniciar apache2 

No seu navegador da web, tente visitar o URL mostrado com ?testParam = teste no final.

http: // server-ip/?testParam = teste 

Você recebe um '403 Erro proibido' indicando que você foi impedido de acessar o recurso.

ModSecurity 403 Erro proibido

Você pode confirmar ainda que o cliente foi bloqueado verificando os logs de erros da seguinte forma.

$ cat/var/log/apache2/erro.log | grep “teste bem -sucedido” 
Verifique os logs do Apache

[Você também pode gostar: como instalar o ModSecurity para o nginx no Debian/Ubuntu]

Esta é a confirmação que configuramos com sucesso ModSecurity Para detectar e bloquear o tráfego indesejado. Neste guia, nós o levamos pelo processo de configuração ModSecurity com Apache sobre Debian/Ubuntu sistemas.