Мне интересно, что бы вы, ребята, порекомендовали, когда дело доходит до людей, сканирующих ваш веб-сервер на предмет потенциальных уязвимостей. Какие-нибудь хорошие подходы к тому, как это остановить?
Поможет ли заблокировать их IP-адрес на уровне брандмауэра? Я думал, что, возможно, может помочь добавление правила iptables для блокировки или оценки лимита входящих соединений? Если да, то какое правило iptables для этого подходит?
Есть мысли по этому поводу?
Спасибо
Работа с автоматическими ботами состоит из двух этапов:
Если у вас есть какой-либо умеренно популярный веб-сайт, из-за большого количества ботов будет непрактично делать это вручную. Вам понадобится автоматический ответ автоматическим ботам.
Есть большая вероятность, что бот для сканирования уязвимостей выдаст много ошибок 404 (я предполагаю, что вы говорите об уязвимостях веб-приложений, а не об уязвимостях SSH или Apache. Если вас больше беспокоят сканеры портов, которые ищут MySQL, доступный в Интернете , то лучше всего использовать брандмауэр и игнорировать их.), поэтому вы можете начать с создания сценария, который сканирует журнал ошибок Apache на наличие ошибок 404 и группирует результаты по IP-адресу. Что-то вроде этого:
grep "File does not exist:" /var/log/httpd/error_log | cut -d' ' -f1 | sort | uniq -c | sort -n | tail
Дает вам 10 самых высоких IP-адресов, запрашивающих 404. Однако это не свидетельство каких-либо правонарушений. Вам также необходимо просмотреть некоторые фактические запросы из журнала доступа, чтобы убедиться, что это действительно попытки исследовать уязвимости. Этот сценарий предоставит вам список «вероятных подозреваемых», из которого вы сможете начать сужать список настоящих виновных. Запустите его из задания cron и используйте результат на следующем шаге.
Следующее, что я хотел бы сделать, это начать присваивать оценки IP-адресам на основе сделанных запросов, немного подобно тому, как SpamAssassin оценивает спам-сообщения. Например, некоторые строки часто возникают при автоматических атаках.
Любой из них (и я уверен, что вы найдете свои собственные строки) должен повысить рейтинг IP-адреса. Конечно, злоумышленники могут до некоторой степени адаптироваться, чтобы избежать вашего обнаружения, но велики шансы, что они не сделают этого с вами, пока вы не станете гораздо более ценной целью. Эта стратегия будет работать еще долго.
После того, как вы оценили каждый IP-адрес, найдите порог оценки, при котором все боты выше, а все ваши реальные пользователи ниже, и добавьте все IP-адреса, которые выше, в список, чтобы что-то предпринять.
Теперь мы переходим ко второму этапу: решаем, что с ними делать.
Ты можешь:
Все вышеперечисленные варианты включают изменение файлов конфигурации и перезапуск служб. Я бы порекомендовал автоматически создать весь файл и использовать оператор Include в конфигурации Apache или добавить его в конфигурацию iptables, а затем перезапустить Apache или iptables. Будьте очень осторожны с iptables, легко заблокировать себя или своих пользователей из коробки. Убедитесь, что вы встроили в сценарий отказоустойчивость или у вас есть другой способ доступа к нему, например, консольный порт или KVM.
Какие-нибудь хорошие подходы к тому, как это остановить?
Убедитесь, что ваш сервер в безопасности, и они оставят вас в покое.
Лучший подход - остановить его до того, как он достигнет веб-сервера. Хотя это можно сделать с помощью firewal на веб-сервере, я считаю, что эти две функции достаточно специализированы, чтобы быть независимыми. Любой достойный брандмауэр обеспечит необходимую защиту, отвечая на сканирование порта, просто отбрасывая все пакеты, приходящие из этого источника, и это не требует и не генерирует «миллионы записей», как предлагается в другом месте.
Раньше я использовал PSAD на межсетевом экране с хорошими результатами. Вы также можете использовать параметр ограничения скорости iptables, чтобы замедлить атаки DOS на сам веб-сервер.
Лучший вариант - не ставить 4chan на себя.
Пара простых методов блокирует ICMP (ping) от чего-либо, кроме вашей локальной подсети, и блокирует запросы, которые отправляются по IP, а не по DNS.
Первый возможен в IPTables. Второе - это просто с mod_security2.5, если вы используете Apache. (Бесплатно, Mod_security - это межсетевой экран уровня приложения, который является хорошим дополнением к IPTables)
Когда легитимные клиенты запрашивают страницы, запрос обычно содержит информацию DNS. С другой стороны, боты часто просто увеличивают IP-адреса.
Нет. Никакого выхода. Мы не говорим о людях, мы в основном говорим о ботах, сканирующих IP-адреса наугад.
IpTables - получайте удовольствие. Следующий червь добавит в ваши таблицы миллионы записей.
Просто убедитесь, что ваш сервер безопасен, и живите с ним.