Cuando se consulta un determinado servidor web que ejecuta php, éste envía la versión del servidor así como la versión de php que está ejecutando. Dicha información puede dar a un posible atacante mucha información sobre si el equipo es o no es vulnerable. Aunque la seguridad por ocultación no es buena, sí puede ofrecer un poco de protección, o cuando menos evita dejar "los datos al aire".
Por defecto, ésta es la información que se puede obtener de un servidor al realizarle una consulta.
shell> curl -I http://www.site.com HTTP/1.1 200 OK Date: Wed, 14 Mar 2012 15:24:19 GMT Server: Apache/2.2.16 X-Powered-By: PHP/5.3.3-7+squeeze7 Set-Cookie: SESS62cf6d13abf72b42af7... Expires: Sun, 19 Nov 1978 05:00:00 GMT Last-Modified: Wed, 14 Mar 2012 19:24:19 GMT Cache-Control: store, no-cache, must-revalidate Cache-Control: post-check=0, pre-check=0 Vary: Accept-Encoding Content-Type: text/html; charset=utf-8
Para evitar que enseñe la versión de php que está a ejecutar (5.3.3-7) sólo hay que cambiar la variable expose_php de on, valor que tiene por defecto a off y recargar apache.
shell> vi /etc/php5/apache2/php.ini
...
expose_php = Off
...
shell> /etc/init.d/apache2 restart
Después de éste pequeño cambio, como se puede observar ya no hay información sobre la versión de php del servidor.
shell> curl -I http://www.site.com HTTP/1.1 200 OK Date: Wed, 14 Mar 2012 15:26:41 GMT Server: Apache/2.2.16 Set-Cookie: SESS62cf6d13abf72b42af7... Expires: Sun, 19 Nov 1978 05:00:00 GMT Last-Modified: Wed, 14 Mar 2012 19:26:41 GMT Cache-Control: store, no-cache, must-revalidate Cache-Control: post-check=0, pre-check=0 Vary: Accept-Encoding Content-Type: text/html; charset=utf-8
No hay comentarios :
Publicar un comentario