Publicado el

Seguridad en Apache

Seguridad en Apache

Apache es unos de los servidores webs más populares. Cuando elegimos utilizarlo es importante tomar algunas previsiones para evitar que usuarios maliciosos puedan vulnerar nuestro servidor.

Una de las previsiones más importante es ocultar información, o mejor dicho mostrar sólo lo necesario. Por lo general cuando instalamos Apache, él nos muestra por defecto información que se nos puede volver en nuestra contra; como por ejemplo las versiones de software utilizados.

El archivo de configuración de Apache varía según la versión del sistema operativo. En el caso de linux varia también según la distribución, por lo general existen estas dos rutas de acuerdo a nuestra distribución de linux:

//CentOS, Fedora, RHEL
/etc/httpd/conf/httpd.conf

//Debian, Ubuntu
/etc/apache/apache2.conf  

Configuración de Apache

Esconder la versión de apache en los headers de las solicitudes.

ServerTokens Prod

Esconder la firma de las páginas por defecto (404, 500, etc..).

ServerSignature Off

Deshabilitar el listado de directorio, se debe eliminar la opción Indexes de la etiqueta directory del la carpeta principal.

<Directory /var/www/>
        Options FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

Evitar que el navegador ejecute archivos con extensiones desconocidas click aquí para más información.

Header set X-Content-Type-Options: "nosniff"

Evitar el clickjacking via header.

Header set X-Frame-Options: "sameorigin"

Además si queremos prevenir el clickjacking con Javascript, podemos leer el siguiente artículo:

Prevenir el clickjacking con Javascript

Deshabilitar el metodo TRACE.

TraceEnable Off

Deshabilitar los métodos HTTP que no se utilicen, por ejemplo dejaremos sólo los métodos GET y POST en etiqueta directory del la carpeta principal.

<LimitExcept POST GET>
   deny from all
</LimitExcept>

Deshabilitar el acceso a las carpetas .git .svn ó cualquier carpeta oculta.

<DirectoryMatch "/\.git">
   Require all denied
</DirectoryMatch>

Otra recomendación importante es deshabilitar los módulos que no se utilicen para minimizar posibles brechas de seguridad que puedan tener los mismo.

Haciendo estas configuraciones le dificultarás la tarea a los usuarios maliciosos que quieran vulnerar tu Apache. Si quieres profundizar un poco más te recomiendo estos artículos:

Cómo Mejorar La Seguridad De Un Servidor Web Apache

8 Consejos de seguridad servidores Apache
Configuración de Apache