Este documento discute o PHPIDS, uma ferramenta de detecção de intrusão para aplicações PHP. Ele explica como o PHPIDS funciona com regras baseadas em regex para identificar possíveis ameaças, pode ser implementado em aplicações individuais ou globalmente, e permite customização das configurações e regras. Também discute a integração do PHPIDS com o HTML Purifier para sanitização de dados e o Memcached para melhorar o desempenho.
1. ProtegendoAplicações PHP com PHP-IDS Wagner Eliasblog:http://wagnerelias.comTwitter: http://www.twitter.com/welias
2. Agenda Sobre o PHPIDS Regras Implementando Customizando Alertas e Impactos Integração Sobre o HTML Purifier Sobre o Memcached PHPIDS + HTML Purifier + Memcached Conclusão
3. Echo $whoami; Gerente de pesquisa e desenvolvimentodaConviso IT Security (http://www.conviso.com.br) Focadoemsegurança de aplicações Web Fundador e Líder do CapítuloBrasilda OWASP(Open Web Application Security Project)
4. Sobre o PHPIDS PHPIDS (Php Intrusion Detection System) é umaferramenta de proteção a aplicaçõesdesenvolvidasemPhp Sua principal característica é a possibilidade de ser implementadodiretonaaplicaçãosemdepender de intervenção no servidor de aplicação Regras de fácilcustomização e integração com outrasferramentas http://php-ids.org/
7. Implementando Pode ser implementadoemtodas as aplicaçõesusando o recurso de auto_prepend_file Php.ini auto_prepend_file = /var/www/web1/web/phpids.php .htaccess php_valueauto_prepend_file /var/www/web1/web/phpids.php
9. Customizando O PHPIDS possui um arquivo de regraspadrão: default_filter.xml masvocêpodecustomizarsuasregras e criaroutrosarquivos de regra e alterar a configuração do config.ini.php
12. Customizando Devido a problemas de falsopositivo com requisições JSON, foicriadoumafunçãoespecíficaparatratamentodestetipo de requisição Para usarosrecursosdeve-se definirquaisoscampos no arquivoconfig.ini.php
16. Customizando Vocêpodeexecutaraçõesaoreceber um alerta, bastainterceptar o resultado e executar a funçãodesejada Redirecionar a página; Executar um include; enviar um alertapersonalizado No exemplo se comentar a chamada: echo $result; o PHPIDS irá registrar o eventosemapresentarnenhumamensagemnatela
17. Alertas e Impactos Alertassãogeradospelo PHPIDS casoalgumarequisiçãosejaidentificadacomomaliciosapelasregras Cadaalerta é seguido de um nível de impactoquepode ser customizado de acordo com a suanecessidade
19. Integração Um outrorecursointeressante do PHPIDS é suaintegração com umabiblioteca de sanitização (HTML Purifier) e umaextensão de cache (Memcached) Issopossibilitaque se ganhemaiscontroles com a sanitização e escala, performance com a extensão de cache
20. Sobre o HTML Purifier Biblioteca de sanitização de dados inscritaemPhp e emconformidade com padrões w3c Além de tratarosprincipaisproblemas, possibilitaquesejaimplementadoumawhitelist de parâmetrosquepodem ser aceitos, possibilitandoque o PHPIDS adoteumaabordagempositiva http://htmlpurifier.org/
21. Sobre o Memcached Designado para servir como um sistema distribuído de cache em memória RAM Colabora para melhor performance de servidores de bancos de dados e aplicação Usado pelos maiores sites da internet : Facebook, Youtube, Flickr http://memcached.org/
22. PHPIDS + HTML Purifier + Memcached Por default o HTML Purifier jávemconfigurado no PHPIDS conforme as definições do config.ini.php
23. PHPIDS + HTML Purifier + Memcached As definições do memcachedtambémestãodefinidas no config.ini.php
24. Conclusão PHPIDS pode ser umasolução simples paraproblemasemsegurança de aplicaçõesdesenvolvidasemphp Qualquerferramentanecessita de ajustes e customizações Possuialtacapacidade de customização e integração