LINUX.ORG.RU

Если есть доступ непосредственно к консоли, то может помочь:

iptables -A INPUT -p tcp --dport 80 -m string --algo bm --string "SOME USER AGENT" -j DROP

RH_
()

Рискну предположить, что однокнопочного решения нет.
Потому что, по любому сначала необходимо установить соединение, а потом только у удаленной машины спрашивать ее uaId. Так что сразу «глобально» массово запретить все соединения с определенным uaId не получится.
Вопрос, так ли нужно это.

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

хочу отсечь ботов, по ип баню но лезут новые, а юзер агент у всех одинаковый

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

можно, но хочу отсечь на более ранней стадии, чтобы меньше нагрузка плюс хочу не просто отсечь а сделать drop

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

Видимо не подгружен соответствующий модуль для такой фильтрации. Думаю, если погуглить, можно быстро найти что нужно загрузить дополнительно.

RH_
()
Ответ на: комментарий от kommersant

я так понимаю бан на уровне htaccess все равно будет создавать нагрузку на проц? в логах запрос проходит с ответом 403

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

ну вообще-то да. но nginx нужно еще настроить, чтобы он слушал твой внешний айпи, а apache перенастроить, чтобы слушал внутренний. ну и соответственно сделать в nginx отдельный virtualhost для твоего сайта, настроить там проксирование и вписать твои правила для юзерагентов. короче в гугле полным полно howto, заточенных даже под разные дистрибутивы.
тот howto что я тебе скинул, видимо заточен под freebsd.

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

у меня nginx установлен и работает, или нужно еще шаманить? я тут почитал, оказывается нужно прописывать правило бана для каждой секции server, сразу для всех сайтов нельзя?

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

Можно, тогда задача поставлена неного неверно.

invokercd ★★★★
()

Если есть возможность поставить nginx впереди, то вот статейка для блокировки по USER_AGENT

trofk ★★★
()

Есть ещё такой вариант: парсить логи на предмет выявления какие IP засветились с целевым UserAgent-ом и добавлять эти IP в ipset который уже банить тупо фаерволом.
Лог парсится элементарно в одну команду (что-то вроде tailf ./access.log | grep 'evil-useragent' | cut -d ' ' -f 1). Фильтрация по ipset-у работает весьма быстро.
Пул адресов у ботнета едва-ли какой-то непомерный. Подделывать их в случае атаки прикладного уровня по tcp не получится, так-что достаточно быстро перебанишь всех. Если процесс автоматизировать то каждый бот успеет сделать всего по несколько запросов, что не фатально.

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

сразу для всех сайтов нельзя?

Некий набор общих правил можно вынести в отдельный конфиг и подключать его внутри каждого server через include.

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

парсить логи на предмет выявления какие IP засветились с целевым UserAgent-ом и добавлять эти IP в ipset который уже банить тупо фаерволом

Изобретение называется Fail2ban.

frozen_twilight ★★
()

Кого будешь банить, вендоузятнегов?

Ttt ☆☆☆☆☆
()
Ответ на: комментарий от frozen_twilight

Что-то мне кажется что на настройку Fail2ban уйдёт больше времени чем на построение такого костыля. Ведь буквально одна строчка в cron-е.

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

Что-то мне кажется что на настройку Fail2ban уйдёт больше времени чем на построение такого костыля

Очень много времени. Целых 5 минут, чтобы добавить несколько строчек в пару конфигов.

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

Чёткие поцаны обычно DDoSят с ботнета (во всяком случае на прикладном уровне), так-что скорее всего из разных.
Правда совсем чёткие поцаны ещё и юзерагент рандомизируют.

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

htaccess да, будет создавать нагрузку, т.к ее парсит апач

Тормозит там даже не парсинг, а опрос дерева каталогов на каждом запросе. .htaccess — сильно зло, мириться с которым можно только на низких загрузках.

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

Пул адресов у ботнета едва-ли какой-то непомерный

Когда меня первый раз DDoSили, компов было дофига, но всего пара десятков подсетей, справился вручную. Вот второй раз была жесть. Когда атакующих IP набралось тысячи четыре и все из мелких подсетей, пришлось просто забить на них, подсовывая мелкую статику по атакуемым url (благо, их было немного).

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

Четыре тысячи IP адресов при быстрой автоматической блокировке это где-то 8 - 16 тысяч запросов, что не так уж непомерно.

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

Четыре тысячи IP адресов при быстрой автоматической блокировке

Проблема была в том, что однозначно (как тут с UA) атакующие не детектировались. Приходилось вычислять индивидуально по частым запросам к конкретным тяжёлым ресурсам и по отсутствию загрузки картинок. Так что методы пополнения чёрных списков были полуавтоматические и с какого-то времени возиться с этим надоело. Плюс атакующий контролировал ботнет и менял методы атаки «по живому», после того, как старые методы купировались. Вообще, интересная война была, больше недели с разной, но всё затухающей интенсивностью, 4 или 5 крупных атак. :) Потом пошли всякие грязные мелочи, типа жалоб Гуглу Адсенсу на страницы форума со ссылками на торренты или где обнажённая натура была. Раза три отрубали рекламу. С учётом ещё совершенно идиотской политики Гугла в плане обратной связи было очень неприятно.

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