segunda-feira, 8 de setembro de 2014


Integrando o Mod Security ao Apache

Bem, nessa semana vamos aprender a integrar o mod security ao apache.
O que fizemos na semana passada foi apenas instalar o mod security,
mas ele ainda não se encontra ativo no sistema.

O comando make install apenas adiciona os modulos que o mod security
precisa, ao apache, mas não o habilita, vamos ver mais a frente como
habilita-lo.

Nos fizemos uma instalação padrão, mas caso queira personalizar a
instalação, o mod security possui um help bem completo.
$./configure --help

como um pequeno exemplo temos as seguintes features:**O comando acima nos
mostra muito mais que isso.

Optional Features:
 --disable-option-checking  ignore unrecognized --enable/--with options
 --disable-FEATURE    do not include FEATURE (same as --enable-FEATURE=no)
 --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
 --enable-silent-rules   less verbose build output (undo: "make V=1")
 --disable-silent-rules  verbose build output (undo: "make V=0")
 --enable-dependency-tracking
                      do not reject slow dependency extractors
 --disable-dependency-tracking
                      speeds up one-time build
 --enable-shared[=PKGS]  build shared libraries [default=yes]
 --enable-static[=PKGS]  build static libraries [default=yes]
 --enable-fast-install[=PKGS]
                      optimize for fast installation [default=yes]
 --disable-libtool-lock  avoid locking (might break parallel builds)
 --disable-apache2-module
                      Disable building Apache2 module.


Quando terminar a instalação, o mod security cria por padrão a o diretorio,
com a seguinte estrutura:
/usr/local/modsecurity/
├── bin
│   ├── mlogc
│   ├── mlogc-batch-load.pl
│   └── rules-updater.pl
└── lib
└── mod_security2.so

execute o comando abaixo para verificar se a lib mod_security2.so
ja se encontra no diretorio /etc/httpd/modules/
ls -l /etc/httpd/modules/ | grep mod_sec

caso a lib não esteja no diretorio, podem copia-la com o comando abaixo:

cp /usr/local/modsecurity/lib/mod_security2.so  /etc/httpd/modules/


Se estiver usando uma versão 6.x ou anterio do RedHat, vamos editar
o /etc/httpd/conf/httpd.conf

vim /etc/httpd/conf/httpd.conf

Se ja estiver usando um derivado do RedHat 7.x vamos editar o
/etc/httpd/conf.modules.d/00-base.conf

vim /etc/httpd/conf.modules.d/00-base.conf

e vamos adicionar as seguinte linhas, ao arquivo.

32-Bits
LoadFile /usr/lib/libxml2.so
LoadFile /usr/lib/liblua-5.1.so
64-Bits
LoadFile /usr/lib64/libxml2.so
LoadFile /usr/lib64/liblua-5.1.so



LoadModule security2_module modules/mod_security2.so

Agora é reiniciar o Apache.

Caso se depare com o erro abaixo:

AH00526: Syntax error on line 218 of /etc/httpd/conf.d/modsecurity.conf:
Could not open unicode map file "/etc/httpd/conf.d/unicode.mapping": No such file or directory

basta voltar ao diretorio onde se encontram os fontes do mod_security e copiar o arquivo
unicode.mapping.

cp unicode.mapping /etc/httpd/conf.d/

Agora o mod security ja se encontra ativo.
Em nosso proximo artigo veremos como habilitar o no NGINX e talvez no IIS.
Vamos tambem ter uma geral do arquivo de configuração do mod_security.










Nenhum comentário:

Postar um comentário