Mini-Curso
Servidor Web Apache com um Módulo de Servidor Web Apache com um Módulo de
Segurança: Uma combinação extra para Segurança: Uma combinação extra para
proteger servidoresproteger servidores
Prof. Esp. Paulo Henrique S. Barbosa
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: [email protected] [email protected]
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.
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.
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.
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,
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.
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!
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
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
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"
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.
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.