%20%D0%BF%D1%80%D0%B8%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%20%D0%BA%20%D1%81%D0%B1%D0%BE%D1%8E%20%D0%BF%D1%80%D0%B8%D0%B2%D1%8F%D0%B7%D0%BA%D0%B8%3F.png)
Примерно каждые два дня мой сервер полностью перестает отвечать на свои сервисы. Я могу пинговать его, но не могу использовать SSH, поэтому мне приходится заходить в панель управления моего хоста и сбрасывать настройки.
При повторном запуске последняя запись журнала перед сбоем в /var/log/messages представляет собой вариации следующего:
named[3493]: неожиданный RCODE (SERVFAIL) при разрешении '3.39.148.159.in-addr.arpa/PTR/IN': 193.0.0.193#53
Может ли это быть частью DoS-атаки? Я не настраивал bind на этом сервере и не думал, что мне это понадобится (как бы наивно это ни было).
решение1
Вопрос первый: действительно ли нужна привязка, доступная из внешнего мира? Если нет, просто заблокируйте входящий трафик на портах DNS, и все готово.
Но да, косвенно это часть «атаки», поскольку ваш почтовый сервер, вероятно, пытается перенаправлять письма с сообщением «пользователь не найден» на поддельные серверы.
А spamassassin у вас запущен на машине? Если вас захлестнула волна спама и perl spamassassin пытается обработать всю почту, это может привести к краху вашей системы при неудачных конфигурациях.
решение2
Эта запись в системном журнале, скорее всего, свидетельствует о том, что ваш компьютер пытается найти IP-адрес хоста, который только что к нему подключился. — 193.0.0.193
это один из DNS-серверов RIPE, который является авторитетным для части дерева, in-addr.arpa
используемого для сопоставления IP-адреса с именем хоста.
Этокрайне маловероятночто эти DNS-запросы приводят к сбою вашей машины. Гораздо более вероятно, что это утечка ресурсов от любого входящего трафика, который косвенно вызывает DNS-запросы.
Вам будет крайне полезно посмотреть, какие входящие услуги ваш сервер предлагает внешнему миру, и решить, нужно ли вам выполнять DNS-поиск в режиме реального времени для каждого из этих входящих подключений.
Например, если это веб-сервер, не храните имена хостов в файлах журнала, просто храните удаленные IP-адреса. Затем добавьте имена хостов позже (если вам когда-нибудь понадобится) в автономном режиме.
решение3
Какая версия bind? Также, возможно ли запустить tcpdump сервера, чтобы поймать запрос по мере его поступления? Я бы удивился, если бы bind убивал всю машину, так что есть ли что-нибудь интересное перед вышеназванной записью в журналах?