Вопрос: Как правильно отключить IP-адрес с помощью Fail2Ban


Я использую Fail2Ban на сервере, и мне интересно, как правильно отключить IP-адрес.

Я знаю, что могу напрямую работать с IPTables: iptables -D fail2ban-ssh <number>

Но нет ли способа сделать это с помощью fail2ban-client?

В руководствах указано что-то вроде: fail2ban-client get ssh actionunban <IP>, Но это не работает.

Кроме того, я не хочу /etc/init.d/fail2ban restart так как это потеряло бы все запреты в списке.


155
2018-06-29 11:43


Источник




Ответы:


С Fail2Ban до v0.8.8:

fail2ban-client get YOURJAILNAMEHERE actionunban IPADDRESSHERE

С Fail2Ban v0.8.8 и более поздними версиями:

fail2ban-client set YOURJAILNAMEHERE unbanip IPADDRESSHERE

Трудная часть - найти правильную тюрьму:

  1. использование iptables -L -n найти имя правила ...
  2. ... затем используйте fail2ban-client status для получения фактических имен в тюрьме. Имя правила и имя тюрьмы могут не совпадать, но должно быть ясно, к какому из них относится.

217
2017-11-29 21:59



Если у вас есть следующая ошибка 'Invalid Action name', читать этот ответ - Morgan Courbet
С последними версиями fail2ban вы должны использовать fail2ban-client set JAIL_NAME unbanip 1.2.3.4, - tftd
Что такое имя тюрьмы по умолчанию? /etc/fail2ban/jail.conf не работает для меня. - Alex W
Вы можете найти имя тюрьмы в журнале fail2ban, если вы ищете свой IP-адрес - fred727
sshd было для меня именем тюрьмы. - agustaf


Так как v0.8.8 есть unbanip вариант (actionunban не для этой цели) Это может быть вызвано set команда, если вы посмотрите на список параметров, вы увидите синтаксис. Так будет (наизусть, пожалуйста, проверьте):

fail2ban-client set ssh-iptables unbanip IPADDRESSHERE 

более общий:

fail2ban-client set JAILNAMEHERE unbanip IPADDRESSHERE

работает на меня


78
2018-02-04 08:25



Команда unbanip была добавлена ​​в версии 0.8.8. Лучшее решение, если вы используете 0.8.8 или новее. - Alexander Garden
Проблема, связанная с этим в fail2ban tracker, такова: github.com/fail2ban/fail2ban/issues/132 - Aseques
это правильный ответ для текущих версий. Спасибо! - billynoah
получение «Invalid command (нет установленного действия или еще не реализовано)» - Tom
вам нужно указать правильное имя jailname (например, sshd или sshd-dos, см. журнал fail2ban) - mirage


Пример для SSH в интерактивном режиме.

Тип в bash:

fail2ban-client -i

затем в режиме интерактивного режима прочитайте статус тюрьмы:

status sshd

ты получишь:

Status for the jail: ssh
|- Filter
|  |- Currently failed: 0
|  |- Total failed: 6
|  `- File list:    /var/log/auth.log
`- Actions
   |- Currently banned: 1
   |- Total banned: 2
   `- Banned IP list:   203.113.167.162

затем введите интерактивный режим fail2ban:

set sshd unbanip 203.113.167.162

ты получишь:

203.113.167.162

это больше не означает 203.113.167.162 в списке запретов.


37
2018-02-28 13:55



Для меня тюремное имя было sshd (Ubuntu 16) - scipilot
По моему, он говорит, что общий запрет: 6, но список под запрещенным ip просто пуст :( нужно отслеживать журналы - William Hilsum


Ответ укода неверен:

Вызов fail2ban-client без параметров, и вы увидите список возможных команд:

get JAIL actionunban ACT             

Это получает команду unban для действия ACT для JAIL.

Посмотрите на параметр действия тюрьмы, которую вы определили, вероятно, у вас есть действие iptables и, возможно, более похожее на sendmail, whois или что-то еще. поэтому, если ваше действие было iptables, оно будет выглядеть так:

fail2ban-client get JAIL actionunban iptables

и ответ будет:

iptables -D fail2ban-NAME -s IP -j DROP

Он покажет вам только то, что вам нужно написать для unban. Не существует самой команды unban.


21
2018-01-13 15:13



Да, это сработало для меня, для unban из тюрьмы SSH iptables -D fail2ban-ssh -s <IP> -j DROP, Благодаря ingo! - Deele


Если 192.168.2.1 запрещено

sudo iptables -L

Проверьте, какая цепь запрещена, например.

Цепь fail2ban-sasl (1 ссылка)

DROP all - 192.168.2.1 в любом месте

Затем:

# to view the proper command for un-banning
sudo fail2ban-client get sasl actionunban
# actual command
iptables -D fail2ban-sasl -s 192.168.2.1 -j DROP

8
2018-01-24 14:04





Использование fail2ban v.0.8.6:

$ sudo fail2ban-client status # to reveal your JAIL name (mine is ssh)
$ sudo fail2ban-client set ssh delignoreip your_ip_address
$ sudo nano /etc/hosts.deny # delete your ip address
$ sudo fail2ban-client reload

4
2017-09-30 12:18



Это предполагает, что hosts.deny - это действие, используемое ... Но оно по-прежнему более полезно, чем те, которые пытаются изменить метод разукрупнения IP-адресов в более старых версиях, используя actionunban... - Gert van den Berg


Сначала вам нужно получить имя тюрьмы. Вы можете получить список (в большинстве случаев это будет только ssh jail):

fail2ban-client status

После получения имени тюрьмы вы можете проверить, какие IP-адреса игнорируются.

fail2ban-client get ssh ignoreip

Если ваш IP-адрес находится в списке игнорирования, его можно удалить с помощью:

fail2ban-client set ssh delignoreip your_ip_address
vi /etc/hosts.deny

Удалите запись хоста:

fail2ban-client reload

4
2017-09-09 11:20



Список игнорирования - это список IP-адресов, которые нельзя запрещать. Это совершенно не связано с списком заблокированных IP-адресов, который является списком, из которого OP хочет удалить IP-адрес. - jlh


к сожалению, с версией 0.8.2 команды fail2ban-client:

fail2ban-client get jail actionunban ipaddress

не работает. Чтобы решить проблему, лучшим вариантом является обновление fail2ban до последней версии и использование новой опции:

unbanip

2
2018-06-21 18:35