PHP es un lenguaje de programación de sitios web muy popular, pero su seguridad inherente es muy débil. Este artículo describe el plan de mejora de PHP (proyecto Hardened-PHP) y el nuevo plan de Suhosi. Suhosin proporciona una configuración de seguridad de PHP mejorada.
PHP es el lenguaje de programación de sitios web controvertido pero más popular. Es popular debido a su bajo precio. Sin embargo, este bajo precio ha llevado a que cada vez más aplicaciones de sitios web se escriban en PHP y, al mismo tiempo, cada vez más PHP está expuesto a vulnerabilidades de seguridad. Las características muestran que PHP es extremadamente poco confiable, pero al mismo tiempo, el lenguaje de secuencias de comandos en sí es muy flexible y es fácil implementar código usándolo, pero estos códigos están inflados e inseguros, aunque de esta manera, todavía tiene muchos usuarios. Se podría suponer que, una y otra vez, aplicaciones de todo tipo exhiben esta vulnerabilidad: vulnerables a inyección SQL, secuencias de comandos entre sitios, ejecución arbitraria y más.
Debido a que se ignoran las medidas de seguridad integradas de PHP como safe_mode y open_basedir, el Proyecto de mejora de PHP crea un PHP que es más seguro y también realiza comprobaciones de validación en PHP. Inicialmente, esto se logró con parches PHP mejorados que requerían que el propio PHP fuera parcheado y recompilado. Recientemente, PHP Enhancement Project lanzó un nuevo proyecto llamado Suhosin.
Sohosin consta de dos partes: La primera parte es un parche PHP. Este parche fortalece el propio motor Zend para evitar posibles desbordamientos del búfer y prevenir debilidades relacionadas. La segunda parte es la extensión de Suhosin, que es un módulo independiente para PHP. Las dos partes pueden funcionar juntas o la extensión puede funcionar de forma independiente.
Los desarrolladores no quieren tener que mantener sus propias instalaciones de PHP para lograr seguridad y ciertamente prefieren usar PHP directamente en el sistema de distribución de Linux proporcionado por el proveedor, utilizando módulos de extensión para proporcionar más funciones de seguridad que el propio PHP no puede tener.
La extensión es fácil de instalar, también puede instalarse mediante PECL o descargarse y compilarse:
$ tar xvzf suhosin-0.9.17
$ cd suhosin-0.9.17
$ phpize
$ ./configure
$ make
$ sudo make install
Para usar suhosin; , también necesita agregar /etc/php.ini, como se muestra a continuación:
extensión=suhosin.so
Para la mayoría de las personas, las opciones de configuración predeterminadas son suficientes. Para fortalecer la configuración, puede agregar los valores correspondientes en /etc/php.ini. Las diversas opciones de configuración se presentan en detalle en el sitio web. Estas instrucciones pueden ayudarle con la configuración inicial.
Con Suhosin, puede obtener algunos registros de errores. Puede colocar estos registros en el registro del sistema o escribirlos en cualquier otro archivo de registro al mismo tiempo. También puede crear listas negras y blancas para cada host virtual que puede filtrar GET y POST; solicitudes, carga de archivos y cookies. También puede enviar sesiones cifradas y cookies, configurar almacenamiento que no se puede enviar y más. A diferencia del parche de refuerzo de PHP original, Suhosin es compatible con extensiones de terceros como Zend Optimizer.