LINUX.ORG.RU
решено ФорумAdmin

Fail2ban: правильно бана по стране и урл nginx

 


0

1

Подскажите как забанить IP по стране и урл одновременно? Хочу забанить ботов ломаящихся в админки сайтов (wp) ибо бан по третей попытке входа не помогает. да и клиенты иногда 3 раза ошибаются... В логах стало полно таких записей:

кусок лога nginx

120.25.241.106 - - [24/Feb/2017:08:59:35 +0000] «GET /wp-login.php HTTP/1.0» 200 2845 "-" «разные UA 1» CPU_TIME: 0
120.25.241.106 - - [24/Feb/2017:08:59:35 +0000] «POST /wp-login.php HTTP/1.0» 403 3835 "-" «разные UA 1» CPU_TIME: 0
103.24.201.30 - - [24/Feb/2017:09:00:13 +0000] «GET /wp-login.php HTTP/1.0» 200 2845 "-" «разные UA 2» CPU_TIME: 0
103.24.201.30 - - [24/Feb/2017:09:00:14 +0000] «POST /wp-login.php HTTP/1.0» 403 3835 "-" «разные UA 2» CPU_TIME: 0
103.24.201.30 - - [24/Feb/2017:09:00:43 +0000] «GET /wp-login.php HTTP/1.0» 200 2845 "-" «разные UA 2» CPU_TIME: 0
103.24.201.30 - - [24/Feb/2017:09:00:44 +0000] «POST /wp-login.php HTTP/1.0» 403 3835 "-" «разные UA 2» CPU_TIME: 0
120.25.241.106 - - [24/Feb/2017:09:02:10 +0000] «GET /wp-login.php HTTP/1.0» 200 2845 "-" «разные UA 3» CPU_TIME: 0
120.25.241.106 - - [24/Feb/2017:09:02:11 +0000] «POST /wp-login.php HTTP/1.0» 403 3835 "-" «разные UA 3» CPU_TIME: 0
120.25.241.106 - - [24/Feb/2017:09:05:21 +0000] «GET /wp-login.php HTTP/1.0» 200 2845 "-" «разные UA 3» CPU_TIME: 0
120.25.241.106 - - [24/Feb/2017:09:05:22 +0000] «POST /wp-login.php HTTP/1.0» 403 3835 "-" «разные UA 3» CPU_TIME: 0

Мне нужно банить с первой попытки обращения к файлам wp-login.php из стран отличных от беларуси, россиии

Либо предложите свой способ забанить таких ботов. Спасибо.



Последнее исправление: Dobrinia (всего исправлений: 1)

А как быть с пользователями, которые пользуются vpn и всякими прокси типа opera-turbo?

legolegs ★★★★★
()

Либо предложите свой способ забанить таких ботов. Спасибо.

1. клоудфларе

2. каптча (внешний сервер с каптчей и редирект на твой после каптчи)

3. изменить метод аутентефикации на нормальный- ключи каждому на флешку- и проблемы с ботами не будет

lwx51033
()
Ответ на: комментарий от legolegs

предупрежу, что б не пользовались при управлении админкой. это не проблема.

Dobrinia
() автор топика
Ответ на: комментарий от lwx51033

2. капча не вариант, забанить не проблема, проблема в том что дергают админку и не важно успешно или нет набран пароль. Важно что толпа ботов перебирает пароли на многих сайтах. Надо либо сразу не давать им доступ к серверу по стране + урлу запроса — как? либо банить по стране+урлу запроса

3. метод аутентефикации как и капча не является решенеим проблемы, задергают саму форму, понимаете?

1. клоудфларе — что даст? как? бесплатно? если платно то не интересует.

Dobrinia
() автор топика

Может вместо бана просто allow\deny на нужные локейшны повесить?

alozovskoy ★★★★★
()

Если много ip в правилах насобираешь - будет тормозить. Попробуй посмотреть ipset, а логи nginx скриптом по шедулеру анализируй и бань необходимые ip. Fail2ban для небольших нагрузок.

anonymous
()

Мне нужно банить с первой попытки обращения к файлам wp-login.php из стран отличных от беларуси, россиии

Как вариант использовать модуль nginx geoip и запретить доступ либо ко всему сайту либо к админке

Wind ★★★
()
Ответ на: комментарий от anonymous

посмотреть ipset

Пожалуй самый лучший вариант

Wind ★★★
()

Попроси юзеров указать список с каких ip или сетей они могут делать вход и для каждого отдельного юзера разрешай доступ только с них.

torvn77 ★★★★★
()
Ответ на: комментарий от torvn77

нее через список белых IP нереально, динамика у 99%.

Dobrinia
() автор топика
Ответ на: комментарий от anonymous

да уже замитил что fail2ban больше жрет ресурсов чем помгает... почитаю про ipset, спасибо

Dobrinia
() автор топика
Ответ на: комментарий от Wind

спасибо, вероятно то что нужно

IPSET не пойдет ибо надо к сайту оставить доступ а закрыть только админки

Dobrinia
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.