2. Mini-Curso
Servidor Web Apache com um Módulo deServidor Web Apache com um Módulo de
Segurança: Uma combinação extra paraSegurança: Uma combinação extra para
proteger servidoresproteger servidores
Prof. Esp. Paulo Henrique S. Barbosa
3. root@server~#: whoami
Prof. Esp. Paulo Henrique Sousa Barbosa
– Professor, Analista de Sistemas e
Especialista em Segurança de Redes e
Computadores.
Site EAD: www.escolahacker.com.br
Contato: agenteph@gmail.com
ph@escolahacker.com.br
4. Agenda
● Módulos de Segurança;
– Servidor Web Apache e seus módulos;
● O módulo ModSecurity;
– Características;
– Funcionamento;
– Instalação;
– Configuração;
– Testes.
5. Servidor Web Apache e
seus módulos
● Um servidor web sozinho pode não dar conta
do recado...
● Para um crescimento bem intuitivo do
serviço, cada servidor disponibiliza
módulos – que são “plugins” para melhorar o
uso do mesmo.
● Existem módulos para melhorar a velocidade,
exibir arquivos, ícones e etc.
● Cada módulo deve ser ativado para tal, a
não ser que já seja ativado por padrão.
● Existem diretórios que contém vários desses
módulos. Vamos ver logo adiante.
6. O módulo ModSecurity
● ModSecurity é um módulo chamado Web
Application Firewall (WAF) que funciona com
o Apache, Nginx e IIS.
● Tem um mecanismo de regras flexíveis para
executar operações simples e complexas com
um Core Rule Set (CRS), que tem regras para
a SQL Injection, Cross Site Scripting,
Trojans, usuários com agentes ruins e etc.
● É em tempo real, monitorando, logando e com
controle de acesso.
7. O módulo ModSecurity
● Características:
– Controle da aplicação em tempo real e
monitoramento;
– Path em tempo real;
– Log de todo o tráfego http;
– Avaliação de Segurança Passiva Contínua;
– Rigidez em Aplicações Web.
– Pequeno e importante.
– Proteção contra DoS,
8. O módulo ModSecurity
● Funcionamento:
– Como qualquer módulo do Apache, ele é
ativado logo após de instalado.
– Por padrão nenhuma regra é ativada,
somente a detecção fica ativados.
9. O módulo ModSecurity
● Instalação:
– Usando a versão mais recente do Ubuntu:
– No Terminal use:
# sudo apt-get install apache2
# sudo apt-get install libapache2-mod-
security2
● Tamanho ~: 530Kb.
– Verificar se está ok:
# apachectl -M | security
– Se encontrar: “security2_module (shared)” ok!
10. O módulo ModSecurity
● Configuração:
– Renomeamos o arquivo de Conf:
# sudo mv /etc/modsecurity/modsecurity.conf-
recommended /etc/modsecurity/modsecurity.conf
– Reiniciamos o apache (web):
# /etc/init.d/apache2 restart
– Depois deste comando, é criado o arquivo
de log:
var/log/apache2/modsec_audit.log
11. O módulo ModSecurity
● Configuração:
– Abra os arquivo de Configuração:
# nano /etc/modsecurity/modsecurity.conf
● Alterar as seguintes linhas:
SecRuleEngine On
SecResponseBodyAccess Off
● Opcionais:
SecRequestBodyLimit 13107200
SecRequestBodyNoFilesLimit 131072
12. O módulo ModSecurity
● Configuração:
– Habilitando as regras CRC (Core Rule
Set):
# sudo nano /etc/apache2/mods-
enabled/security2.conf
– Acrescentar as linhas abaixo de
:IncludeOptional /etc/modsecurity/*.conf
IncludeOptional "/usr/share/modsecurity-
crs/*.conf"
IncludeOptional "/usr/share/modsecurity-
crs/activated_rules/*.conf"
13. O módulo ModSecurity
● Configuração:
– Vamos ao diretório das regras:
– # cd /usr/share/modsecurity-
crs/activated_rules/
– Criamos um link simbólico na pasta para
gerir a configuração:
– sudo ln -s
../base_rules/modsecurity_crs_41_sql_injecti
on_attacks.conf .
– Obs.: Dentro da pasta base_rules existem
várias outras regras que podem ser ativadas.
14. O módulo ModSecurity
● Testes:
– Agora reiniciamos o Servidor Web mais uma
vez:
# /etc/init.d/apache2 restart
– Podemos agora testar o ataque de Sql
Injection ou qualquer outra regra ativada.
– Vamos ver a demonstração.