Se propone realizar las siguientes acciones para mejorar la seguridad del servidor web Apache:
- Actualizar el ServidorWeb Apache
- Prevenir Ataques de Denegación de Servicio
- Prevenir Ataques de Fuerza Bruta
- Ocultar la Versión de Apache y del Sistema Operativo
- Deshabilitar Listado de Directorio y FollowSymLinks
- Deshabilitar TRACE HTTP Request
- Seguridad de Encabezados
Actualizar el Servidor Web Apache
Es crucial contar con las últimas actualizaciones del servidor, que prevengan los posibles problemas a encontrar.
# apt-get update
# apt-get dist-upgrade

Prevenir Ataques de Denegación de Servicio
Poner en una lista negra el IP desde el que provienen muchas solicitudes, que se dirigen a una página varias veces por segundo.
# apt install libapache2-mod-evasive -y
# systemctl restart apache2
# apachectl -M | grep evasive

Prueba de validación:

Prevenir Ataques de Fuerza Bruta
Previene ataques de fuerza bruta a aplicaciones de servidores web.
# apt install libapache2-mod-security2 -y
# systemctl restart apache2

Pruebade validación:

Ocultar la Versión de Apache y del Sistema Operativo
Esta práctica puede ocultar información a los atacantes que recolecteninformación del servidor WEB.
# nano /etc/apache2/conf-enabled/security.conf
Modificar los siguientes valores:
ServerSignature Off
ServerTokens Prod
Reiniciar el servidor
# systemctl reload apache2
Prueba de validación:
Revisar las cabeceras de respuestas del servidor Web

Deshabilitar Listado de Directorio y FollowSymLinks
Esto impide que los hackers analisen los archivos del servidor web.
# a2dismod autoindex -f
# systemctl reload apache2

Prueba de validación:
Medianteun navegador acceder a una carpeta publicada en el servidor Web.

Deshabilitar TRACE HTTP Request
Esto impide que un atacante robe la información de las cookies.
# nano/etc/apache2/conf-enabled/security.conf
Modificar el siguiente valor:
TraceEnable Off
# systemctl reload apache2
Prueba de validación:

Seguridad de Encabezados
Los encabezados le indican al navegador que tenga en cuenta los tipos de archivos definidos y no permite el rastreo de contenido.
# a2enmod headers # nano/etc/apache2/conf-enabled/security.conf
Modificar los siguientes valores:
Header set X-Content-Type-Options: «nosniff»
Los encabezados le indican al navegador que tenga en cuenta los tipos de archivos definidos y no permite el rastreo de contenido.
Header always set X-Frame-Options: «SAMEORIGIN»
Previene el ataque Clickjacking
Header always set Referrer-Policy: «no-referrer»
Este parámetro indica que nunca se envíe el origen del visitante al acceder a un link. De esta manera, todos los usuarios que llegan a una web desde otra configurada como no-referrer aparecerán con el origen NULL.
Header set X-XSS-Protection: «1; mode=block»
Habilita el filtro XSS. En lugar de sanitizar la página, el navegador evitará la visualización de la página en caso de que algún ataque sea detectado.
Reiniciar el servidor:
# systemctl restart apache2
Prueba de validación:
Revisar las cabeceras de respuesta delservidor Web apache.

Referencia: