Запуск Продукты Bitnami Документацияimaxe CLI Блог Контакты
imaxe fail2ban баны v1.0.0

Баны под контролем, без правки fail2ban

Смотрите и управляйте банами fail2ban одной командой: какие джейлы активны, кто забанен, баньте и разбаньте IP вручную и снимайте блокировку в критический момент. Не нужно помнить синтаксис fail2ban-client.

$ imaxe fail2ban status
Версия
v1.0.0
Подкоманды
7
Требуется root
да
Вывод JSON
status · banned · check
Бэкенд
fail2ban-client

Что делает этот модуль #

fail2ban — это страж, который следит за логами вашего сервера и, обнаружив попытки вредоносного доступа (например, множество неудачных вводов пароля по SSH), автоматически банит виновную IP на некоторое время. Каждый отслеживаемый сервис организован в отдельный джейл (например sshd).

Модуль fail2ban даёт вам контроль над этими банами во время выполнения, избавляя от необходимости помнить синтаксис fail2ban-client: смотрите состояние джейлов, выводите список кто забанен, проверяйте, заблокирована ли конкретная IP, баньте или разбаньте вручную, снимайте блокировку сразу со всех в экстренной ситуации и перезагружайте конфигурацию после изменения.

Прежде чем начать

Этот модуль работает с уже установленным и запущенным fail2ban. Все подкоманды запрашивают или изменяют состояние сервиса, поэтому им нужны права root (используйте sudo). Если вы заблокировали доступ по собственной IP, сразу переходите к экстренной разблокировке.

Краткое руководствопошаговые задачи

Типовые задачи #

Выберите, что нужно сделать. В каждом рецепте команда уже готова — просто замените IP или джейл на свои и нажмите Копировать.

1

Посмотреть состояние и джейлы

Одним взглядом проверьте, активен ли fail2ban и сколько IP забанено.

Подключитесь по SSH к серверу под пользователем ubuntu и запросите общее состояние:

терминал
$ sudo imaxe fail2ban status

Нужен вывод, читаемый машиной, для скрипта или панели? Добавьте --json:

терминал
$ sudo imaxe fail2ban status --json
Вы увидите, активен ли сервис, список джейлов (например sshd) и число забаненных IP в каждом из них.
2

Посмотреть, какие IP забанены

Выведите активные баны по всем джейлам или по одному конкретному.

Все забаненные IP по всем джейлам сразу:

терминал
$ sudo imaxe fail2ban banned

Интересует только один джейл? Укажите его аргументом:

терминал
$ sudo imaxe fail2ban banned sshd
Вы получите список заблокированных IP. Если какая-то из них легитимна, передайте её в рецепт Забанить или разбанить.
3

Проверить, забанена ли IP

Узнайте, в каких джейлах заблокирован конкретный адрес.

Запросите напрямую по IP; вам скажут, в каких джейлах она забанена:

терминал
$ sudo imaxe fail2ban check 203.0.113.7
Мгновенно узнаете, заблокирована ли эта IP и в каких джейлах. Используйте перед разбаном того, кто сообщает о проблемах с доступом.
4

Забанить или разбанить IP

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

Забаньте IP в конкретном джейле (если джейл всего один, он определится сам):

терминал
$ sudo imaxe fail2ban ban 203.0.113.7 --jail sshd

Забанили кого-то легитимного? Разбаньте его сразу из всех джейлов:

терминал
$ sudo imaxe fail2ban unban 203.0.113.7
Изменение вступает в силу сразу. Подтвердите его командой imaxe fail2ban check для той же IP.
5

Разблокировать всё (экстренно)

Вы заблокировали себе доступ: освободите все IP во всех джейлах.

Если ваша собственная IP попала под бан и нужно срочно вернуть доступ, разбаньте их все. Добавьте --yes, чтобы пропустить подтверждение:

терминал
$ sudo imaxe fail2ban unban-all --yes

После изменения конфигурации джейлов перезагрузите её, чтобы она применилась:

