Тем не менее... остановимся сегодня вкратце все-таки на fail2ban; тем более, что возможности fail2ban далеко не исчерпываются защитой ssh от атак типа bruteforce, т.е. перебора паролей... и приведем, в качестве примера, рабочий конфиг одной из jail - клеток fail2ban.
Итак, для начала все-таки о защите sshd на серверах под управлением RHEL/CentOS. Вдруг вы выберете в качестве хостинга не Amazon! - так или иначе, пригодится. Все просто. Для установки fail2ban вам понадобится подключенный репозиторий epel; о подключении epel, можно прочесть, например, в статье phpMyAdmin для RHEL. После чего останется, собственно, только лишь установить сервис fail2ban:
sudo yum install fail2ban
sudo systemctl enable fail2ban
В директории /etc/fail2ban создаем новый файл jail.local, содержащий, например, следующие строчки:
[DEFAULT]
# Your ip address:
ignoreip = XXX.XX.XX.XX
# Ban hosts for one hour:
bantime = 48600
findtime = 600
maxretry = 3
# Override /etc/fail2ban/jail.d/00-firewalld.conf:
banaction = iptables-multiport
[sshd]
enabled = true
и теперь нелишне рестартануть fail2ban. Проверяем (если провести проверку спустя некоторое время - результат получится более наглядным):
# fail2ban-client -i
Fail2Ban v0.9.3 reads log file that contains password failure report
and bans the corresponding IP addresses using firewall rules.
fail2ban> status
Status
|- Number of jail: 1
`- Jail list: sshd
# fail2ban-client status sshd
Status for the jail: sshd
|- Filter
| |- Currently failed: 0
| |- Total failed: 215
| `- File list: /var/log/secure
`- Actions
|- Currently banned: 14
|- Total banned: 32
`- Banned IP list: 171.251.42.79 40.83.13.219 222.95.130.52 69.12.91.41 125.212.232.82 212.83.161.172 125.212.232.120 112.25.41.6 125.88.177.94 163.172.197.61 125.212.232.137 103.243.107.204 212.129.3.77 195.154.47.128
На сегодня - это, пожалуй, все... но продолжение, как всегда, следует.