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

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

0 pensamientos:

Post a Comment

feedback!