SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
facebook.com/groups/facimplinux
Mini-Curso
www.escolahacker.com.br
ImperatriX hackerspacema
groups.google.com/group/hackerspacema
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
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
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.
O módulo ModSecurity
O módulo ModSecurity
Referências
● https://www.modsecurity.org
● https://github.com/SpiderLabs/ModSecurity/w
iki/Reference-
Manual#RealTime_Monitoring_and_Attack_Detec
tion
● http://www.darknet.org.uk/2015/11/modsecuri
ty-open-source-web-application-firewall/
facebook.com/groups/facimplinux
Seminário Institucional 2016
www.escolahacker.com.br
ImperatriX hackerspacema
groups.google.com/group/hackerspacema

Mais conteúdo relacionado

Mais procurados

WordPress - Segurança, Performance e Optimização
WordPress - Segurança, Performance e OptimizaçãoWordPress - Segurança, Performance e Optimização
WordPress - Segurança, Performance e Optimizaçãowebtugahosting
 
WordPress Braga Meetup - Segurança, Performance e Optimização
WordPress Braga Meetup - Segurança, Performance e OptimizaçãoWordPress Braga Meetup - Segurança, Performance e Optimização
WordPress Braga Meetup - Segurança, Performance e OptimizaçãoTeotonio Leiras
 
WordPress Multisite: Desenvolvendo Portais com Sites Interligados.
WordPress Multisite: Desenvolvendo Portais com Sites Interligados.WordPress Multisite: Desenvolvendo Portais com Sites Interligados.
WordPress Multisite: Desenvolvendo Portais com Sites Interligados.Nícholas André
 
Comet - ReverseAjax com DWR - Resumo
Comet - ReverseAjax com DWR - ResumoComet - ReverseAjax com DWR - Resumo
Comet - ReverseAjax com DWR - ResumoHanderson Frota
 
WordPress Multisite: O que são, onde vivem, do que se alimentam?
WordPress Multisite: O que são, onde vivem, do que se alimentam?WordPress Multisite: O que são, onde vivem, do que se alimentam?
WordPress Multisite: O que são, onde vivem, do que se alimentam?Rudá Almeida
 
Dicas de navegacão - Pós EAD 2019
Dicas de navegacão - Pós EAD 2019Dicas de navegacão - Pós EAD 2019
Dicas de navegacão - Pós EAD 2019Henrique Oliveira
 
Ambientação ADM - dicas de navegação - 1º semestre 2017
Ambientação ADM - dicas de navegação - 1º semestre 2017Ambientação ADM - dicas de navegação - 1º semestre 2017
Ambientação ADM - dicas de navegação - 1º semestre 2017Henrique Oliveira
 

Mais procurados (10)

WordPress - Segurança, Performance e Optimização
WordPress - Segurança, Performance e OptimizaçãoWordPress - Segurança, Performance e Optimização
WordPress - Segurança, Performance e Optimização
 
Wordpress multisite
Wordpress multisiteWordpress multisite
Wordpress multisite
 
WordPress Braga Meetup - Segurança, Performance e Optimização
WordPress Braga Meetup - Segurança, Performance e OptimizaçãoWordPress Braga Meetup - Segurança, Performance e Optimização
WordPress Braga Meetup - Segurança, Performance e Optimização
 
WordPress Multisite: Desenvolvendo Portais com Sites Interligados.
WordPress Multisite: Desenvolvendo Portais com Sites Interligados.WordPress Multisite: Desenvolvendo Portais com Sites Interligados.
WordPress Multisite: Desenvolvendo Portais com Sites Interligados.
 
Comet - ReverseAjax com DWR - Resumo
Comet - ReverseAjax com DWR - ResumoComet - ReverseAjax com DWR - Resumo
Comet - ReverseAjax com DWR - Resumo
 
PHP FrameWARks - CakePHP
PHP FrameWARks - CakePHPPHP FrameWARks - CakePHP
PHP FrameWARks - CakePHP
 
WordPress Multisite: O que são, onde vivem, do que se alimentam?
WordPress Multisite: O que são, onde vivem, do que se alimentam?WordPress Multisite: O que são, onde vivem, do que se alimentam?
WordPress Multisite: O que são, onde vivem, do que se alimentam?
 
Dicas de navegacão - Pós EAD 2019
Dicas de navegacão - Pós EAD 2019Dicas de navegacão - Pós EAD 2019
Dicas de navegacão - Pós EAD 2019
 
Importante
ImportanteImportante
Importante
 
Ambientação ADM - dicas de navegação - 1º semestre 2017
Ambientação ADM - dicas de navegação - 1º semestre 2017Ambientação ADM - dicas de navegação - 1º semestre 2017
Ambientação ADM - dicas de navegação - 1º semestre 2017
 

Semelhante a #MINI-CURSO - ModSecurity: Servidor Web Apache com um Módulo de Segurança

MÓDULO I - PREPARANDO O AMBIENTE GROCERY CRUD
MÓDULO I - PREPARANDO O AMBIENTE GROCERY CRUDMÓDULO I - PREPARANDO O AMBIENTE GROCERY CRUD
MÓDULO I - PREPARANDO O AMBIENTE GROCERY CRUDOrlindo Saraiva
 
VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...
VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...
VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...Dextra Sistemas / Etec Itu
 
Vale Security Conference - 2011 - 6 - Thiago Bordini
Vale Security Conference - 2011 - 6 - Thiago BordiniVale Security Conference - 2011 - 6 - Thiago Bordini
Vale Security Conference - 2011 - 6 - Thiago BordiniVale Security Conference
 
