Итак, сегодня я просматривал свои журналы HAProxy и заметил некоторые странные запросы, сделанные внешними IP-адресами к доменам, которые мы не размещаем.
Например
Jun 8 06:25:56 haproxy haproxy[6316]: 185.108.107.19:54243 [08/Jun/2020:06:25:56.731] localhost localhost/<NOSRV> -1/-1/-1/-1/13 503 213 - - SC-- 2/2/0/0/0 0/0 "CONNECT chekfast.zennolab.com:443 HTTP/1.1
Jun 8 06:26:33 haproxy haproxy[6316]: 185.108.107.19:54598 [08/Jun/2020:06:26:33.855] localhost localhost/<NOSRV> -1/-1/-1/-1/3 400 188 - - PR-- 0/0/0/0/0 0/0 "<BADREQ>"
Jun 8 06:34:07 haproxy haproxy[6316]: 94.200.76.222:55958 [08/Jun/2020:06:34:07.906] localhost localhost/<NOSRV> -1/-1/-1/-1/0 503 213 - - SC-- 0/0/0/0/0 0/0 "POST /cgi-bin/mainfunction.cgi HTTP/1.1"
Jun 8 06:46:05 haproxy haproxy[6316]: 14.221.172.38:2184 [08/Jun/2020:06:46:05.845] localhost localhost/<NOSRV> -1/-1/-1/-1/11 503 213 - - SC-- 6/6/0/0/0 0/0 "GET http://api.gxout.com/proxy/check.aspx HTTP/1.1"
Jun 8 06:59:49 haproxy haproxy[6316]: 223.12.75.250:17883 [08/Jun/2020:06:59:49.392] localhost localhost/<NOSRV> -1/-1/-1/-1/0 503 213 - - SC-- 11/11/0/0/0 0/0 "HEAD http://123.125.114.144/ HTTP/1.1"
Из того, что я могу сказать, человек, выполняющий это (или сценарий), получает коды ответа, такие как 503 (Служба недоступна), что, как я надеюсь, означает, что запрос не проходит должным образом, - но есть ли способ остановить такие запросы от делается в первую очередь? Мы запускаем HAProxy версии 1.6.3 на Ubuntu 16.04.4 LTS.
Спасибо
Вы не можете запретить людям делать запросы, но вы можете ограничить количество раз, когда данный IP-адрес делает определенные запросы.
На уровне сервера я запускаю fail2ban и определяю тюрьмы и правила в соответствии со своими потребностями, поэтому ни один IP-адрес не может сделать больше, чем ваше заранее определенное количество неверных запросов, и это резко снижает общее количество запросов к серверу. Для получения дополнительной информации о том, как его использовать, создавать определенные правила и определять файлы журналов в соответствии с вашими потребностями, посетите:
https://www.fail2ban.org/wiki/index.php/MANUAL_0_8
HAProxy имеет встроенный инструмент, который делает нечто подобное, что вы можете увидеть по адресу:
https://haproxy.com/blog/bot-protection-with-haproxy
Если я правильно понимаю, HAProxy занимается только маршрутизацией запросов на порты, за которые он отвечает. fail2ban может иметь правила для запросов на любом порту, поэтому, если он еще не запущен и вы смотрите, что это ваш безопасный журнал, вероятно, множество людей исследуют ваши порты 22, 3306 и другие.