Недавно в мой ящик FreeBSD 8.0 (GENERIC) поступило большое количество запросов с IP-адреса в Тайване, пытающихся угадать пароли и все такое. Короче говоря, в какой-то момент я заметил, что не могу подключиться по ssh. После входа в систему я заметил огромный количество угаданных паролей и сообщение msk0: watchdog timeout
. msk0 относится к моему проводному Ethernet-соединению.
Я восстановил интерфейс с ifconfig msk0 up
, и успешно смог пропинговать адрес этого интерфейса. Однако при попытке проверить связь с моим основным маршрутизатором, к которому устройство напрямую подключено, он завис. Попытка проверить связь с моим внешним IP-адресом вернула целую кучу sendto: no buffer space available
.
Проблема была решена перезагрузкой, но, очевидно, это не лучший способ решения этой проблемы. Если что-то подобное произойдет снова, какие шаги мне следует предпринять для восстановления подключения? Я читал, что иногда это можно предотвратить с помощью watchdog -t 0
, но я не уверен, что хочу пойти по этому проспекту.
Когда дело доходит до профилактики, есть ли способ отказаться от подключения с IP-адресов, которые имеют определенное количество неудачных попыток входа в систему в течение определенного периода времени? Например, 15 неудачных попыток входа в систему приведут к отказу в подключении в течение следующих двенадцати часов?
Я пропустил последнюю часть вашего вопроса с другим ответом, поэтому я быстро добавлю его сюда.
Я использую и настоятельно рекомендую всем, у кого есть общедоступный сервер * nix: Fail2Ban
Он находится в дереве портов в разделе security / py-fail2ban, так что начать работу легко.
После того, как он будет открыт /usr/local/etc/fail2ban/jails.local
в вашем любимом редакторе. Вот быстрое начало, если вы используете IPFW. Если вы используете pf, это будет немного иначе.
[DEFAULT]
maxretry = 10
[auth-bsd-ipfw]
enabled = true
filter = bsd-sshd
action = bsd-ipfw
logpath = /var/log/auth.log
Включите службу echo 'fail2ban_enable="YES"' >> /etc/rc.conf
и начни это /usr/local/etc/rc.d/fail2ban start
Некоторое время следите за содержимым таблицы 1 в IPFW, чтобы убедиться, что вы не собираетесь заблокировать себя с помощью ipfw table 1 list
. Как только он заработает должным образом, добавьте правило брандмауэра для блокировки IP-адресов в таблице 1: ipfw add 00030 deny ip from "table(1)" to me
. Обязательно добавьте это в свой набор правил запуска, чтобы он загружался при перезагрузке.
Fail2Ban можно использовать для мониторинга практически любого файла журнала. Большинство сервисов уже регистрируют неудачные попытки входа в систему в файл журнала, и большинство других можно сделать; и есть много примеров, найденных через Google (или спрашивающих здесь).
Я не знаю, какие микросхемы поддерживает msk0; но я видел похожие проблемы на многих других картах / чипах / драйверах. В 99,9% случаев это ошибочная реализация прошивки (обычно из-за дешевого производства), которая неправильно обрабатывает сторожевой таймер (ы).
Кроме того, это чип Marvel, а Marvel не поддерживает открытый исходный код; это может быть проблема с самим драйвером. В любом случае лучше всего начать с нижней части Страница справочника по поиску и устранению неисправностей сетевых адаптеров.
У меня была своя доля подобных проблем; Я нашел самое простое решение - перейти на более дорогие сетевые адаптеры (хотя вы можете найти более старые на eBay почти за бесценок; мой лучший выбор для домашнего оборудования).
Если устранение неполадок не помогло устранить проблему, обратитесь к специалистам по устранению неполадок на Форумы FreeBSD слишком.