Seguridad-apache

6 Tips de seguridad para servidores apache

Cuando hablamos de apache nos referimos a él como el servidor web más utilizado en el mundo desde su lanzamiento en 1995. Entre sus virtudes podemos destacar su estructura modular, el hecho de ser código abierto y multi-plataforma, además de contar con una gran comunidad de usuarios.

Otra de sus conocidas virtudes es la sencillez de su instalación, no obstante y aunque pensemos que una vez instalado simplemente basta con tenerlo actualizado para protegernos de posibles vulnerabilidades, es necesario realizar algunos cambios en la configuración inicial para intentar minimizar los posibles riesgos. A continuación os indico una serie de tips de seguridad en Apache, que yo considero básicos (ya profundizaremos más adelante) para segurizar tu servidor apache.

Tips de seguridad en Apache

 

1.- Siempre actualizado.

Como he comentado antes, es indispensable tener la última versión de apache disponible, ya que de esta forma tendremos los últimos parches que nos ayudarán a evitar posibles vulnerabilidades,  para ello el primer paso es saber la versión de apache que tienes instalada, puedes comprobarlo fácilmente con este comando:

apache2 –v (Debian/Ubuntu)

httpd –v (RHEL)

seguridad-apache-tip1

2.-Desactiva módulos que no estés utilizando.

Seguramente si acabas de instalar apache, por defecto vendrá con una serie de módulos activados y posiblemente no requieras de todos ellos, al desactivar módulos apache, además de evitar posibles vulnerabilidades, reduciremos el consumo de memoria del servidor.  Para ver un listado de los módulos activos puedes hacerlo con el siguiente comando:

apache2ctl -M ( Debian/Ubuntu)

httpd -M (RHEL)

apache2-2

En sistemas basados en Debian, utilizamos a2enmod para habilitar el módulo y a2dismod para deshabilitarlo:

apache2-3

Para sistemas basados en Red Hat, podemos renombrar los módulos alojados en /etc/httpd/conf.d/ o comentar las líneas correspondientes a los módulos en el fichero de configuración alojado en /etc/httpd/conf/httpd.conf.

Tal y como se muestra en la captura, necesitaremos reiniciar el servidor apache para que se apliquen los cambios después de activar / desactivar un módulo.

3.-Oculta la información del servidor Apache.

Por defecto la instalación de Apache suele mostrar la versión que se está ejecutando y el sistema operativo instalado cuando por ejemplo, se muestra un error 404. Lógicamente no querrás que ningún usuario tenga acceso a este tipo de información, para evitar que se muestre es tan sencillo como añadir estas dos líneas a tu archivo de configuración (httpd.conf  o apache2.conf).

ServerSignature Off

ServerTokens Prod

4.-Desactiva el listado de directorios.

Apache por defecto habilita la opción de listado de directorios, lo que significa que al navegar por un directorio que no tenga fichero “index” nos mostrará un listado de los ficheros que se encuentran disponibles en el directorio en lugar de un mensaje de error.  Por defecto se mostraría así:

seguridad-apache-tip4

Para deshabilitarlo utilizamos la opción “Options -Indexes” en el directorio donde queramos deshabilitarlo dentro del fichero de configuración (httpd.conf o apache2.conf).

Para este ejemplo he deshabilitado el listado en el directorio /var/www

apache2-5

De esta forma al intentar acceder nos muestra acceso denegado:

apache2-6

5.- Desactiva los enlaces simbólicos.

Por razones de seguridad en Apache también es aconsejable desactivar los enlaces simbólicos que por defecto vienen activados, para ello simplemente basta con agregar la siguiente opción en el fichero de configuración (apache2.conf o httpd.conf).

Options -FollowSymLinks

6.-Verifica el usuario con el que se está ejecutando Apache.

Apache debe ejecutarse con un usuario y grupo propio, ya que de otra forma puede suponer un grave riesgo de seguridad. Para comprobarlo, puedes ir al archivo de configuración (apache2.conf o httpd.conf) y revisar las líneas “user” y “group”. Posteriormente puedes comprobar con el comando “apachectl -S”.

seguridad-apache-tip6

Como se indica en el título del post, esta configuración es sólo una pequeña base para tener segurizado nuestro servidor web apache. Más adelante veremos las posibles restricciones de acceso  a directorios, los módulos mod_security y mod_evasive y la limitación de peticiones entre otras configuraciones.

 
0 comentarios

Dejar un comentario

¿Quieres unirte a la conversación?
Siéntete libre de contribuir