divendres, 22 de gener del 2010

Assegurant el PHP amb Suhosin. Instal·lació a Ubuntu.

Aquesta setmana hem rebut al despatx de Corretgé.com l'esplèndid PHP Security Poster editat per l'empresa alemanya especialitzada en seguretat SektionEins.

SektionEins és l'empresa que ha creat el paquet de seguretat Suhosin. Si hem instal·lat el PHP desde la paqueteria d'Ubuntu, al fer un phpinfo(), segurament veurem que al PHP instal·lat se li ha aplicat el patch de Suhosin, és fàcil de detectar, per les lletres en coreà 수호신 al final de la plana, que ve a ser la traducció de una deïtat guardiana... sí, és la traducció literal, no és cap de les deïtats guardianes que el budisme assigna segons l'any de naixement a la seva parròquia.

Suhosin logoThis server is protected with the Suhosin Patch 0.9.6.2
Copyright (c) 2006 Hardened-PHP Project


Així doncs, els ubuntaires ja tenim el PHP preparat de sèrie per al Suhosin i no hem de compilar ni aplicar cap patch.

Per a instal·lar aquesta extensió de PHP, farem

sudo apt-get install php5-suhosin

A /etc/php5/apache2/conf.d/suhosin.ini podrem parametritzar aquest guardià protector.

En properes edicions comentarem alguns dels paràmetres de configuració:

DirectiveLocal ValueMaster Value
suhosin.apc_bug_workaroundOffOff
suhosin.cookie.checkraddr00
suhosin.cookie.cryptdocrootOnOn
suhosin.cookie.cryptkey[ protected ][ protected ]
suhosin.cookie.cryptlistno valueno value
suhosin.cookie.cryptraddr00
suhosin.cookie.cryptuaOnOn
suhosin.cookie.disallow_nul11
suhosin.cookie.disallow_ws11
suhosin.cookie.encryptOffOff
suhosin.cookie.max_array_depth5050
suhosin.cookie.max_array_index_length6464
suhosin.cookie.max_name_length6464
suhosin.cookie.max_totalname_length256256
suhosin.cookie.max_value_length1000010000
suhosin.cookie.max_vars100100
suhosin.cookie.plainlistno valueno value
suhosin.coredumpOffOff
suhosin.disable.display_errorsOffOff
suhosin.executor.allow_symlinkOffOff
suhosin.executor.disable_emodifierOffOff
suhosin.executor.disable_evalOffOff
suhosin.executor.eval.blacklistno valueno value
suhosin.executor.eval.whitelistno valueno value
suhosin.executor.func.blacklistno valueno value
suhosin.executor.func.whitelistno valueno value
suhosin.executor.include.blacklistno valueno value
suhosin.executor.include.max_traversal00
suhosin.executor.include.whitelistno valueno value
suhosin.executor.max_depth00
suhosin.filter.actionno valueno value
suhosin.get.disallow_nul11
suhosin.get.disallow_ws00
suhosin.get.max_array_depth5050
suhosin.get.max_array_index_length6464
suhosin.get.max_name_length6464
suhosin.get.max_totalname_length256256
suhosin.get.max_value_length512512
suhosin.get.max_vars100100
suhosin.mail.protect00
suhosin.memory_limit00
suhosin.mt_srand.ignoreOnOn
suhosin.multiheaderOffOff
suhosin.perdir00
suhosin.post.disallow_nul11
suhosin.post.disallow_ws00
suhosin.post.max_array_depth5050
suhosin.post.max_array_index_length6464
suhosin.post.max_name_length6464
suhosin.post.max_totalname_length256256
suhosin.post.max_value_length6500065000
suhosin.post.max_vars200200
suhosin.protectkeyOnOn
suhosin.request.disallow_nul11
suhosin.request.disallow_ws00
suhosin.request.max_array_depth5050
suhosin.request.max_array_index_length6464
suhosin.request.max_totalname_length256256
suhosin.request.max_value_length6500065000
suhosin.request.max_varname_length6464
suhosin.request.max_vars200200
suhosin.server.encodeOnOn
suhosin.server.stripOnOn
suhosin.session.checkraddr00
suhosin.session.cryptdocrootOnOn
suhosin.session.cryptkey[ protected ][ protected ]
suhosin.session.cryptraddr00
suhosin.session.cryptuaOnOn
suhosin.session.encryptOnOn
suhosin.session.max_id_length128128
suhosin.simulationOffOff
suhosin.sql.bailout_on_errorOffOff
suhosin.sql.comment00
suhosin.sql.multiselect00
suhosin.sql.opencomment00
suhosin.sql.union00
suhosin.sql.user_postfixno valueno value
suhosin.sql.user_prefixno valueno value
suhosin.srand.ignoreOnOn
suhosin.stealthOnOn
suhosin.upload.disallow_binary00
suhosin.upload.disallow_elf11
suhosin.upload.max_uploads2525
suhosin.upload.remove_binary00
suhosin.upload.verification_scriptno valueno value