LINUX.ORG.RU
ФорумAdmin

fail2ban - работает, но не банит? Что неправильно?

 , ,


1

1

Здравствуйте, всем,

В jail.local написано:

[DEFAULT]
ignoreip = 127.0.0.1/8 192.168.0.0/22
bantime  = 1h
findtime  = 10m
maxretry = 5
backend = auto
usedns = warn
logencoding = auto
mode = normal
filter = %(__name__)s[mode=%(mode)s]
...
...
[postfix-sasl]
filter   = postfix[mode=auth]
port     = smtp,465,submission,imap,imaps,pop3,pop3s
logpath  = %(postfix_log)s
backend  = %(postfix_backend)s
enabled = true
action = iptables-multiport24[]

В action.d/iptables-multiport24 написано, в частности:

actionban = <iptables> -I f2b-<name> 1 -s <ip>/24 -j <blocktype>
actionunban = <iptables> -D f2b-<name> -s <ip>/24 -j <blocktype>

В /var/log/fail2ban.log строчки типа такой:

INFO    [postfix-sasl] Found 185.36.81.242 - 2020-01-29 13:43:34

Но они продолжаются и в mail.log тоже, т.е. ничего не банится. Идея была, чтобы банил всю подсеть /24. Где что не так?

-Спасибо.



Последнее исправление: DeadlineX (всего исправлений: 1)
  1. Идея банить всю подсеть – ебанутая, не делай так.
  2. 185.36.81.242/24 – не адрес сети. Т.е. actionban и actionunban у тебя некорректны по своей сути.
BOOBLIK ★★★★
()
Ответ на: комментарий от BOOBLIK

Идея банить всю подсеть – ебанутая, не делай так.

Что в этом плохого? Они ж там с разных ip идут.

185.36.81.242/24 – не адрес сети

Ха! Это-то я понимаю :) Но там в коментах у fail2ban именно так советуется делать. Могу найти то место, где я такое нарыл :) И у самого fail2ban (см. выше) написано «127.0.0.1/24» Видимо он считает иначе :)

DeadlineX
() автор топика
Ответ на: комментарий от DeadlineX

Что в этом плохого? Они ж там с разных ip идут.

На примере твоего ip из поста – 185.36.81.242 и вся подсеть 185.36.81.0/24 принадлежит облачному хостнгу где могут сидеть вполне нормальные клиенты которые должны иметь возможность достучаться до тебя (например почтовик твоего контрагента). Ты же банишь в том числе и его просто потому что в этой подсети засветился один спаммер…

BOOBLIK ★★★★
()
Последнее исправление: BOOBLIK (всего исправлений: 1)
Ответ на: комментарий от BOOBLIK

которые должны иметь возможность достучаться до тебя

А, ну это-то очевидно. Я думал, имеется в виду нечто другое.

Ну ладно, а что не так, почему не банит-то? Поменял action просто на iptables-multiport - пока эффект ноль. Кстати, в логе fail2ban еще встречается такое:

INFO    Jail postfix-rbl is not a JournalFilter instance

Это вообще о чем? Пробовал гуглить, там чего-то очень длинно и непонятно. И неясно (мне) что там за проблема вообще обсуждается, вроде там не так, как у меня все: https://github.com/fail2ban/fail2ban/issues/1076

DeadlineX
() автор топика
Ответ на: комментарий от afanasiy

Попробуй поменять:

Заменил. Пока вроде в логе только разные /24 адреса. Победа? Поглядим, что будет дальше.

Про «is not a JournalFilter instance» хотелось бы понять, что за ругань такая.

DeadlineX
() автор топика
Ответ на: комментарий от DeadlineX

Про «is not a JournalFilter instance» хотелось бы понять, что за ругань такая.

Возможно что-то не то указано в logpath значении секции-описании postfix-rbl

Выложи сюда весь блок [postfix-rbl] из jail.local

afanasiy ★★★★
()
Ответ на: комментарий от afanasiy

Попробуй поменять:

Ура! Вроде, процесс пошел!

2020-01-29 16:04:14,834 fail2ban.actions        [607]: NOTICE  [postfix-sasl] Ban 141.98.10.140
2020-01-29 16:04:14,835 fail2ban.actions        [607]: NOTICE  [postfix-sasl] Ban 141.98.10.138
2020-01-29 16:04:14,835 fail2ban.actions        [607]: NOTICE  [postfix-sasl] Ban 185.234.216.95
2020-01-29 16:04:14,835 fail2ban.actions        [607]: NOTICE  [postfix-sasl] Ban 141.98.10.137
2020-01-29 16:04:14,835 fail2ban.actions        [607]: NOTICE  [postfix-sasl] Ban 141.98.10.139

Хотя ничего не сказано про /24, но уже и то хорошо, что банить, вроде, начал.

Выложи сюда весь блок [postfix-rbl] из jail.local

На самом деле, он про все включенные для postfix секции так пишет. Вот секция SASL:

[postfix-sasl]
filter   = postfix[mode=auth]
port     = smtp,465,submission,imap,imaps,pop3,pop3s
# You might consider monitoring /var/log/mail.warn instead if you are
# running postfix since it would provide the same log lines at the
# "warn" level but overall at the smaller filesize.
logpath  = %(postfix_log)s
backend  = %(postfix_backend)s
enabled = true
banaction = iptables-multiport24[]
findtime = 1h
bantime = 24h
maxretry = 2

Кстати, вот про то, что в комментарии (про mail.warn) - это как чего конкретно сделать-то? И оно действительно стоит того? Абсолютный путь указать ему типа logpath = /var/log/mail.warn или что?

DeadlineX
() автор топика
Ответ на: комментарий от DeadlineX

Абсолютный путь указать ему типа logpath = /var/log/mail.warn или что?

Да. У меня прописано:

logpath = /var/log/mail.log

Никаких ошибок нет.

afanasiy ★★★★
()
Ответ на: комментарий от anc

У меня сейчас наблюдается такая картина:

INFO    [postfix-sasl] Found 185.234.216.95 - 2020-01-30 00:00:39
WARNING [postfix-sasl] 185.234.216.95 already banned

Вот такие пары строк с разными ip. Это как понять? Попробую убрать «/24» и использовать «стандартный» iptables-multiport. Не понимаю, правда, надо ли ему обнулять базу или можно просто подождать?

Насчет лога, вроде, там все ок, раз он находит строки из него. А вот это:

Смотреть надо не в логах а выхлопе iptables-save

что имеется в виду?

DeadlineX
() автор топика
Ответ на: комментарий от DeadlineX

И поменяй action на использование ipset. Ну или не меняй, но при ДДоСе от 10к участников, fail2ban на твоём action просто ляжет.

targitaj ★★★★★
()
Ответ на: комментарий от DeadlineX

что имеется в виду?

Ровно только то что написано. В логе может быть что угодно, реально он к работе netfilter не имеет отношения, если хотите убедиться что все действительно работает смотрите iptables-save а не логи.

anc ★★★★★
()
Ответ на: комментарий от targitaj

И поменяй action на использование ipset

+++

anc ★★★★★
()
Ответ на: комментарий от targitaj

А как ты из ip адреса собрался выделить адрес сети?

В первом посте написано. Вычитал я это в коментах на самом fail2ban-е. И я выше уже отвечал, что не понимаю, как так можно указывать подсеть, но там так пишут. За что купил. ОК, я уже обратно поменял на стандартный muliport. Но эффект пока тот же. «WARNING already banned»

смотрите iptables-save а не логи.

А оно вообще ничего не показывает. Т.е. я так понимаю, оно должно показать текущие правила, а оно просто молча срабатывает и все.

И поменяй action на использование ipset

В системе установлен ipset/stable 6.38-1.2. Мне просто заменить banaction = iptables-multiport[] на banaction = iptables-ipset-proto6[]? Или что имеется в виду?

DeadlineX
() автор топика
Ответ на: комментарий от DeadlineX

В общем, стер лог fail2ban и обнулил базу, после этого поставил:

banaction = iptables-ipset-proto6[]
findtime = 1h
bantime = 24h
maxretry = 2

Вроде, как начал банить, и никаких ошибок и предупреждений (типа, как было) не показывает. Но вырисовывается проблема общего характера - надо ставить большой findtime, поскольку адресов много, и повторяются они редко, но в пределах подсети /24 дело бы пошло быстрее, поскольку там ну очень много из одной и той же /24 подсети. Но как так сделать, чтобы банить всю подсеть, если, скажем, 10 адресов накопилось из нее, я в принципе не понял. Не обязательно же банить обязательно все 256, можно и по 64, например.

Или что, предлагаете просто смириться с таким положением дел?

DeadlineX
() автор топика
Ответ на: комментарий от DeadlineX

Вроде, как начал банить, и никаких ошибок и предупреждений

Забей уже на лог fail2ban. чтобы проверить начал ты что-то банить или нет сделай iptables-save или ip6tables-save и посмотри что у тебя там в правилах появляется.

Но как так сделать, чтобы банить всю подсеть, если, скажем, 10 адресов накопилось из нее, я в принципе не понял.

Я сейчас попробовал своему iptables v1.6.0 скормить конструкцию вида -s 185.36.81.242/24 и как ни странно он не просто понял это, но и сам пересчитал за меня подсеть и внес правило вида -s 185.36.81.0/24. Так что бан по принципу описанному в ОП посте все же будет работать на свежих iptables.

но в пределах подсети /24 дело бы пошло быстрее, поскольку там ну очень много из одной и той же /24 подсети

Прелесть использования ipset в том, что у тебя в самом ipset может быть 254 отдельных адреса, а в iptables один –match-set src указывающий на этот сет и это будет работать так же быстро как и бан всей /24. Однако этот подход будет правильным в отличии от беспричинного бана /24 налево и направо.

BOOBLIK ★★★★
()
Ответ на: комментарий от BOOBLIK

посмотри что у тебя там в правилах появляется

# Generated by xtables-save v1.8.2 on Thu Jan 30 12:30:58 2020
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -p tcp -m multiport --dports 25,465,587,143,993,110,995 -m set --match-set f2b-postfix-sasl src -j REJECT --reject-with icmp-port-unreachable
COMMIT
# Completed on Thu Jan 30 12:30:58 2020

И как это расшифровывается? В двух словах? :)

DeadlineX
() автор топика
Ответ на: комментарий от DeadlineX

Хотя, конечно, в двух словах это (видимо) как раз и значит:

Прелесть использования ipset в том, что у тебя в самом ipset может быть 254 отдельных адреса, а в iptables один –match-set src указывающий на этот сет и это будет работать так же быстро как и бан всей /24. Однако этот подход будет правильным в отличии от беспричинного бана /24 налево и направо.

Ну, пока что я в логах postfix вижу все те же строчки, только они идут пореже. Если раньше они шли каждую минуту, то теперь каждые 4 - 8 минут. Поэтому я и спрашиваю, а можно ли там как-то подхимичить, чтобы в ip-set вставлялись диапазоны ip? А то адресов-то очень много, и они все разные (иначе он их забанил бы). Но они всей кучей из одной /24. Наковырял штук 5 таких - и забанил, например, диапазон в 64 адреса. Что в этом плохого?

DeadlineX
() автор топика
Ответ на: комментарий от BOOBLIK

ipset list f2b-postfix-sasl

Name: f2b-postfix-sasl
Type: hash:ip
Revision: 4
Header: family inet hashsize 1024 maxelem 65536 timeout 86400
Size in memory: 840
References: 1
Number of entries: 14
Members:
185.36.81.86 timeout 52696
185.36.81.143 timeout 53856
141.98.10.138 timeout 53266
185.36.81.242 timeout 52415
185.36.81.29 timeout 51781
141.98.10.139 timeout 52700
185.36.81.87 timeout 51120
185.36.81.23 timeout 52395
141.98.10.140 timeout 53261
185.234.216.95 timeout 49216
185.36.81.51 timeout 52530
141.98.10.137 timeout 52683
185.36.81.57 timeout 51132
185.36.81.232 timeout 53962

А почему у них таймауты все разные и при этом меньше 86400? Это оставшееся до разбанивания время, что ли?

DeadlineX
() автор топика
Ответ на: комментарий от DeadlineX

Это оставшееся до разбанивания время, что ли?

Да, это время через которое запись об ip будет вынута из листа

BOOBLIK ★★★★
()
Ответ на: комментарий от BOOBLIK

Да бань уже /8 наугад. будет еще быстрее и «меньше строчек в логе» :)

Проще сетевой шнурок вытащить :) Я же серьезно спрашиваю. Т.е. это так и будет дальше? Можете посоветовать какие-то настройки пары findtime / bantime?

DeadlineX
() автор топика
Ответ на: комментарий от DeadlineX

Судя по приведенным выше таймаутам за последние 9 часов к тебе постучались всего девять IP сидящих в одной /24. На мой взгляд это точно не повод банить целую подсеть.

Таймера 84000 на каждое вхождение адреса в логе мой взгляд в самый раз.

BOOBLIK ★★★★
()
Ответ на: комментарий от BOOBLIK

Судя по приведенным выше таймаутам за последние 9 часов к тебе постучались всего девять IP сидящих в одной /24

Эммм… не «постучалось», а «забанено». Постучалось - вот примерно так:

2020-01-30 09:11:57,463 fail2ban.filter         [13579]: INFO    [postfix-sasl] Found 45.125.66.139 - 2020-01-30 09:11:57
2020-01-30 09:20:58,629 fail2ban.filter         [13579]: INFO    [postfix-sasl] Found 45.125.66.69 - 2020-01-30 09:20:58
2020-01-30 09:31:39,106 fail2ban.filter         [13579]: INFO    [postfix-sasl] Found 45.125.66.54 - 2020-01-30 09:31:38
2020-01-30 09:41:03,386 fail2ban.filter         [13579]: INFO    [postfix-sasl] Found 45.125.66.184 - 2020-01-30 09:41:03
2020-01-30 09:41:14,340 fail2ban.filter         [13579]: INFO    [postfix-sasl] Found 45.125.66.165 - 2020-01-30 09:41:14
2020-01-30 09:44:36,607 fail2ban.filter         [13579]: INFO    [postfix-sasl] Found 45.125.66.181 - 2020-01-30 09:44:36
2020-01-30 09:48:00,882 fail2ban.filter         [13579]: INFO    [postfix-sasl] Found 45.125.66.106 - 2020-01-30 09:48:00
2020-01-30 09:50:10,353 fail2ban.filter         [13579]: INFO    [postfix-sasl] Found 45.125.66.133 - 2020-01-30 09:50:10
2020-01-30 09:51:29,131 fail2ban.filter         [13579]: INFO    [postfix-sasl] Found 45.125.66.138 - 2020-01-30 09:51:29
2020-01-30 10:04:04,972 fail2ban.filter         [13579]: INFO    [postfix-sasl] Found 45.125.66.135 - 2020-01-30 10:04:04
2020-01-30 10:08:30,451 fail2ban.filter         [13579]: INFO    [postfix-sasl] Found 45.125.66.183 - 2020-01-30 10:08:30
2020-01-30 10:11:28,941 fail2ban.filter         [13579]: INFO    [postfix-sasl] Found 45.125.66.130 - 2020-01-30 10:11:28
2020-01-30 10:25:32,573 fail2ban.filter         [13579]: INFO    [postfix-sasl] Found 45.125.66.212 - 2020-01-30 10:25:32
2020-01-30 10:30:00,091 fail2ban.filter         [13579]: INFO    [postfix-sasl] Found 45.125.66.176 - 2020-01-30 10:30:00
2020-01-30 10:30:02,013 fail2ban.filter         [13579]: INFO    [postfix-sasl] Found 45.125.66.180 - 2020-01-30 10:30:02
2020-01-30 10:50:07,671 fail2ban.filter         [13579]: INFO    [postfix-sasl] Found 45.125.66.194 - 2020-01-30 10:50:07
2020-01-30 11:20:02,295 fail2ban.filter         [13579]: INFO    [postfix-sasl] Found 45.125.66.253 - 2020-01-30 11:20:02
2020-01-30 11:25:18,684 fail2ban.filter         [13579]: INFO    [postfix-sasl] Found 45.125.66.251 - 2020-01-30 11:25:18
2020-01-30 11:26:18,222 fail2ban.filter         [13579]: INFO    [postfix-sasl] Found 45.125.66.202 - 2020-01-30 11:26:18
2020-01-30 11:51:21,124 fail2ban.filter         [13579]: INFO    [postfix-sasl] Found 45.125.66.175 - 2020-01-30 11:51:20
2020-01-30 12:11:52,077 fail2ban.filter         [13579]: INFO    [postfix-sasl] Found 45.125.66.193 - 2020-01-30 12:11:51
2020-01-30 12:11:52,079 fail2ban.filter         [13579]: INFO    [postfix-sasl] Found 45.125.66.190 - 2020-01-30 12:11:51
2020-01-30 12:15:31,964 fail2ban.filter         [13579]: INFO    [postfix-sasl] Found 45.125.66.37 - 2020-01-30 12:15:31
2020-01-30 12:22:44,911 fail2ban.filter         [13579]: INFO    [postfix-sasl] Found 45.125.66.137 - 2020-01-30 12:22:44
2020-01-30 12:28:08,370 fail2ban.filter         [13579]: INFO    [postfix-sasl] Found 45.125.66.192 - 2020-01-30 12:28:08

Таймера 84000 на каждое вхождение адреса в логе мой взгляд в самый раз.

Это что именно? bantime? Или findtime?

DeadlineX
() автор топика
Ответ на: комментарий от BOOBLIK

Скажите, а вот это чудо в версии 0.10.2 есть? Или это так и осталось кастомным проектом?

https://habr.com/ru/post/238303/

Можно, конечно, экспериментировать, но в прототипе конфига я этого не вижу, а рушить работающую систему не хотелось бы.

Фактически, автор говорит ровно о том, что я и вижу, глядя на логи. Эти сволочи вычислили findtime и теперь долбятся с разных ip с периодичностью, как раз под этот лимит. Т.е. предложенное там решение - это почти то, о чем я и спрашивал, хотя, оно, конечно, гораздо более умное, чем мое (банить подсеть).

Имел кто-нибудь из присутствующих дело с этой модификацией fail2ban?

DeadlineX
() автор топика
Ответ на: комментарий от vel

Это что

А, все. Получил .deb. А старый надо удалять, видимо, перед этим? Типа apt remove ему делать? А вообще насколько этот новый стабилен-то? Он не порушит тут вообще все?

DeadlineX
() автор топика
Ответ на: комментарий от DeadlineX

У меня старый конфиг в гите был, так что перенос на новую версию был достаточно прост.

Фильтры немного изменились. Можно делать несколько вариантов фильтров в одном конфиге через «mode=»

Если свои фильтры были, то их есть смысл подправить под новую версию. Они теперь failregex прикладывают к тексту сообщения без префикса, который задается в prefregex

fail2ban-regex очень полезная вещь с точки зрения отладки и оптимизации.

В action изменений не заметил.

vel ★★★★★
()
Ответ на: комментарий от BOOBLIK

Опять проблема!

После того, как истек таймаут для кучи адресов, теперь в логе fail2ban такие строчки про них:

WARNING [postfix-sasl] 185.234.216.95 already banned

Хотя ipset list f2b-postfix-sasl ни одного такого адреса не показывает. Подозреваю, что проблема в том, что пока эти адреса были забанены, я изменил настройки findtime / bantime и перезагрузил fai2ban без стирания базы. И теперь у fai2ban едет крыша от того, что у адресов с одной стороны таймаут истек, а с другой (в соответствии с измененным в большую сторону таймаутом) он истечь не мог никак. Это только мое предположение.

Кто-нибудь знает, как так почистить базу, чтобы скорректировать ситуацию? Или она сама исправится, когда пройдет новый (больший) таймаут? Что с этим делать? Базу обнулять не хотелось бы.

DeadlineX
() автор топика
Ответ на: комментарий от DeadlineX

Вообщето:

 fail2ban-server restart
fail2ban-client restart
И все как рукой снимет.

я использую:

action = route
Простенько и со вкусом.

Кстати давно встречал с Инете скрипт-дополнение к файтубану. Он изменяет периодически время бана. А то боты больно умные стали.

Bootmen ☆☆☆
()
Последнее исправление: Bootmen (всего исправлений: 2)
Ответ на: комментарий от Bootmen

Вообщето:

Спасиб! И действительно.

Кстати давно встречал с Инете скрипт-дополнение к файтубану

Я там выше приводил ссылку. Это оно? Теперь это в последней версии есть, вот только я не пойму, что не так с ней. Там неподписанный пакет, и не хочет его apt показывать, хотя вроде при apt update ошибок не показал, только предупреждение. apt list тем не менее не показывает его, показывает только установленный стабильный 0.10.2

В sources.list:

deb [trusted=yes] http://ftp.uk.debian.org/debian experimental main

И все равно нет его после

apt update
apt list > lst.txt

Что не так?

DeadlineX
() автор топика
Ответ на: комментарий от Bootmen

action = route

Так тут выше меня вроде убедили что ipset рулит. А route - это ж опять шаг назад. Там будет на каждый ip отдельная строчка.

DeadlineX
() автор топика
Ответ на: комментарий от DeadlineX

А route - это ж опять шаг назад.

Я админю почтовик. Тема досаждающих ботов мне актуальна. Прежде чем банить сеть например я проверяю где и что это на ресурсах типа: http://1whois.ru/?url= Но не поручаю это файтубану. Есть отдельный скрипт в автозагрузке. С правилами iptables. Вышеуказанный route не делает записей в iptables. Поэтому ни файрволл ни самопальные правила ему не вредят. А просмотр в консоле командой route.

По новой версии ничего сказать не могу. Не пробовал.

Bootmen ☆☆☆
()
Последнее исправление: Bootmen (всего исправлений: 1)
Ответ на: комментарий от Bootmen

Вышеуказанный route не делает записей в iptables. Поэтому ни файрволл ни самопальные правила ему не вредят. А просмотр в консоле командой route.

Я не силен в разнице между iptables и route. Знаю только, что последний применяется, когда надо прописать маршрут (на роутере) до сети или узла.

Как вы прокомментируете вот этот совет? В смысле, если будет 10к мапшрутов, система не сдохнет?

И поменяй action на использование ipset. Ну или не меняй, но при ДДоСе от 10к участников, fail2ban на твоём action просто ляжет.

И, кстати, насколько могу видеть, боты временно сдохли, но есть какие-то вот такие строчки (в mail.log):

connect from unknown[45.143.223.147]
lost connection after CONNECT from unknown[45.143.223.147]

Это они что, проверяют, что сервак еще жив? Ждут когда bantime кончится? А эти «пустые» коннекты ошибок не дают и поэтому не банятся? Так что ли? Хитро как. Может на lost connection after CONNECT тоже можно правило fail2ban-а натравить?

DeadlineX
() автор топика
Ответ на: комментарий от DeadlineX

В смысле, если будет 10к мапшрутов, система не сдохнет?

У меня сейчас висит в route около сотни забаненых гадов. Их система не видит и в логах их нет. Так как маршрут им указан в никуда. Нагрузки от этого никакой.

Может на lost connection after CONNECT тоже можно правило fail2ban-а натравить?

Можно. Но, потом отхватите по полной. Неудачные коннекты бывают и от легитимных серверов.

