Dando sequencia a nossa serie, vamos instalar o mod_security no web server NGINX.
Se tiver feito a instalação do NGINX usando o repositorio, podem verificar se o módulo para o mod_security esta habilitado, com o comando:
- strings /usr/sbin/nginx | grep -i sec //Pasta onde se encontra o binario do NGINX
se não tiver retorno, sera necessario recompilar o NGINX, caso ja esteja instalado ou fazer uma instalação usando os fontes.
No momento dessa materia, a versão abaixo era a mais atual (http://wiki.nginx.org/Install)
- wget http://nginx.org/download/nginx-1.6.0.tar.gz
**Sera abortado a instalação do NGINX, apenas, de maneira superficial, pois, não é o nosso objetivo**
Instalação do ModSecurity( A instalação é baseada em derivados RedHat)
Primeiro vamos instalar todas as dependencias
- yum install gcc make libxml2 libxml2-devel httpd-dev pcre-devel curl-devel
Para a instalação do mod_security, vamos usar o git (yum install git), e baixar a versão mais recente do projeto.
- git clone git://github.com/SpiderLabs/ModSecurity.git
- cd ModSecurity
- ./autogen.sh
- ./configure --enable-standalone-module --disable-mlogc
- make
- make install
**Em caso de duvidas durante a instalação, favor voltar em nosso primeiro artigo.**
Sendo bem sucedida a nossa instalação, vamos instalar ou recompilar o NGINX
- tar zxvf nginx-1.6.0.tar.gz
- cd nginx-1.6.0/
- ./configure --add-module=../ModSecurity/nginx/modsecurity
- make && make install
Agora se executarmos o comando abaixo, nos temos um retorno
- strings /usr/local/nginx/sbin/nginx | grep -i modsec
As configurações do mod_security são definidas dentro de nginx.conf
Adicione as seguintes linhas dentro da diretiva location /
- ModSecurityEnabled on;
- ModSecurityConfig modsecurity.conf;
ex.
location / {
ModSecurityEnabled on;
ModSecurityConfig modsecurity.conf;
root html;
index index.html index.htm;
}
Bom, agora que ja temos o mod_sec compilado e pronto para rodar no web server de nossa preferencia,
vamo começar a olhar as configurações do mod_security.
Nesse primeiro momento vou apenas mostrar algumas das principais seções do arquivo de configuração e
a partir do proximo artigo, ja ir explicando de uma maneira um pouco mais detalhada.
É importante dizer que é bom passarmos por todas as configurações, porque, mesmo que não va usar nesse momento, voce pode
vir a precisar e é bom sabermos que temos a disposição.
Volto a dizer que:
O OBJETIVO DESSES ARTIGOS É EXPLICAR COMO O MOD_SECURITY FUNCIONA E COMO É SUA ESTRUTURA,
PARA QUE NÃO FIQUEMOS REFENS DE REGRAS ALHEIAS, TENDO EM VISTA QUE CADA UM TEM A SUA NECESSIDADE
Abaixo temos uma visão geral das diretivas padrões do mod_securit
**Tentei traduzir os itens abaixo, mas não ficou com e resolvi deixar em ingles mesmo.**
SecArgumentSeparator ---------- Sets the application/x-www-form-urlencoded parameter separator
SecCookieFormat ---------- Sets the cookie parser version
SecDataDir ---------- Sets the folder for persistent storage
SecRequestBodyAccess ---------- Controls request body buffering
SecRequestBodyInMemoryLimit ---------- Sets the size of the per-request memory buffer
SecRequestBodyLimit ---------- Sets the maximum request body size ModSecurity will accept
SecRequestBodyLimitAction ---------- Controls what happens once the request body limit is reached
SecRequestBodyNoFilesLimit ---------- Sets the maximum request body size, excluding uploaded files
SecResponseBodyAccess ---------- Controls response body buffering
SecResponseBodyLimit ---------- Specifies the response body buffering limit
SecResponseBodyLimitAction ---------- Controls what happens once the response body limit is reached
SecResponseBodyMimeType ---------- Specifies a list of response body MIME types to inspect
SecResponseBodyMimeTypesClear ---------- Clears the list of response body MIME types
SecRuleEngine ---------- Controls the operation of the rule engine
SecTmpDir ---------- Sets the folder for temporary files
No proximo artigo vamos continuar a ver a estrutura do mod_security e detalhar um pouco mais.
É muito importante vermos esses conceitos, para entendermos como o mod_security funciona.
Ref:
ModSecurity HandBook -- https://www.feistyduck.com/books/modsecurity-handbook/
http://blog.spiderlabs.com/
Valeu pelo material.
ResponderExcluir