CentOS: Защита SSH с помощью fail2ban

Инструкция по установке и настройке fail2ban в CentOS для защиты SSH от перебора паролей.

Fail2Ban – программа для защиты серверов от перебора паролей (метод грубой силы).

CentOS: Защита SSH с помощью fail2ban

Принцип работы Fail2Ban

fail2ban перечитывает логи обнаруживая в них подозрительную активность, в данном случае ошибки авторизации. В случае обнаружения действий, соответствующих условию, блокирует IP адрес на определенное время.

Установка fail2ban в CentOS

Устанавливаем репозиторий epel

yum install epel-release

Устанавливаем fail2ban

yum install fail2ban

Включаем и запускаем службу

systemctl enable fail2ban
systemctl start fail2ban

Настройка fail2ban

Создаем файл

nano /etc/fail2ban/jail.local

Блокировка IP в iptables

Создаем конфиг, который будет блокировать IP адрес после 3 не успешных попыток авторизации.

[DEFAULT]
banaction = iptables-multiport
bantime = 3600
findtime = 180
maxretry = 3
backend = systemd

[sshd]
enabled = true

Для применения конфигурации необходимо перезапустить fail2ban

systemctl restart fail2ban

Блокировка IP в firewallcmd

Если нам нужна блокировка в firewal-cmd, указываем следующий конфиг, отличие только в поле banaction

[DEFAULT]
banaction = firewallcmd-ipset
bantime = 3600
findtime = 180
maxretry = 3
backend = systemd

[sshd]
enabled = true

Для применения конфигурации необходимо перезапустить fail2ban

systemctl restart fail2ban

Просмотр логов fail2ban

fail2ban пишет логи в /var/log/fail2ban.log

tail -f /var/log/fail2ban.log

2022-03-04 01:32:05,428 fail2ban.jail [2278]: INFO Jail 'sshd' started
2022-03-04 01:33:02,389 fail2ban.filter [2278]: INFO [sshd] Found 192.168.153.1 - 2022-03-04 01:32:36
2022-03-04 01:33:02,390 fail2ban.filter [2278]: INFO [sshd] Found 192.168.153.1 - 2022-03-04 01:32:39
2022-03-04 01:33:02,391 fail2ban.filter [2278]: INFO [sshd] Found 192.168.153.1 - 2022-03-04 01:32:44
2022-03-04 01:33:02,392 fail2ban.filter [2278]: INFO [sshd] Found 192.168.153.1 - 2022-03-04 01:32:46
2022-03-04 01:33:02,392 fail2ban.filter [2278]: INFO [sshd] Found 192.168.153.1 - 2022-03-04 01:32:46
2022-03-04 01:33:02,393 fail2ban.filter [2278]: INFO [sshd] Found 192.168.153.1 - 2022-03-04 01:32:51
2022-03-04 01:33:02,394 fail2ban.filter [2278]: INFO [sshd] Found 192.168.153.1 - 2022-03-04 01:32:52
2022-03-04 01:33:02,757 fail2ban.actions [2278]: NOTICE [sshd] Ban 192.168.153.1
2022-03-04 01:33:04,381 fail2ban.filter [2278]: INFO [sshd] Found 192.168.153.1 - 2022-03-04 01:33:03
2022-03-04 01:33:05,608 fail2ban.actions [2278]: NOTICE [sshd] 192.168.153.1 already banned
2022-03-04 01:33:52,240 fail2ban.actions [2278]: NOTICE [sshd] Unban 192.168.153.1

Проверить статус ловушки sshd

fail2ban-client status sshd
fail2ban-client status sshd
Status for the jail: sshd
|- Filter
|  |- Currently failed: 4
|  |- Total failed:     2755
|  `- Journal matches:  _SYSTEMD_UNIT=sshd.service + _COMM=sshd
`- Actions
   |- Currently banned: 5
   |- Total banned:     458
   `- Banned IP list:   1065.12.148.144 120.4.123.73 102.244.77.182 11ё.85.42.13 111.70.218.202

Добавить комментарий