терминал
$ sudo imaxe fail2ban reload
Все джейлы остаются без банов. Это временная мера: fail2ban снова забанит нарушителей, как только они повторят попытку.
Осторожно с unban-all

Это разрушительная операция над банами: она снимает блокировку со всех IP, включая вредоносные. Используйте её только для восстановления доступа в экстренной ситуации и потом проверьте состояние командой imaxe fail2ban status.

Справочник CLIкоманды, флаги и файлы

Синопсис #

использование
imaxe fail2ban <subcomando> [<ip>|<jail>] [--jail JAIL] [flags]

Все подкоманды требуют прав root (используйте sudo), потому что запрашивают или изменяют состояние fail2ban через fail2ban-client. Добавьте --json к status, banned или check, чтобы получить вывод, читаемый машиной, пригодный для скриптинга.

Подкоманды #

ПодкомандаЧто делаетЗначимые флаги
statusСостояние fail2ban: активность, джейлы и число забаненных IP по джейлам.--json
bannedВыводит забаненные IP (по всем джейлам или по одному конкретному).--json
checkПоказывает, в каких джейлах забанена IP.--json
banВручную банит IP в джейле.--jail
unbanРазбанивает IP из всех джейлов.
unban-allЭКСТРЕННО: разбанивает ВСЕ IP из всех джейлов.--yes
reloadПерезагружает конфигурацию fail2ban (проверяет jail.local).

Аргументы и флаги #

Аргумент / ФлагТипПо умолчаниюОписание
<ip> обяз.stringIP, с которой работаем. Обязательна в check, ban и unban.
<jail>stringвсеВ banned — конкретный джейл для вывода. Без аргумента выводятся все джейлы.
--jailstringавтоВ ban — джейл назначения бана. Если джейл всего один, определяется сам.
--yesboolfalseВ unban-all — подтверждает без вопроса (разрушительная операция над банами).
--jsonboolfalseВ status/banned/check — выдаёт результат в виде JSON в stdout.

Файлы и пути #

ПутьСодержимое
/etc/fail2ban/jail.localЛокальная конфигурация fail2ban: активные джейлы, время бана и пороги. То, что проверяет reload.
/var/run/fail2ban/fail2ban.sockУправляющий сокет, через который fail2ban-client общается с сервисом.
/var/log/fail2ban.logЛог самого fail2ban: баны, разбаны и перезагрузки.

Коды возврата и логи #

Каждый запуск возвращает код, который можно проверить командой echo $? — удобно для цепочек в скриптах:

0OKОперация выполнена успешно.
1ERRОбщая неклассифицированная ошибка. Проверьте лог.
2USAGEНедопустимые или отсутствующие аргументы.
3SERVICEfail2ban не активен или не отвечает на сокете.
4JAILУказанный джейл не существует или не удалось его определить.
5RELOADКонфигурация не прошла проверку; перезагрузка не выполнена.

Следите за логом в реальном времени во время отладки:

терминал
$ sudo journalctl -u fail2ban -f
$ sudo tail -f /var/log/fail2ban.log

Устранение неполадок #

СимптомВероятная причинаРешение
Выходит SERVICE (код 3)fail2ban остановлен или сокет не отвечает.Запустите сервис командой systemctl start fail2ban и повторите.
Выходит JAIL (код 4)Джейл из --jail не существует, либо их несколько и определить нельзя.Посмотрите джейлы командой imaxe fail2ban status и укажите правильный в --jail.
Выходит RELOAD (код 5)В jail.local есть синтаксическая ошибка.Исправьте /etc/fail2ban/jail.local и снова запустите reload.
Я заблокировал себе доступ по SSHВаша собственная IP набрала ошибок и попала под бан в sshd.Другим способом разбаньте её командой unban или снимите все баны через unban-all --yes.

Застряли с модулем Fail2ban?

Напишите нам, приложив вывод «imaxe <module> status --json», и мы быстро ответим.

Связаться с поддержкой