10 mejores prácticas para asegurar y fortalecer su servidor web Apache

Asegure y endurezca el servidor web Apache siguiendo las mejores prácticas para mantener su aplicación web segura.

El servidor web es una parte crucial de las aplicaciones basadas en web. Tener una configuración incorrecta y la configuración predeterminada puede exponer información confidencial, y eso es un riesgo.

Como propietario o administrador de un sitio web, debe realizar periódicamente análisis de seguridad de su sitio web para detectar amenazas en línea y poder tomar medidas antes de que lo haga un hacker.

Repasemos las configuraciones esenciales para mantener su servidor web Apache.

Seguir toda la configuración está en httpd.conf de su instancia de apache.

Nota: realice una copia de seguridad del archivo de configuración necesario antes de la modificación, de modo que la restauración sea fácil cuando las cosas salgan mal.

Desactivar solicitud HTTP de seguimiento

El TraceEnable predeterminado en permite TRACE, lo que impide que cualquier cuerpo de solicitud acompañe a la solicitud.

TraceEnable desactivado hace que el servidor central y mod_proxy devuelvan un error 405 (Método no permitido) al cliente.

TraceEnable activado permite el problema de seguimiento entre sitios y potencialmente da la opción a un pirata informático de robar la información de su cookie.

Solución

Resuelva este problema de seguridad deshabilitando el método TRACE HTTP en la configuración de Apache.

Puede hacerlo modificando/agregando la siguiente directiva en su httpd.conf de su servidor web Apache.

TraceEnable off

Ejecutar como usuario y grupo separados

De forma predeterminada, Apache está configurado para ejecutarse con nadie o daemon.

No configure Usuario (o Grupo) como root a menos que sepa exactamente lo que está haciendo y cuáles son los peligros.

Solución

Ejecutar Apache en su propia cuenta no root es bueno. Modifique la directiva de usuario y grupo en httpd.conf de su servidor web Apache

User apache 
Group apache

Deshabilitar firma

El ajuste Desactivado, que es el predeterminado, suprime la línea de pie de página.

La configuración Activado simplemente agrega una línea con el número de versión del servidor y el nombre del servidor del host virtual de servicio.

Solución

Es bueno deshabilitar la firma, ya que es posible que no desee revelar la versión de Apache que está ejecutando.

ServerSignature Off

Deshabilitar pancarta

Esta directiva controla si el campo de encabezado de respuesta del servidor, que se envía de vuelta a los clientes, incluye una descripción del tipo de sistema operativo genérico del servidor, así como información sobre los módulos compilados.

Solución

ServerTokens Prod

Restringir el acceso a una red o IP específica

Si desea que su sitio sea visto solo por una dirección IP o red específica, puede modificar el directorio de su sitio en httpd.conf

Solución

Proporcione la dirección de red en la directiva Permitir.

<Directory /yourwebsite>    
Options None    
AllowOverride None    
Order deny,allow    
Deny from all    
Allow from 10.20.0.0/24  
</Directory>

Proporcione la dirección IP en la directiva Permitir.

<Directory /yourwebsite>
Options None
AllowOverride None
Order deny,allow
Deny from all
Allow from 10.20.1.56
</Directory>

Usar solo TLS 1.2

Según los informes, SSL 2.0, 3.0, TLS 1, 1.1 sufre de varias fallas criptográficas.

¿Necesita ayuda con la configuración de SSL? consulte esta guía.

Solución

SSLProtocol -ALL +TLSv1.2

Deshabilitar la lista de directorios

Si no tiene index.html en el directorio de su sitio web, el cliente verá todos los archivos y subdirectorios enumerados en el navegador (como la salida ls –l).

Solución

Para deshabilitar la exploración de directorios, puede establecer el valor de la directiva de opción en «Ninguno» o «-Índices»

<Directory />
Options None
Order allow,deny
Allow from all
</Directory>

O

<Directory />
Options -Indexes
Order allow,deny
Allow from all
</Directory>

Eliminar módulos DSO innecesarios

Verifique su configuración para eliminar módulos DSO redundantes.

Hay muchos módulos activados por defecto después de la instalación. Puedes eliminar lo que no necesites.

Deshabilitar cifrados nulos y débiles

Permita solo cifrados fuertes, de modo que cierre todas las puertas que intenten estrechar la mano en conjuntos de cifrado más bajos.

Solución

SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM

Estar al día

Como Apache es un código abierto activo, la forma más fácil de mejorar la seguridad del servidor web Apache es mantener la última versión. Se agregan nuevas correcciones y parches de seguridad en cada versión. Actualice siempre a la última versión estable de Apache.

Las anteriores son solo algunas de las configuraciones esenciales, y si está buscando en profundidad, puede consultar mi guía paso a paso de seguridad y fortalecimiento.

¿Te gustó leer el artículo? ¿Qué tal compartir con el mundo?