Unidad 9.4: Seguridad basica en Apache
Permisos, headers y superficie minima
Unidad 9.4: Seguridad basica en Apache
Introduccion
Hardening basico en Apache consiste en: exponer lo minimo, evitar configuraciones inseguras, y dejar evidencias (headers/logs/configtest).
Objetivos de aprendizaje
- Reducir informacion expuesta
- Habilitar headers basicos de seguridad
- Verificar con curl
Quitar informacion innecesaria (ServerTokens/ServerSignature)
En Ubuntu, puedes definir directivas globales en /etc/apache2/conf-available/.
BASH
- 1
- tee + heredoc crea un archivo de configuracion global.
- 2
-
a2enconf habilita configuraciones en
conf-enabled/. - 3
- apachectl configtest valida sintaxis.
- 4
- systemctl reload aplica cambios.
Headers basicos
BASH
1$ sudo a2enmod headers
Enabling module headers.
2$ sudo tee /etc/apache2/conf-available/security-headers.conf >/dev/null <<'EOF'
<IfModule mod_headers.c>
Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
</IfModule>
EOF
3$ sudo a2enconf security-headers
Enabling conf security-headers.
4$ sudo apachectl configtest
Syntax OK
5$ sudo systemctl reload apache2- 1
- a2enmod headers habilita mod_headers.
- 2
- tee + heredoc define headers basicos.
- 3
- a2enconf habilita la configuracion.
- 4
- apachectl configtest valida sintaxis.
- 5
- systemctl reload aplica cambios.
Verificar headers
BASH
1$ curl -I http://localhost | sed -n '1,15p'
HTTP/1.1 200 OK
Server: Apache
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
Referrer-Policy: strict-origin-when-cross-origin- 1
- curl -I verifica headers de respuesta.
Mejores practicas
- Configtest antes de cada reload.
- Logs siempre: si no esta en logs, no paso.