ModSecurity 2 – Instalação e Configuração para Ubuntu 9.04 e Debian 5.04
Home »
Blog »
ModSecurity 2 – Instalação e Configuração para Ubuntu 9.04 e Debian 5.04
Padrão internacional de certificação muito comum para Infraestruturas de Chaves Públicas (ICP). Os certificados X.509 são assinados por Autoridades Certificadoras (AC), que atestam confiar nos dados contidos naquele certificado, garantindo sua autenticidade e validade jurídica.Padrão internacional de certificação muito comum para Infraestruturas de Chaves Públicas (ICP). Os certificados X.509 são assinados por Autoridades Certificadoras (AC), que atestam confiar nos dados contidos naquele certificado, garantindo sua autenticidade e validade jurídica.Padrão internacional de certificação muito comum para Infraestruturas de Chaves Públicas (ICP). Os certificados X.509 são assinados por Autoridades Certificadoras (AC), que atestam confiar nos dados contidos naquele certificado, garantindo sua autenticidade e validade jurídica.WPadrão internacional de certificação muito comum para Infraestruturas de Chaves Públicas (ICP). Os certificados X.509 são assinados por Autoridades Certificadoras (AC), que atestam confiar nos dados contidos naquele certificado, garantindo sua autenticidade e validade jurídica.oPadrão internacional de certificação muito comum para Infraestruturas de Chaves Públicas (ICP). Os certificados X.509 são assinados por Autoridades Certificadoras (AC), que atestam confiar nos dados contidos naquele certificado, garantindo sua autenticidade e validade jurídica.rm de computador projetado especificamente para atacar o sistema operacional SCADA, desenvolvido pela Siemens para controlar as centrífugas de enriquecimento de urânio iranianas.Worm de computador projetado especificamente para atacar o sistema operacional SCADA, desenvolvido pela Siemens para controlar as centrífugas de enriquecimento de urânio iranianas.Worm de computador projetado especificamente para atacar o sistema operacional SCADA, desenvolvido pela Siemens para controlar as centrífugas de enriquecimento de urânio iranianas.tWorm de computador projetado especificamente para atacar o sistema operacional SCADA, desenvolvido pela Siemens para controlar as centrífugas de enriquecimento de urânio iranianas.éWorm de computador projetado especificamente para atacar o sistema operacional SCADA, desenvolvido pela Siemens para controlar as centrífugas de enriquecimento de urânio iranianas.cnica de transferência de dados, onde os dados são processados em fluxo contínuo, o que permite que o conteúdo seja reproduzido antes de ser completamente enviado. Um exemplo do uso dessa tecnologia é o Youtube, onde os usuários podem assistir a um vídeo (e ouvir o áudio) enquanto ele ainda está sendo carregado.técnica de transferência de dados, onde os dados são processados em fluxo contínuo, o que permite que o conteúdo seja reproduzido antes de ser completamente enviado. Um exemplo do uso dessa tecnologia é o Youtube, onde os usuários podem assistir a um vídeo (e ouvir o áudio) enquanto ele ainda está sendo carregado.técnica de transferência de dados, onde os dados são processados em fluxo contínuo, o que permite que o conteúdo seja reproduzido antes de ser completamente enviado. Um exemplo do uso dessa tecnologia é o Youtube, onde os usuários podem assistir a um vídeo (e ouvir o áudio) enquanto ele ainda está sendo carregado.Ftécnica de transferência de dados, onde os dados são processados em fluxo contínuo, o que permite que o conteúdo seja reproduzido antes de ser completamente enviado. Um exemplo do uso dessa tecnologia é o Youtube, onde os usuários podem assistir a um vídeo (e ouvir o áudio) enquanto ele ainda está sendo carregado.etécnica de transferência de dados, onde os dados são processados em fluxo contínuo, o que permite que o conteúdo seja reproduzido antes de ser completamente enviado. Um exemplo do uso dessa tecnologia é o Youtube, onde os usuários podem assistir a um vídeo (e ouvir o áudio) enquanto ele ainda está sendo carregado.nômeno em que as pessoas levam para o trabalho as tecnologias que estão acostumadas a usar em casa ou na rua, como softwares, redes sociais, tablets e smartphones.Fenômeno em que as pessoas levam para o trabalho as tecnologias que estão acostumadas a usar em casa ou na rua, como softwares, redes sociais, tablets e smartphones.IFenômeno em que as pessoas levam para o trabalho as tecnologias que estão acostumadas a usar em casa ou na rua, como softwares, redes sociais, tablets e smartphones.nFenômeno em que as pessoas levam para o trabalho as tecnologias que estão acostumadas a usar em casa ou na rua, como softwares, redes sociais, tablets e smartphones.tFenômeno em que as pessoas levam para o trabalho as tecnologias que estão acostumadas a usar em casa ou na rua, como softwares, redes sociais, tablets e smartphones.rodução:
O ModSecurity é um firewall de aplicaçãoAplicação Web é todo aplicativo/site acessado por meio do navegador (browser) de seu computador. A capacidade de atualizar e manter aplicações Web sem a necessidade de instalar softwares em diversos computadores é uma das principais razões de sua popularidade. Exemplos de aplicações Web comuns: webmail, lojas virtuais (vendas online), sistemas de gerenciamento, ERPEnterprise Resource Planning, em português: Sistema Integrado de Gestão Empresarial. Sistema de informação que integra todos os dados e processos de uma organização em um único sistema, possibilitando a automação e o armazenamento de todas as informações de negócios., CRMCRM (Customer Relationship Management, em português: Gestão de Relacionamento com o Cliente) define uma classe de atitudes, ferramentas e sistemas informatizados que automatizam as funções de contato com o cliente. A estratégia é colocar o cliente no centro dos processos do negócio, a fim de antecipar e suprir suas necessidades da melhor forma. Os softwares que auxiliam essa gestão são denominados sistemas de CRM., leilões online. de código livre que roda como um módulo do servidor Web Apache e possui versões para Linux e Windows. O firewall de aplicaçãoAplicação Web é todo aplicativo/site acessado por meio do navegador (browser) de seu computador. A capacidade de atualizar e manter aplicações Web sem a necessidade de instalar softwares em diversos computadores é uma das principais razões de sua popularidade. Exemplos de aplicações Web comuns: webmail, lojas virtuais (vendas online), sistemas de gerenciamento, ERPEnterprise Resource Planning, em português: Sistema Integrado de Gestão Empresarial. Sistema de informação que integra todos os dados e processos de uma organização em um único sistema, possibilitando a automação e o armazenamento de todas as informações de negócios., CRMCRM (Customer Relationship Management, em português: Gestão de Relacionamento com o Cliente) define uma classe de atitudes, ferramentas e sistemas informatizados que automatizam as funções de contato com o cliente. A estratégia é colocar o cliente no centro dos processos do negócio, a fim de antecipar e suprir suas necessidades da melhor forma. Os softwares que auxiliam essa gestão são denominados sistemas de CRM., leilões online., também conhecido como WAF (Web Application Firewall) tem por objetivo bloquear diversos tipos de ataques, como o Cross-Site ScriptingÉ uma vulnerabilidade em aplicações Web que permite a inserção de ações não esperadas em campos de entrada de dados não tratados. Depende de um usuário acessar a URL/porção de código maliciosamente preparado. (XSSÉ uma vulnerabilidade em aplicações Web que permite a inserção de ações não esperadas em campos de entrada de dados não tratados. Depende de um usuário acessar a URL/porção de código maliciosamente preparado.), SQL Injection, Command Injection, ASP e PHP Injection, TrojanPrograma que se passa por um “presente” (por exemplo, cartões virtuais, álbum de fotos, protetor de tela, jogo etc.) que, além de executar as funções para as quais foi aparentemente projetado, também executa funções maliciosas sem o conhecimento do usuário.s & Backdoors Detection, dentre outros, que variam de acordo com as regras existentes.
Apesar do conjunto de regras pre-existentes no ModSecurity ser funcional, a OWASP mantém um projeto que possui um conjunto de regras mais elaboradas e atualizadas, o ModSecurity Core Rule Set Project. Também é possível fazer o download de outras regras na Internet, sites de segurança ou ainda criar suas próprias regras e alterar as já existentes.
Nesse tutorial será descrito como efetuar uma completa instalação da versão 2.5.12 do Modsecurity de modo que não haja erros durante a instalação.
Para instalar o ModSecurity, você deve ter o Apache instalado. Se não tiver, você deve instalá-lo, conforme a seguir:
# sudo apt-get –f install apache2
É importante configurar a opção -f no apt-get para o aplicativo já procurar e tentar instalar as possíveis dependências do Apache2. Depois verifique se o Apache está rodando corretamente com o comando:
# /etc/init.d/apache2 status
E inicie o serviço, caso não esteja rodando:
# /etc/init.d/apache2 start
Agora, vamos criar uma página php vulnerável para podermos testar o comportamento da aplicaçãoAplicação Web é todo aplicativo/site acessado por meio do navegador (browser) de seu computador. A capacidade de atualizar e manter aplicações Web sem a necessidade de instalar softwares em diversos computadores é uma das principais razões de sua popularidade. Exemplos de aplicações Web comuns: webmail, lojas virtuais (vendas online), sistemas de gerenciamento, ERPEnterprise Resource Planning, em português: Sistema Integrado de Gestão Empresarial. Sistema de informação que integra todos os dados e processos de uma organização em um único sistema, possibilitando a automação e o armazenamento de todas as informações de negócios., CRMCRM (Customer Relationship Management, em português: Gestão de Relacionamento com o Cliente) define uma classe de atitudes, ferramentas e sistemas informatizados que automatizam as funções de contato com o cliente. A estratégia é colocar o cliente no centro dos processos do negócio, a fim de antecipar e suprir suas necessidades da melhor forma. Os softwares que auxiliam essa gestão são denominados sistemas de CRM., leilões online. antes e o depois do ModSecurity.
# vi /var/www/index.php
<? $secret_file = $_GET['secret_file'];
include ($secret_file);?>
Para salvar e sair do vi: (ESC : x)
Agora, faça a requisição para a página criada usando seu navegado, curl ou links, com a seguinte sintaxe:
http://localhost/index.php?secret_file=/etc/passwd
===================================================================================

