Suhosin - proteção e segurança em ambientes PHP

Introdução

Suhosin é um módulo avançado de segurança para PHP, que foi desenvolvido para proteger os hosts de possíveis vulnerabilidades que podem estar presentes nas aplicações desenvolvidas utilizando a plataforma PHP ou no próprio core da linguagem.

O módulo Suhosin é compatível com as instalações padrão do PHP e com os módulos disponíveis da plataforma, não apresentando incompatibilidades com outros módulos comumente utilizados, incluindo Zend Optimizer e Source Guardian.

O módulo Suhosin realiza de filtragem de dados em tempo real, contra ataques do tipo “DOS”, “SQL Injection” e a execução de scripts maliciosos sobre o protocolo http. Um de seus recursos interessantes é a encriptação transparente de cookies e dados de sessão, o que evita ataques do tipo “session hijacking”, comuns hoje em dia na internet.

Para servir aplicações em PHP com muita segurança, para o ambiente e para a infraestrutura, com um código bem auditado e em um ambiente controlado sem apresentar perda de performance, este módulo é bastante útil.

Dependências

Debian-Like
aptitude install apache2 php5-dev build-essential
RedHat-Like
yum install php-devel php httpd gcc cpp

Instalação

Os fontes da ultima versão podem ser encontrados em http://www.hardened-php.net/suhosin/download.html. No momento da criação deste artigo a versão corrente, poderia ser baixado em: https://download.suhosin.org/suhosin-0.9.38.tar.gz.
  • tar xvzf suhosin-0.9.38.tar.gz -C /usr/src
  • cd /usr/src/suhosin-0.9.38
  • phpize
  • ./configure && make && make install

Ajuste de configuração

  • mv /etc/php5/cli/php.ini /etc/php5/cli/php.ini0
  • mv /etc/php5/apache2/php.ini /etc/php5/apache2/php.ini0
  • echo 'extension=suhosin.so' > /etc/php5/cli/php.ini
  • echo 'extension=suhosin.so' > /etc/php5/apache2/php.ini

Ajuste de configuração apache-2.4

  • echo 'extension=suhosin.so' > /etc/php5/mods-available/suhosin.ini
  • php5enmod suhosin

Verificação da instalação do Suhosin

# php -v
PHP 5.4.39-0+deb7u2 (cli) (built: Mar 25 2015 08:33:29) 
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
    with Suhosin v0.9.38, Copyright (c) 2007-2015, by SektionEins GmbH

Aplicar o Suhosin no servidor web

Para aplicar as novas configurações, reinicie o servidor web.

httpd

service httpd restart; ou
/etc/init.d/httpd restart

lighttpd

service lighttpd restart

apache2

service apache2 restart; ou
/etc/init.d/apachd2 restart

Referências

http://brito.blog.incolume.com.br/2012/02/suhosin-protecao-e-seguranca-em.html
http://suhosin.org/stories/install.html

Comentários