mod_qos es un módulo de calidad de servicio (QoS) para el servidor HTTP Apache que implementa mecanismos de control que pueden proporcionar diferentes prioridades a diferentes solicitudes.
Lanzamiento estable | 11 |
---|---|
Repositorio | |
Escrito en | C |
Sistema operativo | Multiplataforma |
Disponible en | inglés |
Tipo | Módulo para el servidor HTTP Apache |
Licencia | Apache_License |
Sitio web | mod-qos |
Descripción
Un servidor web solo puede atender un número limitado de solicitudes simultáneas. QoS se utiliza para garantizar que los recursos importantes permanezcan disponibles bajo una alta carga del servidor. mod_qos se usa para rechazar solicitudes de recursos sin importancia mientras se otorga acceso a aplicaciones más importantes. También es posible deshabilitar las restricciones de acceso, por ejemplo, para solicitudes a recursos muy importantes o para usuarios muy importantes.
Los mecanismos de control están disponibles en los siguientes niveles:
- Control de nivel de solicitud: mod_qos controla el número de solicitudes simultáneas a un espacio de nombres (URL). Se utiliza para definir diferentes prioridades para diferentes páginas o aplicaciones dentro de un servidor web.
- Control de nivel de conexión: mod_qos controla el número de conexiones TCP al servidor web. Esto ayuda a limitar las conexiones provenientes de un solo cliente o de redes desconocidas, con el fin de reducir el número máximo de conexiones simultáneas a un servidor virtual o para implementar configuraciones HTTP Keep-Alive dinámicas.
- Control de nivel de ancho de banda: acelera las solicitudes / respuestas a ciertas URL en el servidor web.
- Línea de solicitud genérica y filtro de encabezado que elimina URL de solicitud sospechosas o encabezados HTTP.
El módulo puede ser útil cuando se usa en un proxy inverso para dividir los recursos en diferentes servidores web .
Casos de uso
Aplicación lenta
El primer caso de uso muestra cómo mod_qos puede evitar la interrupción del servicio de un servidor web debido a las respuestas lentas de una sola aplicación. En caso de que una aplicación (aquí / ccc) sea muy lenta, las solicitudes esperan hasta que se agote el tiempo de espera. Debido a muchas solicitudes en espera, el servidor web se queda sin conexiones TCP gratuitas y no puede procesar otras solicitudes a application / aaa o / bbb. mod_qos limita las solicitudes simultáneas a una aplicación para asegurar la disponibilidad de otros recursos.
HTTP Keep-Alive
La extensión Keep-Alive para HTTP 1.1 permite conexiones TCP persistentes para múltiples solicitudes / respuestas. Esto acelera el acceso al servidor web debido a un tráfico de red menor y optimizado. La desventaja de estas conexiones persistentes es que los recursos del servidor están bloqueados aunque no se intercambien datos entre el cliente y el servidor. mod_qos permite que un servidor admita Keep-Alive siempre que haya suficientes conexiones libres, deteniendo el soporte Keep-Alive cuando se alcanza un umbral de conexión definido.
El cliente abre muchas conexiones simultáneas
Un solo cliente puede abrir muchas conexiones TCP simultáneas para descargar contenido diferente del servidor web. Si bien el cliente obtiene muchas conexiones, es posible que otros usuarios no puedan acceder al servidor, ya que no quedan conexiones libres para ellos. mod_qos puede limitar el número de conexiones simultáneas para una única dirección de origen IP.
Muchas solicitudes a una sola URL
Si tiene que limitar la cantidad de solicitudes a una URL, mod_qos también puede ayudar con eso. mod_qos limita el número máximo de solicitudes por segundo a esta URL. El módulo también puede controlar el ancho de banda. Simplemente especifique el ancho de banda máximo permitido y moq_qos comenzará a estrangularse cuando sea necesario.
Mitigación de ataques de denegación de servicio de ancho de banda bajo
mod_qos puede ayudar a proteger un servidor web Apache contra ataques DoS de ancho de banda bajo al imponer un rendimiento mínimo de carga / descarga que debe generar un cliente. [1]
Historia
La versión inicial de mod_qos se creó en mayo de 2007 y se publicó en SourceForge.net [2] como un proyecto de software de código abierto. Pudo limitar el número de solicitudes HTTP simultáneas para recursos específicos (parte de la ruta de las URL de solicitud ) en el servidor web. Se agregaron más funciones y algunas de ellas fueron útiles para proteger los servidores Apache contra ataques DoS . [3] [4] En 2012, mod_qos se incluyó en la distribución de Ubuntu Linux. [5]
Lanzamientos importantes: [6]
- Mayo de 2007, versión 1: limita las solicitudes simultáneas por ruta de URL.
- Julio de 2007, versión 2.2: Introducción de utilidades de soporte.
- Agosto de 2007, versión 3: introduce controles de nivel de conexión y un visor de estado.
- Septiembre de 2007, versión 4: limitación de solicitudes / respuestas y filtrado de solicitudes genéricas.
- Diciembre de 2007, versión 5: limitación por eventos definidos por el usuario.
- Marzo de 2008, Versión 6: Mecanismos de control por cliente (IP).
- Mayo de 2008, versión 7: impone el rendimiento mínimo de carga / descarga que debe generar un cliente.
- Septiembre de 2009, versión 9: detección de anomalías mediante la medición de las características del cliente.
- Febrero de 2012, versión 10: agrega características de geolocalización (códigos de país ISO 3166).
- Mayo de 2014, versión 11: mejora en gran medida la limitación de la respuesta (limitación de bytes / seg).
- Julio de 2015, versión 11.15: serialización no solo por servidor, sino también por cliente (IP).
- Mayo de 2016, versión 11.28: admite servicios diferenciados mediante el control del campo IP de DSCP.
Referencias
- ^ "manual de mod_qos" . Consultado el 29 de noviembre de 2012 .
- ^ "mod_qos en SourceForge.net" . 2007-05-18 . Consultado el 24 de noviembre de 2012 .
- ^ Marcus Spiegel (15 de julio de 2009). "Cómo defender slowloris DDoS con mod_qos" . HowtoForge . Consultado el 24 de noviembre de 2012 .
- ^ Charly Kuehnast (mayo de 2010). "Aus dem Alltag eines Sysadmin: Mod_qos gegen Slowloris" . Linux Magazin . Consultado el 24 de noviembre de 2012 .
- ^ "paquete mod_qos para Ubuntu" . Consultado el 24 de noviembre de 2012 .
- ^ "Cambio de registro" . Consultado el 27 de noviembre de 2012 .