Mod_qos - Википедия - mod_qos
Стабильный выпуск | 11 |
---|---|
Репозиторий | |
Написано в | C |
Операционная система | Кроссплатформенность |
Доступно в | английский |
Тип | Модуль для HTTP-сервер Apache |
Лицензия | Apache_License |
Интернет сайт | mod-qos |
mod_qos это качество обслуживания (QoS) модуль для HTTP-сервер Apache реализация механизмов контроля, которые могут обеспечивать разный приоритет для разных запросов.
Описание
Веб-сервер может обслуживать только ограниченное количество одновременных запросов. QoS используется для обеспечения доступности важных ресурсов при высокой нагрузке на сервер. mod_qos используется для отклонения запросов к несущественным ресурсам при предоставлении доступа более важным приложениям. Также есть возможность отключить ограничения доступа, например, для запросов к очень важным ресурсам или для очень важных пользователей.
Механизмы управления доступны на следующих уровнях:
- Контроль уровня запросов: mod_qos контролирует количество одновременных запросов к пространству имен (URL). Он используется для определения разных приоритетов для разных страниц или приложений на веб-сервере.
- Контроль уровня соединения: mod_qos контролирует количество TCP-соединений с веб-сервером. Это помогает ограничить подключения, исходящие от одного клиента или из неизвестных сетей, чтобы уменьшить максимальное количество одновременных подключений к виртуальному серверу или реализовать динамические параметры проверки активности HTTP.
- Контроль уровня пропускной способности: ограничивает запросы / ответы на определенный URL-адрес на веб-сервере.
- Стандартная строка запроса и фильтр заголовков, отбрасывающий подозрительные URL-адреса запросов или заголовки HTTP.
Модуль может быть полезен при использовании в обратный прокси чтобы разделить ресурсы на разные веб сервер.
Сценарии использования
Медленное приложение
Первый вариант использования показывает, как mod_qos может избежать сбоя обслуживания веб-сервера из-за медленных ответов одного приложения. Если приложение (здесь / ccc) работает очень медленно, запросы ждут, пока не истечет время ожидания. Из-за большого количества ожидающих запросов на веб-сервере заканчиваются свободные TCP-соединения и он не может обрабатывать другие запросы к приложению / aaa или / bbb. mod_qos ограничивает одновременные запросы к приложению, чтобы гарантировать доступность других ресурсов.
HTTP keep-alive
Расширение keep-alive для HTTP 1.1 допускает постоянные TCP-соединения для множественных запросов / ответов. Это ускоряет доступ к веб-серверу за счет меньшего и оптимизированного сетевого трафика. Недостатком этих постоянных соединений является то, что ресурсы сервера блокируются, даже если между клиентом и сервером не происходит обмена данными. mod_qos позволяет серверу поддерживать keep-alive, пока достаточно свободных соединений, останавливая поддержку keep-alive при достижении определенного порога соединения.
Клиент открывает много одновременных подключений
Один клиент может открывать несколько одновременных TCP-соединений для загрузки различного контента с веб-сервера. Хотя клиент получает много подключений, другие пользователи могут не иметь доступа к серверу, поскольку для них не остается свободных подключений. mod_qos может ограничивать количество одновременных подключений для одного IP-адреса источника.
Многие запросы к одному URL
Если вам нужно ограничить количество запросов к URL-адресу, mod_qos также может помочь с этим. mod_qos ограничивает максимальное количество запросов в секунду к этому URL. Модуль также может управлять полосой пропускания. Просто укажите максимально допустимую полосу пропускания, и moq_qos начнет регулирование, когда это станет необходимо.
Устранение атак отказа в обслуживании с низкой пропускной способностью
mod_qos может помочь защитить веб-сервер Apache от DoS-атак с низкой пропускной способностью за счет обеспечения минимальной пропускной способности загрузки / выгрузки, которую должен генерировать клиент.[1]
История
Первоначальный выпуск mod_qos был создан в мае 2007 г. и опубликован на SourceForge.net[2] как проект с открытым исходным кодом. Он смог ограничить количество одновременных HTTP-запросов для указанных ресурсов (часть пути запроса URL-адреса ) на веб-сервере. Были добавлены дополнительные функции, и некоторые из них были полезны для защиты серверов Apache от DoS атаки.[3][4]В 2012 году mod_qos был включен в Ubuntu Дистрибутив Linux.[5]
Основные выпуски:[6]
- Май 2007 г., версия 1. Ограничивает количество одновременных запросов на основе пути URL.
- Июль 2007 г., версия 2.2: введение утилит поддержки.
- Август 2007 г., версия 3: вводит элементы управления уровнем подключения, а также средство просмотра состояния.
- Сентябрь 2007 г., версия 4: регулирование запросов / ответов и общая фильтрация запросов.
- Декабрь 2007 г., версия 5: ограничение по событиям, определяемым пользователем.
- Март 2008 г., версия 6: механизмы управления для каждого клиента (IP).
- Май 2008 г., версия 7: обеспечивает минимальную пропускную способность выгрузки / загрузки, которую должен генерировать клиент.
- Сентябрь 2009 г., версия 9: Обнаружение аномалий с помощью измерения характеристик клиента.
- Февраль 2012 г., версия 10: добавлены функции геолокации (коды стран ISO 3166).
- Май 2014 г., версия 11: значительно улучшено регулирование отклика (ограничение в байтах / сек).
- Июль 2015 г., версия 11.15: сериализация не только на уровне сервера, но и на уровне клиента (IP).
- Май 2016 г., версия 11.28: поддерживает дифференцированные услуги путем управления полем IP DSCP.
Рекомендации
- ^ "руководство по mod_qos". Получено 2012-11-29.
- ^ "mod_qos на SourceForge.net". 2007-05-18. Получено 2012-11-24.
- ^ Маркус Шпигель (15.07.2009). "Как защитить slowloris DDoS с помощью mod_qos". HowtoForge. Получено 2012-11-24.
- ^ Чарли Куэнаст (май 2010 г.). "Aus dem Alltag eines Sysadmin: Mod_qos gegen Slowloris". Linux Magazin. Получено 2012-11-24.
- ^ "пакет mod_qos для Ubuntu". Получено 2012-11-24.
- ^ "Журнал изменений". Получено 2012-11-27.