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