Concretamente, la vulnerabilidad ha sido catalogada como «Range header DoS vulnerability in Apache 1.3 and Apache 2» (CVE-2011-3192:). El tema es serio ya que con un número relativamente bajo de peticiones, pueden producirse ataques de denegación de servicio, debido a un excesivo consumo de memoria y CPU.
Como prueba de concepto, está el script escrito en Perl denominado»killapache«. Para comprobar si vuestro servidor es susceptible de recibir este tipo de ataques, os recomendamos leer la entrada sobre el tema de Jordi Prats en»systemadmin.es»
Este bug, del que se espera que en 96 h aproximadamente esté parcheado (aunque hablan de parches para las versiones 2.0x y 2.2x, no para la 1.3x según informan), afecta especialmente a Apache junto a módulos relativos a la compresión de ficheros, como puede ser el caso de uno tan popular como mod_deflate. Debido a la falta de actualizaciones, se proponen varias medidas para paliar los efectos del bug.
Estas actuaciones se pueden combinar con otras soluciones de «apoyo» como podrían ser Mod-Evasive, Mod-Security, (D) DoS Deflate, la configuración de vuestro firewall, etc.
(#Disclaimer; En la fuente original ya se informa que estas medidas pueden afectar al normal uso de los sitios webs en los que se implementen. Vídeo por streaming, sesiones activas, ciertas descargas, cookies y otras peticiones legítimas).
1) Utilizar «mod_headers«; (Ponedlo debajo de la directiva «ServerRoot»)
RequestHeader unset Range
2) Usar «mod_rewrite» para limitar el número de intervalos:
RewriteCond % {HTTP:range} ^bytes=[^,]+(,[^,]+) {0,4}$
RewriteRule. *-[F]3) Reducir el tamaño en bytes de las peticiones; (mejor con la opción 1)
LimitRequestFieldSize 200
4) Usar temporalmente un módulo de «recuento» como mod_rangecnt.c. (esta opción mejor la última…)
http://People.Apache.org/~dirkx/mod_rangecnt.c (descarga directa)
5) Quitar «mod_deflate» temporalmente, la «menos mala» quizás.
(Alguna consideración sobre su desactivación aparte de un «a2dismod» en Debian y derivados)
«Removing any AddOutputFilterByType/SetOutputFilter DEFLATE entries. Disable it with «BrowserMatch .* no-gzip«
Ante las dudas que os puedan surgir, os recomendamos permanecer atentos a posibles parches y leer la fuente original de este artículo o está información de «Debian Security» en el que hablan del bug y cómo afecta a Apache en su versión estable. También es recomendable seguir este hilo para contrastar e ir leyendo más información.
Por David Hernández (Dabo).