asegurar apache y php

Poner un servidor Apache/PHP en internet no es solo instalarlo con un simple comando, también requiere hacer algunos ajustes para mantenerlo funcionando al hacer un poco más difícil que algún usuario mal intencionado o cracker pueda acceder al servidor. Estas personas por lo general tratan de obtener información sobre las versiones de los servicios instalados y así seleccionar un ataque a alguna vulnerabilidad conocida para la versión que estemos usando. Por desgracia la configuración normal de Apache y PHP muestra mas información de la que debería estar disponible con lo que se está ayudando al enemigo.

Para evitar que Apache y PHP muestren esta información en un servidor Debian vamos a inhabilitar algunas variables y configuraciones para no dar información alguna sobre las versiones de Apache y PHP.

como ocultar versiones apache php seguridad disable parameters security

No mostrar la versión de Apache

La configuración predeterminada del servidor HTTP contiene en la cabecera información de Apache y de la versión de PHP y muestra algo como esto:

Server: Apache/2.2.15 (Debian) PHP/5.3.5

Es muy peligroso permitir que esta información esté visible y que sea utilizada por un atacante al saber la versión específica que estamos usando. Para evitar esto podemos cambiar a Off algunas variables de Apache.

Edita el siguiente archivo y busca las variables que te indico y pon los valores como te muestro.

/etc/apache2/conf.d/security
ServerSignature Off
ServerTokens Prod
TraceEnable off

No mostrar información de PHP

Para evitar que PHP muestre información que puede ser utilizada por un atacante edita este archivo y agrega las funciones que te muestro a la variable “disable_functions” es muy importante que solo las agregues al final las funciones que te indico.

/etc/php5/apache2/php.ini
disable_functions = ,system,show_source,phpinfo/pre>

Luego, en el mismo archivo php.ini busca las siguientes variables de configuración y ponlas a Off

allow_url_fopen=Off
display_errors=Off
expose_php = Off

Por último ve al archivo de configuración del host virtual de tu servidor apache y agrega las siguientes lineas, esto lo debes hacer por cada host virtual que exista en tu servidor y son todos los archivos en el directorio /etc/apache2/sites-available/. Te muestro el ejemplo del host virtual “default”

/etc/apache2/sites-available/default
ServerSignature OffFileETag None

IMPORTANTE: no soy experto en seguridad por lo que estos consejos son encaminados a aportar elementos para evitar un ataque a tu servidor web, en otras palabras hacerle la vida un poco mas difícil a los crackers o algún script kiddie que se tope con el servidor, sin embargo es posible que existan otras configuraciones necesarias para tener un servidor Apache/PHP totalmente seguro.

Espero que esta información sea útil y que ayuda a mantener tu servidor en línea.

 

Fuente: comoinstalarlinux

¿Quién está en línea?

Hay 15800 invitados y ningún miembro en línea