Bootmen ☆☆☆
()
Последнее исправление: Bootmen (всего исправлений: 2)
Ответ на: комментарий от Bootmen

У меня сейчас висит в route около сотни забаненых гадов.

Хотелось бы понять, это перманентный бан или через fail2ban, и если последнее, то какие вы используете findtime / bantime?

И еще: у вас внешний шнурок прямо в этот сервер воткнут? У меня-то все просто - роутер, а эта железячка, на которой апач и мыло - в локалке. И в роутере на нее порты открыты. Т.е. есть ведь разница, прописаны ли маршруты непосредственно на роутере или на сервере с почтой? Т.е. эти пресловутые 10к пойдут через роутер же? Он от этого не ляжет?

Хотя, подозреваю, что в моем случае это без разницы, как ни сделай (route vs ipset), все равно все через роутер идет.

DeadlineX
() автор топика
Ответ на: комментарий от DeadlineX

Т.е. есть ведь разница, прописаны ли маршруты непосредственно на роутере или на сервере с почтой?

Ограничения касаются машинки на которой файтубан есттественно.

/etc/fail2ban/action.d/route.conf

#   - Blocking is per IP and NOT per service, but ideal as action against ssh
 password bruteforcing hosts
[Definition]
actionban   = ip route add <blocktype> <ip>
actionunban = ip route del <blocktype> <ip>
Посмотреть забанненых:
root@mail# route
Таблица маршутизации ядра протокола IP
Destination Gateway Genmask Flags Metric Ref Use Iface
default         199.222.222.1.s 0.0.0.0         UG    0      0        0 p5p1
ec2-3-88-214-30 -               255.255.255.255 !H    0      -        0 -
5.8.18.173      -               255.255.255.255 !H    0      -        0 -
5.101.0.209     -               255.255.255.255 !H    0      -        0 -
5.101.64.77     -               255.255.255.255 !H    0      -        0 -
5.188.206.2     -               255.255.255.255 !H    0      -        0 -

то какие вы используете findtime / bantime?

Это уже от фантазии админа зависит.:) У меня например:

[sshd]
enabled     = true
filter      = sshd
action      = route
logpath     = /var/log/auth.log
maxretry    = 3
findtime  = 1800
bantime  = -1 
Изготовители ботов прекрасно знают какие дефолтные настройки у файлтубана. По этому надо свои изобретать.

Bootmen ☆☆☆
()
Последнее исправление: Bootmen (всего исправлений: 1)
Ответ на: комментарий от Bootmen

Спасибо за информацию,

findtime = 1800

Как я посмотрел на ситуацию, так полчаса маловато будет. Там у меня штук 40 ip и каждый поэтому стучится довольно редко. Я поставил 6 часов и 72 часа на бан. У вас он вообще пожизненный. Вот если бы придумать такое правило, чтобы смотреть (на глубину findtime) не один ip, а подсеть (например /26), и если из подсети находится хоть один, то данный конкретный (тот, что сейчас постучался) баним. Но, как я понимаю, разработчики до таких хитростей не дошли. Пока только время научились увеличивать.

Кстати, у вас там пример sshd, мне это мало актуально, ssh вообще наружу не торчит и не планируется. Для почты такой же конфиг?

А вот для апача я попробую route поюзать.

DeadlineX
() автор топика
Ответ на: комментарий от DeadlineX

Единственное, что не смог победить, это поставить ему перманентный бан с ipset:

findtime = 6h
bantime = -1
maxretry = 3
banaction = iptables-ipset-proto6[name="f2b-postfix-sasl", port="smtp,465,submission,imap,imaps,pop3,pop3s", protocol=tcp, bantime=0]

потому что почему-то в action передается не то, что указано в квадратных скобках, а параметр из jail. И происходит ошибка, т.к. у ipset время от 0 считается, где 0 - это перманентный бан, а у fail2ban - от -1. В общем, просто поставил большой bantime.

С route таких проблем нет.

DeadlineX
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.