Подключение к VDS по SSH: PuTTY, терминал и SSH-ключи
Пошаговое руководство по SSH-подключению к Linux VDS: PuTTY, терминал, аутентификация по ключу, правило фильтрации Path Panel и советы по безопасности.
Руководство по усилению безопасности Linux-сервера: настройка SSH, отключение root-входа, Fail2Ban, автоматические обновления, правила брандмауэра и права доступа к файлам.
При настройке нового Linux-сервера конфигурация по умолчанию не оптимизирована с точки зрения безопасности. Усиление сервера включает систематические изменения конфигурации для уменьшения поверхности атаки и устранения уязвимостей. Это руководство предоставляет полный чеклист безопасности для серверов REXE.
Стандартные установки Linux могут иметь:
Не закрывайте существующее SSH-соединение во время усиления. После каждого шага проверяйте соединение из нового терминала.
# Обновление системы
sudo apt update && sudo apt upgrade -y
# Установка автоматических обновлений безопасности
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure --priority=low unattended-upgrades
# /etc/apt/apt.conf.d/50unattended-upgrades
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}-security";
};
Unattended-Upgrade::AutoFixInterruptedDpkg "true";
Unattended-Upgrade::Remove-Unused-Dependencies "true";
Unattended-Upgrade::Automatic-Reboot "false";
sudo nano /etc/ssh/sshd_config
# Настройки безопасности SSH
# Отключить вход root
PermitRootLogin no
# Отключить аутентификацию по паролю (после настройки SSH-ключа)
PasswordAuthentication no
# Запретить пустые пароли
PermitEmptyPasswords no
# Отключить X11 forwarding
X11Forwarding no
# Максимальное количество попыток входа
MaxAuthTries 3
# Максимальное количество одновременных сессий
MaxSessions 5
# Тайм-аут входа (секунды)
LoginGraceTime 30
# Версия протокола
Protocol 2
# Разрешить только определённых пользователей
AllowUsers admin deploy
# Изменить порт SSH (опционально)
# Port 2222
# Сильные алгоритмы шифрования
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com
KexAlgorithms curve25519-sha256,diffie-hellman-group14-sha256
# Проверка конфигурации SSH
sudo sshd -t
# Перезапуск SSH
sudo systemctl restart sshd
# Установка и настройка UFW
sudo apt install ufw -y
# Политики по умолчанию
sudo ufw default deny incoming
sudo ufw default allow outgoing
# Сначала разрешить SSH!
sudo ufw allow ssh
# Веб-сервисы
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# Разрешить доступ с определённого IP
sudo ufw allow from 192.168.1.0/24 to any port 3306
# Включить UFW
sudo ufw enable
# Проверить статус
sudo ufw status verbose
# Ограничение скорости для защиты от брутфорса
sudo ufw limit ssh
# Заблокировать определённый IP
sudo ufw deny from 1.2.3.4
# Удалить правило
sudo ufw delete allow 80/tcp
# Установка Fail2Ban
sudo apt install fail2ban -y
# Создание локальной конфигурации
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
[DEFAULT]
bantime = 3600
findtime = 600
maxretry = 5
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 86400
[nginx-http-auth]
enabled = true
port = http,https
logpath = /var/log/nginx/error.log
# Запуск Fail2Ban
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
# Проверка статуса
sudo fail2ban-client status
sudo fail2ban-client status sshd
# Просмотр заблокированных IP
sudo fail2ban-client status sshd | grep "Banned IP"
# Разблокировать IP
sudo fail2ban-client set sshd unbanip 1.2.3.4
# Список запущенных служб
sudo systemctl list-units --type=service --state=running
# Отключение ненужных служб
sudo systemctl disable --now avahi-daemon
sudo systemctl disable --now cups
sudo systemctl disable --now bluetooth
sudo systemctl disable --now rpcbind
# Проверка открытых портов
sudo ss -tlnp
# Поиск файлов SUID/SGID
find / -perm /4000 -type f 2>/dev/null
find / -perm /2000 -type f 2>/dev/null
# Поиск файлов с мировой записью
find / -perm -0002 -type f 2>/dev/null
# Сделать критические файлы неизменяемыми
sudo chattr +i /etc/passwd
sudo chattr +i /etc/shadow
sudo nano /etc/sysctl.d/99-security.conf
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.log_martians = 1
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.tcp_syncookies = 1
kernel.randomize_va_space = 2
kernel.dmesg_restrict = 1
kernel.kptr_restrict = 2
fs.suid_dumpable = 0
sudo sysctl -p /etc/sysctl.d/99-security.conf
tail -f /var/log/auth.log
tail -f /var/log/fail2ban.log
tail -f /var/log/ufw.log
# Подсчёт неудачных SSH-входов
grep "Failed password" /var/log/auth.log | wc -l
# Установка Logwatch
sudo apt install logwatch -y
sudo logwatch --output stdout --format text --range today
# Аудит безопасности с Lynis
sudo apt install lynis -y
sudo lynis audit system
# Сканирование руткитов с rkhunter
sudo apt install rkhunter -y
sudo rkhunter --update
sudo rkhunter --check
Оценка безопасности Lynis должна быть 70+. Запускайте регулярно (ежемесячно).
Усиление безопасности сервера — не разовая задача, а непрерывный процесс. Применяйте этот чеклист при настройке новых серверов и проводите регулярные аудиты безопасности. Эти шаги значительно повысят безопасность ваших серверов REXE.
Изменение стандартного порта 22 снижает количество автоматизированных атак сканирования (безопасность через неизвестность). Однако для реальной безопасности аутентификация по SSH-ключу и Fail2Ban более эффективны. Изменение порта можно использовать как дополнительный уровень.
Да, Fail2Ban по умолчанию использует iptables, но может работать с UFW. Установите 'banaction = ufw' в /etc/fail2ban/jail.local, чтобы Fail2Ban создавал правила UFW.
Сначала создайте обычного пользователя с правами sudo и настройте его SSH-ключ. Проверьте соединение с новым пользователем. Затем установите 'PermitRootLogin no' в /etc/ssh/sshd_config. Проверьте из нового терминала перед отключением.
Обновления безопасности, как правило, безопасны. Настройте unattended-upgrades только для обновлений безопасности и установите 'Automatic-Reboot false'. Для критических систем сначала тестируйте обновления в промежуточной среде.
Отчёт Lynis содержит предложения по улучшению. Сосредоточьтесь на разделах 'Suggestion' и 'Warning'. Распространённые улучшения: параметры ядра, конфигурация PAM, права доступа к файлам и отключение ненужных служб.
Пошаговое руководство по SSH-подключению к Linux VDS: PuTTY, терминал, аутентификация по ключу, правило фильтрации Path Panel и советы по безопасности.
Пошаговое руководство по RDP-подключению к Windows Server VDS: настройка, безопасность NLA, правило фильтрации Path Panel и устранение неполадок.
Смена операционной системы VDS через панель REXE: советы по резервному копированию, поддерживаемые дистрибутивы Linux и версии Windows Server.