Hardening de un servidor Apache - Anti GATERING
Hardening de un servidor Apache
Apache es un servidor web muy popular para un entorno Linux. Al igual que la mayoría de los servicios visibles en Internet, se deben implementar formas de protegerse de usuarios malintencionados. Aquí discuto cómo se endurecen mis instalaciones de Apache como instalados a través del sistema de paquetes apt-get gestión en Debian (debe ser el mismo en Ubuntu también). Esta facilidad se debe aplicar a otras distribuciones, pero sólo en cuenta que las ubicaciones de los archivos son probablemente diferentes.
1) Deshabilitar módulos innecesarios
Al instalar apache a través de apt-get en un servidor basado en Debian, que viene con unos pocos módulos pre-activado para dar a un atacante demasiada información sobre su sistema. Estos son el AUTOINDEX y los módulos de estado. Esto es lo que hacen:
autoindex: ofrece una buena lista de todos los archivos en un directorio donde se le da ningún archivo de índice
status: le da un buen poco monitoreo de páginas web
Hay mas de una manera de desactivar estos módulos. Usted puede eliminar el enlace simbólico de /etc/apache/mods-enabled/ o utilizar built in que hace exactamente lo mismo.
a2dismod status
a2dismod autoindex
2) Cambiar algunos de los ajustes por defecto
De forma predeterminada, la mayoría de las aplicaciones que dan la configuración , permiten funcionar sin tocarlas para nada. Para asegurar las cosas por lo general, tiene que editar los archivos de configuración. Bueno, apache no es diferente. Abrir /etc/apache2/apache2.conf y cambiar lo siguiente:
Sugerencia: usar la función de búsqueda de su editor para encontrar rápidamente las opciones
ServerSignature Off
Oculta su version de apache en las paginas de error
ServerTokens Prod
Detiene la inclusion de informacion en el encabezado HTTP que da las versiones de Apache
Quite o comente <IfModule mod_autoindex.c> ... </IfModule>
Es innecesario tener eso aqui
Eliminar el alias /icons/ , junto con el listado del directorio
Estos iconos sólo son utilizados por el módulo de índice automático, no hay razón para tener eso
Sugerencia: usar la función de búsqueda de su editor para encontrar rápidamente las opciones
ServerSignature Off
Oculta su version de apache en las paginas de error
ServerTokens Prod
Detiene la inclusion de informacion en el encabezado HTTP que da las versiones de Apache
Quite o comente <IfModule mod_autoindex.c> ... </IfModule>
Es innecesario tener eso aqui
Eliminar el alias /icons/ , junto con el listado del directorio
Estos iconos sólo son utilizados por el módulo de índice automático, no hay razón para tener eso
3) Agregue un poco mas de configuracion custom
Agregue lo siguiente a /etc/apache2/httpd.conf. Explicado que hace en comentarios
<Directory /var/www>
# Utilice esto para evitar el metodo TRACE http el cual sirve
# para recabar(gathering path information) informacion de proxy o servidores (cache servers)
<LimitExcept GET POST>
deny from all
</LimitExcept>
# El '-' desabilita las siguientes funciones
# FollowSymLinks - puede ser utilizado para buscar carpetas fuera del arbol del directorio
#
# Includes - maneja a .shtml; previene incluir archivos del servidor, local file include
#
# AllowOverride None - previene a los desarrolladores cambiar opciones con el
# .htaccess
Options -FollowSymLinks -Includes -Indexes -MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Ademas, agregue esto, para prevenir acceso al root de su directorio ( root directory (/) )
<Directory />
Order deny,allow
deny from all
</Directory>
4) Cambie algunos permisos
Su carpeta public html (en Debian por default es /var/www) deberia ser escribible solo por el usuario root. Eso si, necesita ser LEIDO por todo el mundo asi que se configura asi, demos los siguientes permisos:
chown -R root /var/www
chmod -R 775 /var/www
Resumen
Estos pasos le dará un servidor Apache bastante seguro, pero de ninguna manera completa y depende totalmente de lo que usted necesita hacer en su servidor. Esto es sólo una lista de mis recomendaciones personales y es lo que uso para configurar un servidor web desde cero. La clave para mantenerse seguro, sin embargo, es mantener sus sistemas actualizados y ver de seguimiento de fallos listas de correo (Bugtraq por ejemplo) de los informes ya que a menudo proporcionan soluciones y soluciones para estos problemas.
-- James Jara
-- James Jara
Comentarios
Publicar un comentario