1) Поставить fail2ban
sudo apt install fail2ban
Создать файл
sudo nano /etc/fail2ban/jail.local
[DEFAULT]
bantime = 1h
findtime = 10m
maxretry = 5
#(чтобы себя не забанить, можно добавить ip и другие дополнительно сюда)
ignoreip = 127.0.0.1/8
# backend логов (обычно auto)
backend = auto
[sshd]
enabled = true
port = ssh
logpath = %(sshd_log)s
Стартонуть сервис:
sudo systemctl start fail2ban.service
Проверить статус:
sudo systemctl status fail2ban.service
Автозапуск:
sudo systemctl enable fail2ban.service
Статус:
sudo fail2ban-client status
sudo fail2ban-client status sshd
2) Настроить фаирвол:
Проверить существующие правила:
sudo iptables -L -n -v
sudo nft list ruleset
Посмотреть что слушается на сервере:
sudo apt install net-tools
sudo netstat -tulpn
Поставить ufw
sudo apt install ufw
Базовые правила защиты активировать:
sudo ufw default deny incoming
sudo ufw default allow outgoing
Разрешить ssh
sudo ufw allow OpenSSH
Включить фаирвол
sudo ufw enable
3) Обезопасить ssh
nano /etc/ssh/sshd_config
Изменить:
PermitRootLogin no
MaxAuthTries 3
ClientAliveInterval 300
ClientAliveCountMax 2
X11Forwarding no
Перезапуск:
sudo systemctl restart ssh
4) Сделать аудит системы на безопасность c помощью lynis:
cd /tmp
git clone https://github.com/CISOfy/lynis
cd lynis
sudo ./lynis audit system