===================================================================================
Observe que ao invés de mostrar o conteúdo da página, a requisição traz o conteúdo do arquivo de senhas (passwd), isso porque no arquivo que criamos inserimos propositalmente uma vulnerabilidade que permite apontar para qualquer arquivo do sistema operacional por meio da variável “secret_file”.
Agora, vamos partir para a instalação do ModSecurity para ver se a mesma vulnerabilidade poderá ser explorada com o Firewall de aplicaçãoAplicação Web é todo aplicativo/site acessado por meio do navegador (browser) de seu computador. A capacidade de atualizar e manter aplicações Web sem a necessidade de instalar softwares em diversos computadores é uma das principais razões de sua popularidade. Exemplos de aplicações Web comuns: webmail, lojas virtuais (vendas online), sistemas de gerenciamento, ERPEnterprise Resource Planning, em português: Sistema Integrado de Gestão Empresarial. Sistema de informação que integra todos os dados e processos de uma organização em um único sistema, possibilitando a automação e o armazenamento de todas as informações de negócios., CRMCRM (Customer Relationship Management, em português: Gestão de Relacionamento com o Cliente) define uma classe de atitudes, ferramentas e sistemas informatizados que automatizam as funções de contato com o cliente. A estratégia é colocar o cliente no centro dos processos do negócio, a fim de antecipar e suprir suas necessidades da melhor forma. Os softwares que auxiliam essa gestão são denominados sistemas de CRM., leilões online. instalado:
Instalação do ModSecurity
Agora que temos o Apache rodando, vamos fazer o download do ModSecurity.
# wget http://www.modsecurity.org/download/modsecurity-apache_2.5.12.tar.gz
Descompacte o arquivo e entre no diretório criado:
# tar zxvf modsecurity-apache_2.5.12.tar.gz
# cd modsecurity-apache_2.5.12/apache2
ATENÇÃO: Essa parte é muito importante, pois o ModSecurity necessita de uma ferramenta, o apxs ou apxs2 (APache eXtension Tool) para sua perfeita instalação. Antes de prosseguir, verifique se ele existe:
# find / -name apxs*
Se já existir ótimo, já é possível começar a instalar o ModSecurity. Caso não exista, teremos que instalar alguns pacotes que trazem o apxs:
# sudo apt-get -f install libxml2-dev liblua5.1-0 lua5.1 apache2-threaded-dev
Agora já podemos instalar o ModSecurity!
# sudo ./configure && make && make install
Após a instalação, deverá aparecer a seguinte mensagem:
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
———————————————————————-
Altere a permissão do arquivo abaixo e reinicie o sistema.
# chmod 644 /usr/lib/apache2/modules/mod_security2.so
Quando o sistema subir, iremos alterar o arquivo de configuração de módulos do Apache para carregar os módulos do ModSecurity:
# sudo vi /etc/apache2/mods-available/mod-security2.load
E adicionamos as seguintes linhas:
LoadFile /usr/lib/libxml2.so
LoadFile /usr/lib/liblua5.1.so.0
LoadModule security2_module /usr/lib/apache2/modules/mod_security2.so
Salve e feche o arquivo.
Agora, vamos ativar os módulos adicionados:
# sudo a2enmod mod-security2
# sudo a2enmod unique_id
Deve aparecer a seguinte mensagem para ambos os comandos, mas ainda não há necessidade de reiniciar o serviço.
Run ‘/etc/init.d/apache2 restart’ to activate new configuration!
Configuração
Vamos configurar o ModSecurity:
# sudo vi /etc/apache2/conf.d/mod-security2.conf
# Include /etc/modsecurity2/*.conf
Salve e feche o arquivo.
Vamos criar um diretório para o ModSecurity e copiar as regras de detecção para o diretório criado:
# sudo mkdir /etc/modsecurity2
# sudo cp modsecurity-apache_2.5.12/rules/*.conf /etc/modsecurity2/
# sudo cp rules/base_rules/*.conf /etc/modsecurity2/
Precisamos criar também o diretório e arquivos de log e debug:
# mkdir /var/log/modsecurity2
# touch /var/log/modsecurity2/modsec_audit.log
# touch /var/log/modsecurity2/modsec_debug.log
E atualizar a localização desses arquivos no arquivo de configuração:
#sudo vi /etc/modsecurity2/modsecurity_crs_10_config.conf
Adicione o seguinte script no meio do arquivo.
#++++ Configure ModSecurity +++++
SecDebugLog /var/log/modsecurity2/modsec_debug.log
SecAuditLog /var/log/modsecurity2/modsec_audit.log
Salve e feche o arquivo.
Agora, vamos verificar se a configuração do Apache está correta com o comando:
# sudo apache2ctl configtest
Deverá retornar a mensagem “Syntax OK”
E, por último, vamos reiniciar o Apache:
# sudo /etc/init.d/apache2 restart
Verifique se o ModSecurity está rodando junto com o Apache:
# sudo cat /var/log/apache2/error.log | grep ModSecurity
Pronto! Se aparecer a mensagem abaixo seu ModSecurity está rodando!
[Mon Apr 26 08:47:07 2010] [notice] ModSecurity for Apache/2.5.12 (http://www.modsecurity.org/) configured
Agora, vamos realizar o teste novamente para ver se conseguimos explorar a vulnerabilidade testada anteriormente.

Como podemos observar pela mensagem retornada “403 Forbidden – You don’t have permission to Access /índex.php on this server”, o ModSecurity bloqueou o acesso ao arquivo índex.php, uma vez que por trás dele havia uma função maliciosa (ler o arquivo de senhas “passwd”).
Este é só um exemplo de como um firewall de aplicaçãoAplicação Web é todo aplicativo/site acessado por meio do navegador (browser) de seu computador. A capacidade de atualizar e manter aplicações Web sem a necessidade de instalar softwares em diversos computadores é uma das principais razões de sua popularidade. Exemplos de aplicações Web comuns: webmail, lojas virtuais (vendas online), sistemas de gerenciamento, ERPEnterprise Resource Planning, em português: Sistema Integrado de Gestão Empresarial. Sistema de informação que integra todos os dados e processos de uma organização em um único sistema, possibilitando a automação e o armazenamento de todas as informações de negócios., CRMCRM (Customer Relationship Management, em português: Gestão de Relacionamento com o Cliente) define uma classe de atitudes, ferramentas e sistemas informatizados que automatizam as funções de contato com o cliente. A estratégia é colocar o cliente no centro dos processos do negócio, a fim de antecipar e suprir suas necessidades da melhor forma. Os softwares que auxiliam essa gestão são denominados sistemas de CRM., leilões online. pode ajudar a “tapar buracos” de uma aplicação mal desenvolvida, enquanto se providencia um código seguro, com os devidos controles de segurança e livre de vulnerabilidades.
Até a próxima!
Discussão
Kra fiz toda instalacao porem ao realizar o teste no pagina com vulnerabilidade acessou normalmente nao teve nenhum bloqueio e nao logou nada.
poderia dar uma ajuda?
Oi Guilherme. Vc está utilizando que sistema operacional e apache? O comando # sudo apache2ctl configtest retorna alguma mensagem de erro?
[]´s
Então kra no dia eu acabei descobrindo o que era, na regra de conf do modsecurity estava só para detectonly, ai mudei pra On e funcionou… rsrsrs to aprendendo mexer com isso, agora eu precisava enviar os logs do modsecurity para um syslog remoto você sabe algo sobre isso?
abraços!