Pantalla de seguridad

La pantalla de seguridad es un archivo php que protege tus sitios bloqueando algunos ataques vinculados a agujeros de seguridad. Este sistema permite solucionar rápidamente un problema, cerrando el agujero de seguridad, hasta que el usuario o la usuaria puedan aplicar un “patch” más adecuado.

Versión actual: 1.6.3

Filosofía

Cuando se descubre o se señala un “agujero” de seguridad, el equipo de desarrollo de SPIP se esfuerza en corregir el problema cuanto antes en su versión de desarrollo y en sus versiones estables, con el fin de no difundir el código erróneo. Sin embargo, la mayoría de los usuarios y usuarias no siempre tienen el tiempo o la posibilidad de hacer la actualización, y existe el temor a que haya incompatibilidades entre el código nuevo y el que tiene en línea.

Para el proveedor de alojamiento, la información relativa a un problema de seguridad es también un arma de doble filo: por un lado no desea dejar “agujeros” en sus sitios albergados, y por otro lado no siempre tiene autorización de modificar esos sitios. Ponerlos fuera línea no es siempre posible, excepto en el caso de usuarios muy paranoicos.

La pantalla de seguridad responde a esta problemática. Actúa desde un archivo php único y separado de SPIP, que se puede poner independientemente al día del resto del código, y que es compatible con todas las versiones de SPIP, incluso las más antiguas.

Este archivo no sustituye la actualización real de su versión de SPIP, pero permite bloquear algunos ataques a la espera de una actualización.

De hecho, esta pantalla puede activarse en el servidor sobre el conjunto de scripts php (SPIP o no), y garantiza, si está al día, que todos los fallos conocidos de alguna versión de SPIP son imposibles de explotar. De ahí el nombre de “pantalla”: se coloca entre quien visita la página y SPIP, y comprueba que no está intentando explotar un ataque conocido.

Cuando se descubre un nuevo fallo, basta con poner al día esta pantalla permitiendo hacer la actualización completa de SPIP cuando se disponga del tiempo necesario.

Descargas

La versión más reciente de esta pantalla se encuentra aquí:
http://zone.spip.org/trac/spip-zone/browser/_core_/securite/

Zona de descarga :
http://zone.spip.org/trac/spip-zone...

Puedes también recuperarla y sincronizarla con SVN :
svn co svn://zone.spip.org/spip-zone/_core_/securite/

El archivo se llama ecran_securite.php

Instalación

Hay muchos métodos para instalar esta pantalla :

A nivel de un sitio SPIP :

A partir de SPIP 2.0.9, basta con alojar el archivo ecran_securite.php en el directorio config/ del sitio.

Para las versiones anteriores de SPIP, conviene añadir el código siguiente en

config/mes_options.php<code> (archivo que debe crearse si no existe): 
<div class="base64" title="PGRpdiBjbGFzcz0icHJlY29kZSI+PHByZSBjbGFzcz0nc3BpcF9jb2RlIHNwaXBfY29kZV9ibG9jaycgZGlyPSdsdHInIHN0eWxlPSd0ZXh0LWFsaWduOmxlZnQ7Jz48Y29kZT4mbHQ7P3BocA0KQGluY2x1ZGVfb25jZSBkaXJuYW1lKF9fRklMRV9fKS4nL2VjcmFuX3NlY3VyaXRlLnBocCc7DQo/Jmd0Ow0KPC9jb2RlPjwvcHJlPjwvZGl2Pg=="></div>

La pantalla será cargada justo después del archivo <code>mes_options.php

.

A nivel del servidor :

Alojar el archivo en un directorio legible por todos los sitios (por ejemplo /usr/share/php/ecran_securite/).

Modificar php.ini, agregando la línea siguiente :

auto_prepend_file '/usr/share/php/ecran_securite/ecran_securite.php'

o bien modificar httpd.conf, agregando :

php_admin_value auto_prepend_file '/usr/share/php/ecran_securite/ecran_securite.php'

En estos dos casos, la pantalla se incluye en cada “hit” php antes del lanzamiento del script normal. Puede así bloquear todas las llamadas “maliciosas”.

Configuración

Además de la seguridad, la pantalla tiene la capacidad de moderar los accesos de los robots de indexación a las scripts php, para decirles “volver de nuevo más tarde” cuando se satura al servidor.

Este comportamiento es configurable, indicando arriba en el propio archivo:

define('_ECRAN_SECURITE_LOAD', X);

Este ajuste activa la protección antirobots cuando la carga del servidor (load) excede el valor X. El valor por defecto es 4; para desactivarlo, poner 0.

Integración

La próxima versión de SPIP (la futura 2.1) tendrá integrada la pantalla de seguridad; si se descubre un agujero, el “patch” mínimo será descargar el nuevo ecran_securite.php, y reemplazar el antiguo.

Compatibilidad

La pantalla interviene lo menos posible, no hace más que bloquear variables que se sabe, fueron mal controladas en algún momento de la historia de SPIP, y que por lo tanto podrían dar lugar a un ataque. Es pues compatible con todas las versiones de SPIP.

No obstante, la pantalla bloquea algunas variables. Así pues, por ejemplo, las variables nombradas id_xxx son controladas para que tengan obligatoriamente valores numéricos enteros, a fin de evitar toda inyección de código SQL mediante esta clase de variable muy utilizada.

Algunos plugins no son compatibles con todas las reglas de la pantalla, utilizando por ejemplo &id_x=new para crear un objeto x. Para ser compatibles con SPIP 2.1, estos plugins deberán rápidamente ajustarse a las reglas de la pantalla.

Autor o autora marina Publicado el: Actualizado: 21/03/23

Traducciones: عربي, català, corsu, English, Español, فارسى, français, Nederlands