jueves, marzo 27, 2008

Public Server Version

Siempre se me olvida. Cada vez que tengo que configurar un servidor Apache no recuerdo las directivas para evitar que cuando aparezca un mensaje de error devuelva cosas como:



Por defecto, en cualquier servidor, decir su versión y sus plugins es un problema de seguridad pues le das los datos a quién esté al otro lado para que busque vulnerabilidades específicas para tu sistema. Por eso lo primero que debemos hacer es deshabilitar en la configuración.

En Apache 2.0 y posteriores es tan simple como añadir estas dos directivas (o asignarles este valos en caso de tener otro) en /etc/apache2/apache2.conf:
ServerTokens Prod
ServerSignature Off

Al hacer esto lo que veremos será:



En postfix ocurre algo parecido.Si hacemos telnet al puerto 25 de una máquina con el postfix sin configurar aparece algo del estilo:
xir@naranjito:~$ telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 naranjito.uax.es ESMTP Postfix (Ubuntu)


Para que no aparezca el servidor (Postfix) ni el sistema operativo (Ubuntu), es tan simple como modificar la línea del /etc/postfix/main.cf con la directiva smtpd_banner y modificar lo que aparece después del =. Por ejemplo:
smtpd_banner = ESMTP server
que mostraría:
xir@naranjito:~$ !telnet
telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 ESMTP server


De manera que sólo veríamos una respuesta "inocua".

No hay comentarios: