Как вы просматриваете все заблокированные IP-адреса для Ubuntu 12.04 через командную строку?

36

Я не могу найти быструю команду, чтобы просто просмотреть все запрещенные IP-адреса на сервере. Или есть файл, который я могу просто отредактировать?

Я предполагаю, что fail2ban - тот, который вводит все IP-адреса для запрета. Где я могу настроить параметры для этого?

Кажется, я могу войти в систему только на моем сервере, только если я отключил UFW. Кажется, я не могу понять, как разблокировать себя. Я даже не знаю, почему меня забанили в первую очередь. Есть ли какой-нибудь журнал для просмотра всех попыток?

Патоши パ ト シ
источник
5
sudo iptables -L -n?
Сет
есть так много продукции. что я должен искать? i.imgur.com/zTTXJTE.png ... спасибо .. я разрешил ufw <ip_address>, и он все еще не работал. я не знаю, где написано, что это запрещено.
Патоши シ ト シ
Также сделал состояние UFW и затем отключить UFW, сделал Iptables -F, а затем включить UFW. Тем не менее я не могу получить доступ к своему серверу удаленно. Мой ip четко отображается в поле состояния как разрешить: i.imgur.com/f7JD2Ny.png
Патоши シ ト シ
Вы открыли порт ssh перед тем, как sshing сервер?
Касим
как я могу это проверить? Я могу SSH, когда брандмауэр выключен. так не работает по умолчанию?
Патоши シ ト シ

Ответы:

24

sudo iptables -L INPUT -v -n | less

Это говорит iptables перечислить все правила в цепочке INPUT, предоставляя подробный числовой вывод. Мы пропускаем меньше, чтобы получить страницу за раз.

Старейшина Гик
источник
2
Возможно, что-то изменилось с 2014 года, но, как сейчас обстоят дела, этот ответ неверен, так как fail2ban не ставит вещи в INPUTцепочку.
Биллиноа
@billynoah Конечно, кое-что изменилось. Ничто в жизни не является статичным. Во-первых, 12.04 больше не поддерживается. Если вы все еще используете его, я рекомендую вам обновить его до 16.04 LTS, который поддерживается до апреля 2021 года.
Старейшина Гик
Я не уверен, что вы ссылаетесь на 12.04, потому что я сказал 2014? Я говорил о годе вашего ответа.
Биллиноа
1
@billynoah Я ссылаюсь на 12.04 из-за того, что на него ссылаются в вопросе, на который был дан этот ответ. Приношу свои извинения за путаницу, с которой вы можете столкнуться. :-)
Старейшина Гик
45

короткая версия :

список всех в настоящее время заблокированных ips:

fail2ban-client status | grep "Jail list:" | sed "s/ //g" | awk '{split($2,a,",");for(i in a) system("fail2ban-client status " a[i])}' | grep "Status\|IP list"

разблокировать ip:

fail2ban-client set postfix-mail unbanip 111.222.333.444

длинная версия :

если вы ищете «официальный» способ сделать это, есть клиент командной строки для fail2ban https://www.fail2ban.org/wiki/index.php/Commands :

~ # fail2ban-client status
Status
|- Number of jail:      8
`- Jail list:           roundcube, sshd, sogo, postfix-sasl, postfix-mail, dovecot, ssh, sshd-ddos

тогда вы можете запустить

~ # fail2ban-client status roundcube

Status for the jail: roundcube
|- filter
|  |- File list:        /var/log/mail.log
|  |- Currently failed: 0
|  `- Total failed:     12
`- action
   |- Currently banned: 1
   |  `- IP list:       111.222.333.444
   `- Total banned:     1

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

fail2ban-client status | grep "Jail list:" | sed "s/ //g" | awk '{split($2,a,",");for(i in a) system("fail2ban-client status " a[i])}' | grep "Status\|IP list"

какие выводы:

Status for the jail: roundcube
   |  `- IP list:
Status for the jail: sshd
   |  `- IP list:
Status for the jail: sogo
   |  `- IP list:
Status for the jail: postfix-sasl
   |  `- IP list:
Status for the jail: postfix-mail
   |  `- IP list:
Status for the jail: dovecot
   |  `- IP list:
Status for the jail: ssh
   |  `- IP list:
Status for the jail: sshd-ddos
   |  `- IP list:
c33s
источник
Должен быть принятый ответ сейчас.
Басж
без awk:fail2ban-client status | grep "Jail list:" | sed "s/`- Jail list://" | sed "s/\s//g" | sed "s/,/\n/g" | xargs -L1 fail2ban-client status | less
Quamis
21

Вы можете увидеть все ранее заблокированные IP-адреса через /var/log/fail2ban.log

sudo zgrep 'Ban' /var/log/fail2ban.log*

Однако некоторые запреты являются временными, поэтому я не уверен, как лучше отменить их (мои журналы fail2ban пусты, что затрудняет проверку!). Вы можете войти в большую схему учета с помощью awkкоманды, но она становится довольно скучной.

Во всяком случае, именно так вы хотите это сделать, если вы ищете причину, по которой вас забанили.

Другой способ - посмотреть на таблицы IP и посмотреть, что отбрасывается. Опять же, у этого есть некоторые проблемы, потому что он показывает маршруты по умолчанию, которые переопределяются, но я блокирую правила с источником 0.0.0.0/0, и это, кажется, сохраняет его достаточно чистым для практического использования:

sudo iptables -L -n | awk '$1=="DROP" && $4!="0.0.0.0/0"'

Это не объясняет, почему запрет случился.

Оли
источник
Является ли fail2ban основным приложением, которое выполняет запрет, а не каким-либо другим приложением? Мой сервер - просто базовый сервер Ubuntu, поэтому я никогда не устанавливал на него ничего другого.
Патоши シ ト シ
В таком случае да.
Оли
1
Обратите внимание, что моя текущая версия пишет NOTICE [snap-iptables] Ban 45.32.216.148- не ':'после слова Ban, но пробелы до и после.
Алексис Вилке