Implementando servidor de aplicações PHP utilizando Zend Framework [Artigo] - página 19
[ Hits: 133.970 ]
Configurar no servidor apache uma ferramenta de detecção de intrusão pode ajudar na tomada de decisão ou na correção no fluxo da aplicação ou correção no arquivo .htaccess.
Sugere-se a ferramenta PHPIDS para analisar as tentativas de inserção de código ou tentativas de endereçamento de URL e outras tentativas. A cada tentativa logs são gerados, será necessário periodicamente verifica-los, ou se necessário criar uma rotina para informar a ocorrência.
O processo de instalação é simples, porém necessita de configurações em alguns arquivos da ferramenta e do servidor apache, portanto siga os passos abaixo para fazer a instalação e configuração.
Escolha o diretório de instalação, se preferir pode utilizar a pasta compartilhada do php que se encontra em /usr/share/Zend é importante separar a ferramenta de configuração do servidor das aplicações que serão desenvolvidas.
Entrar no diretório PATH do php:
Faça download do phpides:
# wget http://php-ids.org/files/phpids-0.6.2.tar.gz
# tar -xvzf phpids-0.6.2.tar.gz
Mudar usuário e grupo do diretório tmp da ferramenta IDS:
# cd phpids-0.6.2/lib/IDS
# chown -R www-data:www-data tmp
Fazer configuração do PHPIDS:
# vim config.ini
Configurar caminho nas diretivas:
filter_path = /usr/share/phpids/lib/IDS/default_filter.xml
tmp_path = /usr/share/phpids/lib/IDS/tmp
path = /usr/share/phpids/lib/IDS/tmp/phpids_log.txt
path = /usr/share/phpids/lib/IDS/tmp/default_filter.cache
;tmp_path = /usr/share/phpids/lib/IDS/tmp/memcache.timestamp
Pode-se criar uma aplicação que irá monitorar as requisições, que por sua vez, irá detectar possíveis tentativas de quebra de segurança, bem como, inserção de códigos, tentativas de descoberta de URL e entre outros.
Crie um subdiretório phpids dentro do diretório /home/aplicativos/estrutura/ ou no diretório que achar conveniente e adicione os códigos abaixo em um arquivo index.php ou phpids.php. Os comentários do arquivo relatam o que o mesmo está desempenhando.
* autores: José Cleydson Ferreira da Silva, Néliton Antônio Campos
* primeira versão: 13 abr 2010
* Monitora as requisições, detectando possíveis tentativas de quebra de segurança.
set_include_path(get_include_path() . PATH_SEPARATOR . '/usr/share/phpids/lib');
$request = array('REQUEST' => $_REQUEST, 'GET' => $_GET, 'POST' => $_POST, 'COOKIE' => $_COOKIE);
$init = IDS_Init::init('/usr/share/phpids/lib/IDS/Config/Config.ini');
* Registra as tentativas de quebra de segurança detectadas em log.
Após salvo o arquivo é necessário configurar a diretiva auto_prepend_file do arquivo php.ini, para vincular o arquivo no php.
auto_prepend_file = /home/usuario/sistemas/estrutura/phpids/index.php
Os logs são gerados em /usr/share/phpids/lib/IDS/tmp/phpids_log.txt ou no local onde instalou a ferramenta phpIDS.