Cómo instalar Suhosin | Seguridad extra para PHP

Suhosin, es un sistema de protección avanzado para PHP. Fue diseñado para proteger los servidores y a usuarios contra defectos conocidos y desconocidos en PHP y su base. Suhosin se puede usar de dos diferentes formas, por separado o en la combinación. La primera forma, es un parche contra la base de PHP, que impone algunas protecciones de bajo nivel contra bufferoverflows y otros. La segunda forma, es una poderosa extensión de PHP que agrega muchísimas otras protecciones. Lo mejor de todo, Suhosin es compatible 100% con otras extensiones, como lo pueden ser ZendOptimizer y/o Eaccelerator. Más información detallada sobre porque deberías usar esta extensión: http://www.hardened-php.net/suhosin/why.html

  • Los paths usados aquí (sobre todo de php.ini) pueden variar dependiendo del servidor que uses, si es tu caso, busca el archivo php.ini en su ruta correcta.
  • Hagan esto bajo su propio riesgo, no me hago responsable si algo deja de funcionar en sus scripts a raíz de la instalación de esta extensión.

Este es un ejemplo de un servidor con PHP 5.2.5 + ZendOptimizer 3.3.3 + eAccelerator 0.9.5.2 + Suhosin 0.9.23

 [root@mat22.vostrohost.db:~]php -v
PHP 5.2.5
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
    with eAccelerator v0.9.5.2, Copyright (c) 2004-2006 eAccelerator, by eAccelerator
    with Zend Extension Manager v1.2.2, Copyright (c) 2003-2007, by Zend Technologies
    with Suhosin v0.9.23, Copyright (c) 2007, by SektionEins GmbH
    with Zend Optimizer v3.3.3, Copyright (c) 1998-2007, by Zend Technologies
[root@mat22.vostrohost.db:~]

Detallaré el proceso para instalar la extensión en particular (y no el parche), porque brinda mayores beneficios en cuanto a seguridad.

# Descargamos la versión
wget http://download.suhosin.org/suhosin-0.9.23.tgz

# Descomprimimos
tar -xvpzf suhosin-0.9.23.tgz

# Preparamos la extensión a compilar
cd suhosin-0.9.23
phpize

# Luego corremos los siguientes tres comandos, para configurar e instalar la extensión.
./configure
make
make install

Ahora solo falta que agreguemos la extensión al php.ini

# Editamos el archivo
pico /usr/local/lib/php.ini

# Al final del archivo, agregamos extension= con el lugar de la extensión, puede ser algo parecido a esto:
extension=/usr/local/lib/php/extensions/no-debug-non-zts-20020429/suhosin.so

# Ten en cuenta que la ubicación del archivo .so puede variar, te recomiendo que una vez hecha la instalación desde el “make install” te fijes efectivamente dónde esta, aparecerá un mensaje en pantalla que te dirá donde han sido instaladas.

# Reiniciamos el servidor web:
/etc/init.d/httpd restart

¿Cómo averiguo si esta instalado correctamente?
Como root sobre el shell corremos el comando “php -i | grep suhosin”, de esta manera:

[root@mat22.vostrohost.db:~]php -i | grep suhosin
suhosin
suhosin.apc_bug_workaround => Off => Off
suhosin.cookie.checkraddr => 0 => 0
suhosin.cookie.cryptdocroot => On => On
suhosin.cookie.cryptkey => [ protected ] => [ protected ]
suhosin.cookie.cryptlist => no value => no value
suhosin.cookie.cryptraddr => 0 => 0
suhosin.cookie.cryptua => On => On
suhosin.cookie.disallow_nul => 1 => 1
…….
…….
…….

Te mostrará más líneas, si ves eso, es que está compilado correctamente.

___________________________________________________________________

SOBRE EL AUTOR
Esteban Borges - Administrador de Servidores Linux

___________________________________________________________________

No hay comentarios

¿Te gustaría hacer un comentario?