Construção e provisionamento de ambientes de desenvolvimento virtualizados
Construção e provisionamento de ambientes  de desenvolvimento virtualizadosConstrução e provisionamento de ambientes  de desenvolvimento virtualizados
Construção e provisionamento de ambientes de desenvolvimento virtualizadosThiago Rodrigues
 
Como criar módulos para magento 2
Como criar módulos para magento 2Como criar módulos para magento 2
Como criar módulos para magento 2Rafael Corrêa Gomes
 
Tutorial - Cloud Computing Primeiros Acessos Linux
Tutorial - Cloud Computing Primeiros Acessos LinuxTutorial - Cloud Computing Primeiros Acessos Linux
Tutorial - Cloud Computing Primeiros Acessos LinuxTecla Internet
 
TDC2018SP | Trilha Containers - ASGARD: Abstraindo orquestradores de containers
TDC2018SP | Trilha Containers - ASGARD: Abstraindo orquestradores de containers TDC2018SP | Trilha Containers - ASGARD: Abstraindo orquestradores de containers
TDC2018SP | Trilha Containers - ASGARD: Abstraindo orquestradores de containers tdc-globalcode
 
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação Web
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação WebDjango Módulo Básico Parte I - Desenvolvimento de uma aplicação Web
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação Webantonio sérgio nogueira
 
Programação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente WebProgramação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente WebIsrael Messias
 
Apresentação "O CMS Seguro"
Apresentação "O CMS Seguro"Apresentação "O CMS Seguro"
Apresentação "O CMS Seguro"ISCTE
 
Apresentação PGDAY - instalação e configuração - PostgreSQL
Apresentação PGDAY - instalação e configuração - PostgreSQLApresentação PGDAY - instalação e configuração - PostgreSQL
Apresentação PGDAY - instalação e configuração - PostgreSQLJohnes Castro
 
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse VirgoModularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse VirgoRegis Machado
 
Canit AntiSpam Technology Report by Linux Magazine
Canit AntiSpam Technology Report by Linux MagazineCanit AntiSpam Technology Report by Linux Magazine
Canit AntiSpam Technology Report by Linux MagazineMariana Sousa
 
Controlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e SubversionControlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e Subversionlekitamura
 
Documentação CakePHP - Português Br
Documentação CakePHP -  Português BrDocumentação CakePHP -  Português Br
Documentação CakePHP - Português BrLuiz Ladeira
 

Semelhante a #MINI-CURSO - ModSecurity: Servidor Web Apache com um Módulo de Segurança (20)

MÓDULO I - PREPARANDO O AMBIENTE GROCERY CRUD
MÓDULO I - PREPARANDO O AMBIENTE GROCERY CRUDMÓDULO I - PREPARANDO O AMBIENTE GROCERY CRUD
MÓDULO I - PREPARANDO O AMBIENTE GROCERY CRUD
 
VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...
VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...
VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...
 
Mysql for IBMers
Mysql for IBMersMysql for IBMers
Mysql for IBMers
 
Vale Security Conference - 2011 - 6 - Thiago Bordini
Vale Security Conference - 2011 - 6 - Thiago BordiniVale Security Conference - 2011 - 6 - Thiago Bordini
Vale Security Conference - 2011 - 6 - Thiago Bordini
 
Construção e provisionamento de ambientes de desenvolvimento virtualizados
Construção e provisionamento de ambientes  de desenvolvimento virtualizadosConstrução e provisionamento de ambientes  de desenvolvimento virtualizados
Construção e provisionamento de ambientes de desenvolvimento virtualizados
 
Como criar módulos para magento 2
Como criar módulos para magento 2Como criar módulos para magento 2
Como criar módulos para magento 2
 
Tutorial - Cloud Computing Primeiros Acessos Linux
Tutorial - Cloud Computing Primeiros Acessos LinuxTutorial - Cloud Computing Primeiros Acessos Linux
Tutorial - Cloud Computing Primeiros Acessos Linux
 
Cake Php
Cake PhpCake Php
Cake Php
 
Java Seminar
Java SeminarJava Seminar
Java Seminar
 
TDC2018SP | Trilha Containers - ASGARD: Abstraindo orquestradores de containers
TDC2018SP | Trilha Containers - ASGARD: Abstraindo orquestradores de containers TDC2018SP | Trilha Containers - ASGARD: Abstraindo orquestradores de containers
TDC2018SP | Trilha Containers - ASGARD: Abstraindo orquestradores de containers
 
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação Web
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação WebDjango Módulo Básico Parte I - Desenvolvimento de uma aplicação Web
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação Web
 
Programação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente WebProgramação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente Web
 
Apresentação "O CMS Seguro"
Apresentação "O CMS Seguro"Apresentação "O CMS Seguro"
Apresentação "O CMS Seguro"
 
Apresentação PGDAY - instalação e configuração - PostgreSQL
Apresentação PGDAY - instalação e configuração - PostgreSQLApresentação PGDAY - instalação e configuração - PostgreSQL
Apresentação PGDAY - instalação e configuração - PostgreSQL
 
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse VirgoModularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
 
Mercurial hg
Mercurial hgMercurial hg
Mercurial hg
 
Canit AntiSpam Technology Report by Linux Magazine
Canit AntiSpam Technology Report by Linux MagazineCanit AntiSpam Technology Report by Linux Magazine
Canit AntiSpam Technology Report by Linux Magazine
 
Controlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e SubversionControlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e Subversion
 
Apostila metasploit
Apostila metasploitApostila metasploit
Apostila metasploit
 
Documentação CakePHP - Português Br
Documentação CakePHP -  Português BrDocumentação CakePHP -  Português Br
Documentação CakePHP - Português Br
 

#MINI-CURSO - ModSecurity: Servidor Web Apache com um Módulo de Segurança

  • 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.