Мы получаем словарные атаки на наш 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
Есть что-нибудь, что мне нужно проверить или добавить?
Кажется, что ваша конфигурация Shorewall должна работать, но shorewall представляет собой извилистый лабиринт мелких выпусков и изменений, поэтому в этом трудно быть уверенным. В более поздних версиях вам нужно отредактировать / etc / shorewall / zone и добавить blacklist
к IN
параметры для включения черных списков для определенной зоны. Даже более поздние версии используют другие файлы и полностью удаляют файл / etc / shorewall / blacklist. Вам было бы лучше перейти на более новую версию.
Сказав это, наличие sql-сервера в общедоступном Интернете - это нехорошо. Вам действительно нужно правильно установить брандмауэр с помощью белого списка или, что еще лучше, сделать его доступным только через VPN с полностью заблокированным общедоступным Интернетом.
Как правило, лучшая стратегия в этом случае - быть активной. В очень редких случаях необходимо предоставить доступ к SQL-серверу всему общедоступному Интернету; рассмотрите возможность использования VPN или брандмауэра для ограничения доступа только к тем хостам (или сетям), у которых есть причины для подключения к нему.
Если хост, инициировавший атаку методом перебора, находится под вашим контролем, устраните основную причину (либо скомпрометированный компьютер, либо злоумышленник).
Тем не менее, убедитесь, что blacklist
опция указывается для интерфейса, с которого поступает нежелательный трафик, или черный список не будет проверяться на наличие трафика, поступающего на этот интерфейс.
Я столкнулся с этой проблемой
Должен сказать, что последние годы я не читал документацию по shorewall, и после обновления моя конфигурация была ненадежной.
Я только что обнаружил команду shorewall update
которые проверяют И ПРЕОБРАЗУЮТ все.
Таким образом, если у вас есть DYNAMIC_BLACKLIST=Yes
, BLACKLIST_DISPOSITION=DROP
установите в shorewall.conf, затем ваш файл черного списка (теперь он называется /etc/shorewall/blrules
, хотя бы в shorewall 5.x) должно работать.
В любом случае, не позволяйте порту MySQL открываться публично, без причины.