Це стара версія документу!
Fail2Ban
apt install fail2ban -y sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local sudo nano /etc/fail2ban/jail.local sudo fail2ban-client reload sudo fail2ban-client status sshd systemctl enable fail2ban
banaction = nftables-multiport banaction_allports = nftables-allports
Налаштування Fail2Ban для запуску/зупинки за допомогою nftables
Ми намагаємося досягти наступного:
- під час завантаження сервер запускає спочатку nftables.service, а потім fail2ban.service;
- якщо ми запускаємо nftables.service, він також повинен запускати fail2ban.service;
- якщо ми зупинимо nftables.service, він також має зупинити fail2ban.service;
- якщо ми перезапустимо nftables.service, він також має перезапустити fail2ban.service;
- якщо ми запускаємо fail2ban.service, він також повинен запускати nftables.service;
- зупинка та перезапуск дій на fail2ban.service не повинні впливати на nftables.service.
Ми можемо зробити все це, створивши файл перевизначення для fail2ban, вказавши йому, що він залежить від nftables, а потім nftables хоче, щоб він запустився:
mkdir -p /etc/systemd/system/fail2ban.service.d/ nano /etc/systemd/system/fail2ban.service.d/override.conf
[Unit] Requires=nftables.service PartOf=nftables.service [Install] WantedBy=multi-user.target nftables.service
Оскільки ми змінили розділ [Install], нам потрібно повторно ввімкнути відповідну службу, щоб створити відповідні символічні посилання. Ми також переконаємося, що nftables спочатку встановлено як сервісний блок:
# systemctl enable nftables.service Created symlink /etc/systemd/system/sysinit.target.wants/nftables.service → /lib/systemd/system/nftables.service. # systemctl enable fail2ban.service Created symlink /etc/systemd/system/nftables.service.wants/fail2ban.service → /lib/systemd/system/fail2ban.service. # systemctl daemon-reload