← Volver al inicio
Apache SSL/TLS mod_security Hardening

Hardening de Apache

10/03/2025

Esta guía cubre las mejores prácticas para asegurar un servidor Apache en producción, incluyendo configuración de SSL/TLS, cabeceras de seguridad y mod_security.

1. Cabeceras de seguridad HTTP

Agrega las siguientes directivas en tu httpd.conf o en el bloque VirtualHost:

Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set X-XSS-Protection "1; mode=block"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
Header always set Content-Security-Policy "default-src 'self'"
Header always set Permissions-Policy "geolocation=(), microphone=(), camera=()"

2. Deshabilitar métodos HTTP innecesarios

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

3. Ocultar información del servidor

ServerTokens Prod
ServerSignature Off

4. Configuración SSL/TLS con certificado Let's Encrypt

SSLProtocol -all +TLSv1.2 +TLSv1.3
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256
SSLHonorCipherOrder off
SSLSessionTickets off
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"

5. mod_security (WAF básico)

SecRuleEngine On
SecRequestBodyAccess On
SecRule ARGS "@detectSQLi" "id:1001,phase:2,deny,status:403"
SecRule ARGS "@detectXSS"  "id:1002,phase:2,deny,status:403"

Recuerda reiniciar Apache después de cada cambio: sudo systemctl restart apache2