7 ответов:
лучшие
- mod_evasive (сфокусировано больше на уменьшении выдержки DoS)
- mod_cband (лучше всего подходит для "нормального" управления полосой пропускания)
а остальные
Как говорится в этот блог сообщение кажется возможным использовать Apache mod_security для реализации ограничения скорости в секунду.
конфигурация выглядит примерно так:
SecRuleEngine On <LocationMatch "^/somepath"> SecAction initcol:ip=%{REMOTE_ADDR},pass,nolog SecAction "phase:5,deprecatevar:ip.somepathcounter=1/1,pass,nolog" SecRule IP:SOMEPATHCOUNTER "@gt 60" "phase:2,pause:300,deny,status:509,setenv:RATELIMITED,skip:1,nolog" SecAction "phase:2,pass,setvar:ip.somepathcounter=+1,nolog" Header always set Retry-After "10" env=RATELIMITED </LocationMatch> ErrorDocument 509 "Rate Limit Exceeded"
существует множество способов, включая брандмауэры веб-приложений, но проще всего реализовать при использовании Apache mod.
один такой мод я хотел бы рекомендовать это mod_qos. Это бесплатный модуль, который очень эффективен против атак типа certin DOS, Bruteforce и Slowloris. Это позволит облегчить нагрузку на сервер совсем немного.
это очень мощный.
текущий релиз mod_qos модуль реализует механизмы управления для управления:
максимальное количество одновременных запросов к местоположению/ресурс (URL) или виртуальный хост.
ограничение пропускной способности, например максимально допустимое количество запросов в секунду к URL-адресу или максимальное / минимальное количество загруженных Кбайт в секунду.
ограничивает количество событий запроса в секунду (специальный запрос условия.)
- ограничивает количество событий запроса в течение определенного периода времени.
- он также может обнаруживать очень важных лиц (VIP), которые могут получить доступ к веб-сервер без или с меньшим количеством ограничений.
общий фильтр строки запроса и заголовка для запрета несанкционированного доступа оперативный.
ограничение и фильтрация данных тела запроса (требуется mod_parp).
ограничивает количество событий запроса для отдельных клиентов (ИНТЕЛЛЕКТУАЛЬНАЯ СОБСТВЕННОСТЬ.)
ограничения на уровне TCP-соединения, например, максимальное количество разрешено подключений с одного IP-адреса источника или динамический держите-Живой Контроль.
- предпочитает известные IP-адреса, когда сервер работает из свободного TCP подключение.
Это пример конфигурации того, для чего вы можете его использовать. Существуют сотни возможных конфигураций в соответствии с вашими потребностями. Посетите сайт для получения дополнительной информации контроли.
Sample configuration: # minimum request rate (bytes/sec at request reading): QS_SrvRequestRate 120 # limits the connections for this virtual host: QS_SrvMaxConn 800 # allows keep-alive support till the server reaches 600 connections: QS_SrvMaxConnClose 600 # allows max 50 connections from a single ip address: QS_SrvMaxConnPerIP 50 # disables connection restrictions for certain clients: QS_SrvMaxConnExcludeIP 172.18.3.32 QS_SrvMaxConnExcludeIP 192.168.10.
в Apache 2.4 появился новый модуль под названием mod_ratelimit. Для эмуляции скорости модема можно использовать mod_dialup. Хотя я не понимаю, почему вы просто не могли использовать mod_ratelimit для всего.
к сожалению,
mod_evasiveне будет работать должным образом при использовании в конфигурациях без предварительного форка (последние настройки apache в основном MPM)
зависит от того, почему вы хотите ограничить скорость.
Если это для защиты от перегрузки сервера, на самом деле имеет смысл поставить NGINX перед ним и настроить
Comments