Минимальный набор мер для защиты Linux-сервера: обновления, SSH-ключи, firewall, fail2ban, смена порта SSH.
Применимо к:
✔ VPS
✔ Выделенные серверы
✔ Linux
apt update && apt upgrade -y
Настройте автоматические обновления безопасности:
apt install unattended-upgrades -y
dpkg-reconfigure -plow unattended-upgrades
Сгенерируйте ключ на локальном компьютере:
ssh-keygen -t ed25519
Скопируйте на сервер:
ssh-copy-id root@IP_СЕРВЕРА
Убедитесь, что вход по ключу работает. Затем отключите вход по паролю в /etc/ssh/sshd_config:
PasswordAuthentication no
PermitRootLogin prohibit-password
systemctl restart sshd
В /etc/ssh/sshd_config:
Port 2222
Откройте новый порт в firewall перед перезапуском:
ufw allow 2222/tcp
systemctl restart sshd
Подключение:
ssh -p 2222 root@IP_СЕРВЕРА
ufw default deny incoming
ufw default allow outgoing
ufw allow 2222/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
Проверьте правила:
ufw status
apt install fail2ban -y
Создайте /etc/fail2ban/jail.local:
[sshd]
enabled = true
port = 2222
maxretry = 3
bantime = 3600
systemctl enable fail2ban
systemctl start fail2ban
Просмотрите запущенные сервисы:
systemctl list-units --type=service --state=running
Отключите ненужные:
systemctl disable --now ИМЯ_СЕРВИСА
adduser admin
usermod -aG sudo admin
Работайте под этим пользователем, используя sudo для привилегированных операций.
ufw status
fail2ban-client status sshd
ss -tlnp
Убедитесь, что открыты только необходимые порты.
Если после настройки firewall потеряли доступ к серверу, подключитесь через VNC/IPMI-консоль и скорректируйте правила. При необходимости обратитесь в техническую поддержку.