У меня Fail2Ban работает на моем сервере Centos. (Конфиг ниже)
В моих var / log / messages я заметил нечто действительно странное:
Jun 19 12:09:32 localhost fail2ban.actions: INFO [postfix] 114.43.245.205 already banned
Я настроил Fail2Ban для добавления запрещенного IP в iptables.
Мой jail.conf:
[postfix]
enabled = true
filter = postfix
action = iptables
port = smtp,ssmtp
filter = postfix
logpath = /var/log/maillog
bantime = 43200
maxretry = 2
Мой postfix.conf:
[INCLUDES]
before = common.conf
[Definition]
failregex = reject: RCPT from (.*)\[<HOST>\]: 550 5.1.1
reject: RCPT from (.*)\[<HOST>\]: 450 4.7.1
reject: RCPT from (.*)\[<HOST>\]: 554 5.7.1
reject: RCPT from (.*)\[<HOST>\]: (.*)@yahoo.com.tw
ignoreregex =
Мой вопрос: как кто-нибудь, кто уже заблокирован, iptables
все еще может подключиться к серверу?
iptables -L -nv
к вашему вопросу?Ответы:
Рекомендованная тюрьма, рекомендованная в другом ответе здесь, не решает проблему для меня. Однако в конце концов я это исправил, поэтому вот мой метод на случай, если он поможет другим.
По умолчанию Fail2ban блокирует только TCP. По крайней мере, с моей настройкой, я заметил, что «уже забаненное» сообщение появляется, когда боты возвращаются, чтобы вместо этого попробовать заблокированный порт через UDP.
Чтобы устранить эту проблему, скажите Fail2ban заблокировать порт для всех протоколов, а не только для TCP. Вам нужно будет внести это изменение в /etc/fail2ban/jail.conf и в раздел [Init] каждого действия, которое вы используете в /etc/fail2ban/action.d/ .
Изменить это:
Для того, чтобы:
Затем я отключил эхо-запросы ICMP, чтобы заблокированные IP-адреса не могли попасть на сервер:
Добавьте эти две строки:
После этого запустите перезагрузку fail2ban-client, и вы больше не увидите эти «уже заблокированные» сообщения, если только вы не получили спам от IP-адреса, который получает пару попыток доступа до того, как блок вступит в силу.
Кроме того, важно заблокировать все порты для каждого нарушителя, а не для порта, к которому они пытались получить доступ, с помощью действия iptables-allports в каждой тюрьме. В противном случае они могут вызвать другой джейл и в конечном итоге «уже забанены» в журналах.
источник
/etc/fail2ban/jail.local
некоторых моих фильтрах есть,action = iptables-multiport[name=apache-myadmin, port="http,https", protocol=tcp]
а в некоторых нет, я должен изменить все эти? Должен ли я что-то изменить в/etc/fail2ban/filter.d
?-p tcp',
-p udp ',-p udplite',
-p sctp' или` -p dccp '"Если вы посмотрите на выходные данные
iptables-save
, вы увидите, чтоfail2ban
цепочки настроены так, что они оценивают пакеты в соответствии с правилами, определенными фильтрами, например:Трафик все еще достигает сервера до применения других правил маршрутизации, и трафик отклоняется.
fail2ban
все еще видит этот начальный трафик, и именно поэтому вы видите «уже забаненные» сообщения. Кроме того, есть специальный фильтр для рецидивистов (/etc/fail2ban/filter.d/recidive.conf
):источник
Это произойдет, если IP-адрес, который вы запрещаете, на самом деле не является IP-адресом клиента, подключающегося к серверу. Например, если ваш сервер находится за балансировщиком нагрузки или прокси.
Мне потребовалось много времени, чтобы понять это в последнее время. Красной сельдью было то, что журналы были настроены на захват
X-Forwarded-For
IP-адреса, а не реального адреса источника, который в моем случае был балансировщиком нагрузки.В этом случае fail2ban не сильно помогает, так как блокировка нарушающего IP-адреса в конечном итоге блокирует весь трафик.
источник
Я хочу поделиться своей проблемой и ее решением с помощью "уже забаненных" сообщений. Как вы написали, у меня их было сотни в течение нескольких минут, а злоумышленник должен был быть уже забанен.
Прежде чем я начну, вот моя система:
Когда я установил OpenVPN на свой корневой сервер, я переключил firewalld на iptables. Это могло вызвать у меня эту проблему, но, кроме того, моя система была в основном нетронутой и довольно свежей (установочный образ Strato rootserver предложил установить).
Если у вас есть эта проблема, пожалуйста, проверьте /etc/fail2ban/jail.d/00-firewalld.conf для строки, которая выглядит следующим образом:
С того момента, как я это прокомментировал, сохранил файл и перезапустил
fail2ban.service
, все было нормально с fail2ban. Больше сообщений нетЯ не эксперт, но надеюсь дать вам правильный ответ. Если это работает для вас, пожалуйста, дайте мне знать!
источник
Он подключался к серверу только один раз, но в этом одном подключении он пытался доставить несколько электронных писем в вероятно несуществующие почтовые ящики (например, info@domain.com, sales@domain.com, tech@domain.com и т. Д.)
Вы настроили свой постфиксный фильтр, чтобы запретить эти попытки, чтобы IP-адрес был забанен после X попыток. Возможно, клиент уже отключен от postfix, но поскольку postfix, возможно, не завершил обработку всей своей электронной почты, fail2ban может обнаружить другую попытку того же клиента, когда postfix обрабатывает свою почту, и, таким образом, вы получаете адрес сообщения, уже заблокированный. Это из-за того, как работает очередь postfix.
источник
Невероятно хороший вопрос. Я искал, если мои правила брандмауэра не работают, но
iptables --list-rules
точно совпадают с другим рабочим сервером с работающим fail2ban.Разумным решением было добавить порт 8080 к заблокированным портам, так как я все еще получал доступ к странице входа через порты разработки.
Таким образом, исправление в моей ситуации - это довольно простая адаптация моей проблемы
jail.local
:источник
см. /unix//a/525798/22315
вы, вероятно, пропускаете порт 587 из строки «port =», и вы можете проверить файл конфигурации postfix или выполнить «lsof -i: 587», чтобы напрямую узнать, настроен ли postfix для открытия этого порта.
источник