Ограничение скорости Управление доступом Apache 2?

Я не делаю ничего особенного. Я просто использую управление доступом Apache2 для защиты каталога паролем.

Я подумал, что было бы разумно, если бы Apache ограничивал частоту попыток пользователей аутентифицировать имя пользователя и пароль с заданного IP-адреса. Это был бы дешевый способ предотвратить попытки перебора пароля без DoSing-атак законных попыток входа пользователя.

Я искал и не смог найти ничего специфического для этого, и я был удивлен. Как это сделать? Есть ли что-нибудь получше?

0
задан 5 June 2019 в 04:00
1 ответ

В этом сообщении в блоге указано, что вы можете сделать это с помощью 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"

Дополнительное обсуждение на этот ответ .

0
ответ дан 23 November 2019 в 23:34

Теги

Похожие вопросы