Ocultar la versión de Apache y PHP en Debian GNU/Linux

servidor-intel.jpg

¿Necesitas un servidor?

Usa este formulario para decirnos las características del servidor que necesitas y te lo presupuestamos sin compromiso.

En la entrada de blog anterior, publiqué la manera de instalar un sistema LAMP (Linux, Apache, Mysql y PHP) en un servidor Debian GNU/Linux. En la entrada de hoy vamos a asegurar un poco nuestro servidor Debian evitando que aparezecan las versiones que tenemos instaladas tanto de Apache como de PHP, pues por defecto Apache muestra esta información en las cabeceras HTTP. Primero vamos a comprobar que realmente aparece esta información de la que estoy hablando, para ello ejecutamos en un terminal:

 

$ telnet localhost 80

 

Trying 127.0.0.1...

Connected to localhost.

Escape character is '^]'

Escribimos:

HEAD / HTTP/1.0

y pulsamos ENTER dos veces, nos aparecerá por pantalla algo parecido a esto:

 

HTTP/1.1 200 OK

Date: Mon, 30 Mar 2015 15:51:12 GMT

Server: Apache/2.2.22 (Debian)

X-Powered-By: PHP/5.4.39-0+deb7u1

X-Drupal-Cache: HIT

Etag: "1427729231-0"

Content-Language: es

X-Generator: Drupal 7 (http://drupal.org)

Link: <http:///>; rel="canonical",<http:///>; rel="shortlink"

Cache-Control: public, max-age=0

Last-Modified: Mon, 30 Mar 2015 15:27:11 GMT

Expires: Sun, 19 Nov 1978 05:00:00 GMT

Vary: Cookie,Accept-Encoding

Connection: close

Content-Type: text/html; charset=utf-8

 

Como podemos ver se muestran todos los detalles de la versión de Apache y de PHP. Por motivos de seguridad esto no es aconsejable así que vamos a cambiarlo. Abrimos un terminal como root y escribimos:

 

# vim /etc/apache2/conf.d/security

 

Activamos en este fichero estas dos directivas:

ServerTokens ProductOnly

ServerSignature Off

Cerramos vim guardando los cambios.

Vamos a esconder ahora, la información de la versión de PHP. Editamos el archivo de configuración de PHP que en Debian GNU/Linux se hace con:

 

# vim /etc/php5/apache2/php.ini

 

Buscamos la opción expose_php que con seguridad estará en on y la cambiamos por off. Debería quedar así:

 

expose_php = Off 

 

Guardamos los cambios y cerramos nuestro editor vim.

 

Ya sólo nos resta reiniciar el servidor apache y comprobar que hemos conseguido ocultar la información que queríamos. Reiniciamos con:

 

# /etc/init.d/apache2 restart 

 

y hacemos de nuevo un telnet a nuestro localhost a través del puerto 80 

 

$ telnet localhost 80

 

De nuevo escribimos:

HEAD / HTTP/1.0

y pulsamos ENTER dos veces, ahora nos responde:

 

HTTP/1.1 200 OK

Date: Mon, 30 Mar 2015 16:24:23 GMT

Server: Apache

X-Drupal-Cache: HIT

Etag: "1427729231-0"

Content-Language: es

X-Generator: Drupal 7 (http://drupal.org)

Link: <http:///>; rel="canonical",<http:///>; rel="shortlink"

Cache-Control: public, max-age=0

Last-Modified: Mon, 30 Mar 2015 15:27:11 GMT

Expires: Sun, 19 Nov 1978 05:00:00 GMT

Vary: Cookie,Accept-Encoding

Connection: close

Content-Type: text/html; charset=utf-8

 

Y como vemos ya no aparece la versión de Apache ni de Php. Ya está un poco más seguro nuestro servidor Debian GNU/Linux.

 

Añadir nuevo comentario