Apache es el servidor web más utilizado del planeta, y es también uno de los más atacados. Por eso que es siempre aconsejable asegurar el servidor Apache lo más que se pueda, y no solo asegurando la red, sino también dándole tanta atención al servidor como la que obtiene de agentes externos. Veremos como podemos proteger nuestro servidor web Apache de los ataques de DoS y DDoS.
En esta serie de artículos, se explicará el funcionamiento de diferentes ataques, además de dar las instrucciones para la instalación de componentes que ayuden a prevenir estos y otros tipos de ataques. Asegurate de seguir las otras guías de protección de Apache contra los ataques en Internet: Slowloris e Inyección DNS.
Se asume que el servidor Apache está instalado y ejecutándose, y que se ejecuta en una distribución Linux basada en Ubuntu (o Ubuntu mismo). Para otras distros se requerirán mínimos ajustes en los comandos a ejecutar.
DDoS
El Ataque de Denegación de Servicio (DoS) o Ataque Distribuido de Denegación de Servicio (DDoS), es un intento de poner a un servidor o red fuera de servicio para sus usuarios previstos. Generalmente consiste en esfuerzos para interrumpir temporal o definitivamente un host conectado a Internet. La diferencia entre DoS y DDoS es que DDoS es distribuido, es decir, es realizado por 2 o más personas utilizando direcciones IPs diferentes.
Una forma común de realizar este ataque consiste en saturar el objetivo con peticiones de comunicación externas, de tal manera de que no pueda responder a tráfico legítimo, o que responda tan lentamente que lo haga esencialmente no disponible. Estos ataques usualmente llevan a una sobrecarga de servidor. En muchos paises, estas prácticas se consideran ilegales, además de infringir las políticas de conducta de la mayoría de los proveedores de Internet.
¿Como Proteger Un Servidor Apache de los Ataques DoS o DDoS?
Existe un módulo de Apache que previene los ataques DoS o DDoS, que probablemente no esté instalado por defecto. El módulo mod_evasive provee de acciones evasivas en el caso de ataques HTTP DoS y DDOS, además de ataques de fuerza bruta. Puede ser configurado para que se comunique con ipchains, los firewalls, routers y otros dispositivos de red. Mod_evasive actualmente puede reportar abusos por email y logs.
Internamente, se realiza la detección creando una tabla hash dinámica de direcciones IP y URLs, y denegando a las IPs que cumplan una de las siguientes condiciones:
- Mandar peticiones a la misma página muchas veces por segundo
- Hacer mas de 50 (configurable) peticiones concurrentes al mismo nodo por segundo
- Hacer peticiones cuando está en una lista negra o lista de bloqueo (blacklisting)
Integrar la Protección Contra DoS y DDoS en Apache
Para integrar mod_evasive a Apache, sigue estos pasos:
- Abre la ventana de terminal.
- Para instalar el módulo mod_evasive en Apache, ingresa el comando:
sudo apt-get -y install libapache2-mod-evasive
- Para crear el directorio de logs, ingresa los siguientes comandos:
sudo mkdir -p /var/log/apache2/evasive. sudo chown -R www-data:root /var/log/apache2/evasive.
- Abre el archivo /etc/apache2/mods-available/mod-evasive.load utilizando sudo y tu editor de archivos favorito, y agrega las siguientes lineas al final del archivo (una configuración por linea):
DOSHashTableSize 2048 DOSPageCount 20 # maximo numero de peticiones a la misma pagina DOSSiteCount 300 # numero total de peticiones para cualquier objeto por el mismo cliente IP en el mismo listener DOSPageInterval 1.0 # intervalo para la pagina DOSSiteInterval 1.0 # intervalo para el sitio DOSBlockingPeriod 10.0 # tiempo en que estara bloqueado un cliente DOSLogDir “/var/log/apache2/evasive” DOSEmailNotify admin@domain.com # email de notificacion
- Guarda el archivo y reinicia Apache con el comando:
sudo service apache2 restart
Ahora ya deberías estar mejor protegido de los ataques DoS y DDoS. Para continuar asegurando tu servidor Apache, asegurate de seguir las otras guías de protección de Apache contra los ataques en Internet:
No hay comentarios:
Publicar un comentario