После получения доступа к серверу (обычно root-пароль приходит на почту) необходимо выполнить базовую настройку. Подключитесь по SSH:
ssh root@IP_АДРЕС_СЕРВЕРА
Первым делом обновите пакеты и установите необходимые утилиты:
apt update && apt upgrade -y
apt install -y curl wget nano ufw fail2ban htop git
Работать под root — плохая практика. Создайте пользователя с правами sudo:
adduser username
usermod -aG sudo username
Затем скопируйте SSH-ключ для нового пользователя (если ещё не настроен):
rsync --archive --chown=username:username ~/.ssh /home/username
su - username.
Отредактируйте конфигурацию SSH:
sudo nano /etc/ssh/sshd_config
Найдите и измените следующие параметры:
После изменений перезапустите SSH:
sudo systemctl restart sshd
Fail2Ban автоматически блокирует IP-адреса после нескольких неудачных попыток входа. Создайте локальный конфиг:
sudo nano /etc/fail2ban/jail.local
Вставьте следующее содержимое (замените порт 2222, если использовали другой):
[sshd]
enabled = true
port = 2222
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
findtime = 600
Перезапустите Fail2Ban:
sudo systemctl restart fail2ban
Проверьте статус:
sudo fail2ban-client status sshd
UFW — простой интерфейс для управления iptables. Настроим базовые правила.
Если вы сменили порт SSH на 2222, разрешите именно его. Иначе потеряете доступ:
sudo ufw allow 2222/tcp
Если порт стандартный (22):
sudo ufw allow 22/tcp
Для веб-сервера откройте стандартные порты:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
Проверьте статус и список правил:
sudo ufw status verbose
sudo ufw allow from 203.0.113.5sudo ufw deny 3306sudo ufw delete allow 80/tcpsudo ufw reset (осторожно!)Установите unattended-upgrades для автоматической установки патчей безопасности:
sudo apt install unattended-upgrades -y && sudo dpkg-reconfigure --priority=low unattended-upgrades
Добавьте параметры для защиты от SYN-флуда и других атак:
sudo nano /etc/sysctl.conf
Добавьте в конец файла:
net.ipv4.tcp_syncookies = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.accept_source_route = 0
net.ipv6.conf.all.accept_source_route = 0
Примените изменения:
sudo sysctl -p
Для мониторинга подозрительной активности:
sudo apt install auditd -y && sudo systemctl enable auditd
sudo tail -f /var/log/auth.log и sudo journalctl -u sshd.
sudo ss -tulpn
sudo fail2ban-client status sshd && sudo ufw status
Теперь ваш VPS защищён на базовом уровне. Не забывайте делать резервные копии и мониторить подозрительную активность.