Hardening en un servidor web Apache2
September 11, 2017
Hardening en un servidor web Apache2
Otra de las deudas técnicas que tenía con este blog era la de algunos tips útiles para realizar un Hardening a un servidor Apache2. A continuación relaciono algunas de las cosas mas importantes:
-
Desactivar las banderas de versión: Cuando mostramos la versión de nuestro navegador estamos facilitando la vida del atacante, pues ya restringe el dominio de vulnerabilidades que tendrá que explorar para buscar un vector de ataque. Añadir esto al final de nuestro archivo de configuración de apache, en ubuntu en
/etc/apache2/httpd.conf
ServerTokens Prod ServerSignature Off
-
Desactivar el indexado de archivos: Apache por defecto permite explorar archivos por medio de un navegador, lo cual puede revelar información confidencial de nuestros usuarios o nuestro sistema, por eso es bueno desactivar el indexado: Añadir esto en el segmento de nuestro virtualhost
<Directory /ruta/al/directorio/raiz/de/apache> Options -Indexes AllowOverride None Order deny,allow Deny from all </Directory>
-
Quitar los permisos de ejecución a terceros en carpetas donde se pueda subir información: Una explicación mas detallada de esto se puede encontrar en este post
sudo groupadd varwwwusers sudo adduser www-data varwwwusers sudo chgrp -R varwwwusers /var/www/html sudo chmod -R 770 /var/www/html
-
Deshabilitar métodos inseguros: Aunque a veces nos limitamos al
GET
y alPOST
,HTTP
tiene otro montón de métodos que pueden ser usados en nuestra contra, para el robo de credenciales por medio de cookies se suele usar el métodoTRACE
que esencialmente hace un eco de la petición entrante, permitiendo a un tercero interceptar las cookies entrantes Para deshabilitarlo, basta añadir esta línea al archivo de configuraciónTraceEnable off
Se pueden Restringir todos los métodos a excepción de los nombrados usando la etiqueta LimitExcept, pero lo dejo a decisión de cada desarrollador
<LimitExcept GET POST HEAD> deny from all </LimitExcept>
- Mantenerse actualizado: Siempre es importante mantener la versión de nuestras aplicaciones lo mas actualizadas posibles, usualmente los proveedores parchan los bugs y vulnerabilidades en los nuevos lanzamientos de versiones.
Si quieres una guía adicional, te recomiendo este artículo