Come mettere in sicurezza PHP con Suhosin

Gio, 06/03/2008 - 16:20

Come mettere in sicurezza PHP con Suhosin

Inviato da paolo 1 commento
Introduzione

Nella .scorsa guida abbiamo parlato di come mettere in sicurezza il server Web filtrando direttamente da Apache2 molti possibili attacchi, in questa guida ci concentreremo su come installare una protezione a più alto livello, in questo caso a livello Applicazione, utilizzando un modulo di sicurezza noto per PHP, Suhosin.

Suhosin va ad integrarsi a PHP in maniera trasparente, cercando di colmare le lacune in fatto di sicurezza di cui il linguaggio ha sempre sofferto e aggiungendo funzionalità come le funzioni SHA-256 e SHA256-file e CRYPT_BLOWFISH.

Inoltre altre funzionalità degne di nota:

      Transparent Cookie Encryption

      Supports per Virtual Host / Directory configureable function black- and whitelists

      Transparent Cookie Encryption

      Adds protection against newline attacks to mail()

      Transparent encryption of session data

Per una lista dettagliata di tutte le features:
http://www.hardened-php.net/suhosin/a_feature_list.html

Installazione

L'installazione è molto semplice e segue il classico stack di compilazione da sorgenti:

cd /tmp
wget http://download.suhosin.org/suhosin-0.9.23.tgz
tar xzf suhosin-0.9.23.tgz
cd suhosin-0.9.23
phpize && ./configure && make && make install

Ora non resta che abilitare il modulo in php.ini, editando il /etc/php5/apache2/php.ini e aggiungendo questa riga:

extension=suhosin.so

Ora basta riavviare Apache e suhosin inizierà a fare il lavoro sporco Smile

Conclusione

Suhosin di default ha una sua configurazione standard che puo essere tranquillamente modificata seguendo queste direttive:

http://www.hardened-php.net/suhosin/configuration.html

Anche se vi consiglio di non giocare troppo con queste opzioni a meno che non sappiate esattamente cosa state toccando, altrimenti vi ritroverete con crash improvvisi dei vostri script PHP





Commenti

Ritratto di paolo
#1

Inviato da paolo il Gio, 06/03/2008 - 16:23.

Per chi usa Ubuntu Dapper

Con Ubuntu Dapper la compilazione per andare a buon fine ha bisogno di ulteriori passaggi che ho lasciato nel Forum Ufficiale di Suhosin:

http://forum.hardened-php.net/viewtopic.php?pid=1481#p1481

Ciao

Paolo Mainardi
CTO Twinbit http://www.twinbit.it
Vice Presidente -- ILDN - Italian Linux DIstro Network