Shorewall черный список не работает
Мы получаем словарные атаки на наш SQL-сервер, поэтому я хотел заблокировать некоторые из IP-адресов с помощью черного списка shorewall. Я упомянул IP в /etc/shorewall/blacklist как
#ADDRESS/SUBNET PROTOCOL PORT
Some IP
не сработало, поэтому я попробовал еще раз, как показано ниже, но снова не работает
#ADDRESS/SUBNET PROTOCOL PORT
Some IP - -
У меня есть эта конфигурация BLACKLIST_DISPOSITION=DROP, и я использую shorewall версии 4.4.6
Что-нибудь, что я должен проверить или добавить?
3 ответа
Как правило, лучшая стратегия в этом случае должна быть активной. Очень редко бывает, когда необходимо выставить SQL-сервер всему общедоступному Интернету; рассмотрите возможность использования VPN или брандмауэра для ограничения доступа только к тем хостам (или сетям), которые имеют какую-либо причину для подключения к нему.
Если хост, инициирующий атаку грубой силой, находится под вашим контролем, устраните основную причину (либо взломанная машина, либо злонамеренный пользователь).
Тем не менее, убедитесь, что blacklist
Опция указывается для интерфейса, из которого поступает нежелательный трафик, иначе черный список не будет проверяться на наличие трафика, поступающего на этот интерфейс.
Ваша конфигурация Shorewall выглядит так, как будто она должна работать, но shorewall - это извилистый лабиринт незначительных выпусков и изменений, поэтому трудно быть уверенным. В более поздних версиях вам нужно отредактировать /etc/shorewall/zone и добавить blacklist
к IN
варианты включения черных списков для конкретной зоны. Даже в более поздних версиях используются разные файлы и полностью удаляется файл /etc/shorewall/blacklist. Вам лучше перейти на более новую версию.
Сказав это, иметь sql-сервер в общедоступном интернете не очень хорошая вещь. Вы действительно должны иметь его с помощью белого списка или, что еще лучше, сделать его доступным только через VPN с полностью заблокированным общедоступным Интернетом.
Я столкнулся с этой проблемой
Должен сказать, что я не читал документацию по shorewall в течение последних лет, и после обновления после обновления моя конфигурация не была надежной.
Я только что обнаружил команду shorewall update
который проверяет и конвертирует все.
Таким образом, если у вас есть DYNAMIC_BLACKLIST=Yes
, BLACKLIST_DISPOSITION=DROP
установить в shorewall.conf, затем ваш черный список файлов (теперь называется /etc/shorewall/blrules
, в shorewall 5.x как минимум) должно работать.
В любом случае, не позволяйте порту MySQL открываться публично, без причины.