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

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

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

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

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

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

155 голосов | спросил psp 29 J0000006Europe/Moscow 2011, 15:43:19

9 ответов


216

С Fail2Ban перед v0.8.8:

fail2ban-client получить YOURJAILNAMEHERE actionunban IPADDRESSHERE

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

fail2ban-client set YOURJAILNAMEHERE unbanip IPADDRESSHERE

Жесткая часть находится в правильной тюрьме:

  1. Используйте iptables -L -n, чтобы найти имя правила ...
  2. ... затем используйте fail2ban-client status, чтобы получить фактические имена тюрем. Имя правила и имя тюрьмы могут не совпадать, но должно быть ясно, с кем связано.
ответил ukoda 30 32011vEurope/Moscow11bEurope/MoscowWed, 30 Nov 2011 01:59:42 +0400 2011, 01:59:42
78

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

fail2ban-client set ssh-iptables unbanip IPADDRESSHERE

более общий:

fail2ban-client set JAILNAMEHERE unbanip IPADDRESSHERE

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

ответил user157436 4 FebruaryEurope/MoscowbMon, 04 Feb 2013 12:25:51 +0400000000pmMon, 04 Feb 2013 12:25:51 +040013 2013, 12:25:51
37

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

введите в bash:

fail2ban-client -i

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

status sshd

вы получите:

Статус для тюрьмы: ssh
| - Общение
| | - Общение
| | - Общение
| `- Список файлов: /var/log/auth.log
`- Действия
   | - Общение
   | - Общение
   `- Список запрещенных IP-адресов: 203.113.167.162

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

set sshd unbanip 203.113.167.162

вы получите:

203.113.167.162

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

ответил Amaroc 28 FebruaryEurope/MoscowbSun, 28 Feb 2016 16:55:15 +0300000000pmSun, 28 Feb 2016 16:55:15 +030016 2016, 16:55:15
21

Ответ указ ошибочен:

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

получить JAIL actionunban ACT

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

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

fail2ban-client получить JAIL actionunban iptables

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

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

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

ответил ingo 13 Jpm1000000pmFri, 13 Jan 2012 19:13:40 +040012 2012, 19:13:40
8

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

sudo iptables -L

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

  

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

     

DROP all - 192.168.2.1 где-нибудь

Тогда:

#, чтобы просмотреть правильную команду для запрета
sudo fail2ban-client получить sasl actionunban
# действительная команда
iptables -D fail2ban-sasl -s 192.168.2.1 -j DROP
ответил Lionel Broes 24 Jpm1000000pmFri, 24 Jan 2014 18:04:34 +040014 2014, 18:04:34
4

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

$ sudo fail2ban-client status #, чтобы показать ваше имя JAIL (мой ssh)
$ sudo fail2ban-client set ssh delignoreip your_ip_address
$ sudo nano /etc/hosts.deny # удалить свой IP-адрес
$ sudo fail2ban-client reload
ответил take 30 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowTue, 30 Sep 2014 16:18:33 +0400 2014, 16:18:33
4

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

статус fail2ban-client

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

fail2ban-client get ssh ignoreip

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

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

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

fail2ban-client reload
ответил zainengineer 9 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowWed, 09 Sep 2015 14:20:00 +0300 2015, 14:20:00
2

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

fail2ban-client get jail actionunban ipaddress

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

unbanip
ответил Pol Hallen 21 J0000006Europe/Moscow 2014, 22:35:21
0

Если IP находится в нескольких тюрьмах, это становится болью.

однострочный, чтобы удалить 192.168.1.2 из всех тюрем:

для тюрьмы в $ (статус fail2ban-client | grep) Список тюрем: '| sed' s /.* Список тюрем: //'| sed's /, //g'); do fail2ban-client set $ jail unbanip 192.168.1.2; сделанный

сценарий, чтобы сделать то же самое https://gist.github.com/yolabingo/c810db6fe7f8bfcb9eb4f6ffc531e474

ответил yolabingo 2 42017vEurope/Moscow11bEurope/MoscowThu, 02 Nov 2017 23:59:21 +0300 2017, 23:59:21

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132