LINUX.ORG.RU

Защита сервера от ботов

 ,


0

3

Собственно хотим как то обезопасить и защитить все машины от ботов.

По факту получается, что на сайтах есть куча ботов, которые парсят контент и прочее. В итоге получается колоссальная «пустая» нагрузка и порой бендвич стремится к своему лимиту.

Поделитесь опытом, кто как, и самое главное какие ставит защиты? Хотелось бы на уровне iptables решить этот вопрос.

На данный момент часть ip заблокирована, добавлена защита на проверку User-Agent. Нагрузка снизилась, но не очень намного.

Спасибо!

p.s. все машины на CentOS (где-то 5, где-то 6).


Есть стандартный метод - засунуть на сайт жабоскрипт, который считает какое-то выражение и шлет ajax-запрос на сервер с результатом. Обычно боты тупые и не считают жабоскрипт, так что и запроса не будет, и так их можно отличать. Правда жабоскрипта нет и на части клитентов - тут уже что важнее.

А вообще - почему бы не воспользоваться тем же cloudflare ? У них реализована похожая проверка, только еще есть капча для браузеров без скриптов и куча других приблуд

Balantay
()

Как только ты сможешь ответить на вопрос «как гарантированно отличить бота от человека?», у тебя тут же появится решение этой проблемы и, потенциально, куча денег. До тех пор это гадание на кофейной гуще. Можете попробовать забанить все IP, которые не из России или откуда ты там. Или вообще разрешить доступ только для IP из тех дапазонов, которые выдают конечным клиентам провайдеры. Или наделать ханипотов.

Ну или перестать экономить на спичках и захостить всё не на «VDS за 1$ в месяц», а где-то поприличнее.

anonymous
()

Лимитируй количесиво запросов с одного ip в nginx. Там же выстави ограничение скоростт для одного IP.

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

Присматриваюсь уже в сторону Fail2Ban. Насчет лимита понятно, но как бы не забанить скажем ботов гугла или яндекса? Ведь «полезных» роботов банить крайне запрещено!

Понимаю, что 100% защиты тут не существует, но хоть бы определенный % отсечь - было бы и то неплохо.

И причем здесь VDS за 1 бакс. Сервера мощные, но на каждом по 50-100 сайтов с нормальной посещалкой. Если б можно было сменить тупо сервер - вопрос был бы проще, но здесь задача немного сложнее.

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

Сервера мощные, но на каждом по 50-100 сайтов с нормальной посещалкой.

Хостинг или SEO?

У «полезных» ботов известны IP для исходящего трафика.

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

Ну так когда ты определишься какие боты полезные, а какие нет, сможешь написать нужную регулярку для fail2ban.

alozovskoy ★★★★★
()

Ответ на вопрос - найдите хостинг, который выдержит вашу нагрузку. Уверен, что она совсем не большая. И причина того, что занят весь канал в том, что канал очень узкий (кстати, какова ширина вашего канала, в мегабитах).

У меня такое впечатление, что вы тратите свое время и ресурсы мозга на борьбу с третьестепенной проблемой. Займитесь более важными делами. Ну не может быть забит канал, если только вас не DDOS'ят целенаправленно. Уже много лет в каждый дом заведена оптика и получить канал 100М и IPv4 адрес может любой желающий. Поэтому вопрос хостинга упирается в 500$ единоразово на системник, 700р в месяц за канал 100М и IP (при том, что за интернет ты полюбому будешь платить, но на 100р меньше без IP), еще 50р в месяц за электричество, а также необходимую квалификацию, чтобы настроить и поддерживать веб-сервер.

Блин, когда на ресурсе, где 30% людей считают себя сисадминами возникает такая тема, я не могу понять, с какой планеты автор топика...

prefetch
()

Ага, я понял. Юрлицо, куча серверов, нормального канала нет, к хостеру перенести сервера дорого, собственный датацентр с нормальным каналом еще дороже (да и не доросли еще до этого).

Все сложнее. Но борьба с ботами - бесперспективно. Усилий много, толку мало (они тоже эволюционируют) и есть шанс забанить кого-то полезного, про кого ты еще даже не знаешь (или в результате ложного срабатывания).

prefetch
()
Ответ на: комментарий от xisip

Присматриваюсь уже в сторону Fail2Ban. Насчет лимита понятно, но как бы не забанить скажем ботов гугла или яндекса? Ведь «полезных» роботов банить крайне запрещено!

Опытным путем. nginx логирует IP которые банит. Смотришь whois - если Google, то увеличиваем лимит. Где-то 30 запросов в секунду должно быть достаточно, чтобы не забанить «полезных» ботов.

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

Всем спасибо за ответы. За полезные и холиварные.

p.s. Я не админ, поэтому и возник сие вопрос. Странно что админы советуют хостинги, вам самим это не кажется бредом?

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