Усиление безопасности сервера: Полный чеклист
Руководство по усилению безопасности Linux-сервера: настройка SSH, отключение root-входа, Fail2Ban, автоматические обновления, правила брандмауэра и права доступа к файлам.
Содержание
Усиление безопасности сервера: Полный чеклист
При настройке нового Linux-сервера конфигурация по умолчанию не оптимизирована с точки зрения безопасности. Усиление сервера включает систематические изменения конфигурации для уменьшения поверхности атаки и устранения уязвимостей. Это руководство предоставляет полный чеклист безопасности для серверов REXE.
Зачем усиливать безопасность сервера?
Стандартные установки Linux могут иметь:
- Запущенные ненужные службы
- SSH открытый для аутентификации по паролю
- Включённый вход root
- Минимальные правила брандмауэра
- Отключённые автоматические обновления
Не закрывайте существующее SSH-соединение во время усиления. После каждого шага проверяйте соединение из нового терминала.
✅ Чеклист 1: Обновления системы
# Обновление системы
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";
✅ Чеклист 2: Усиление SSH
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
✅ Чеклист 3: Настройка брандмауэра
# Установка и настройка 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
Расширенные правила UFW
# Ограничение скорости для защиты от брутфорса
sudo ufw limit ssh
# Заблокировать определённый IP
sudo ufw deny from 1.2.3.4
# Удалить правило
sudo ufw delete allow 80/tcp
✅ Чеклист 4: Настройка Fail2Ban
# Установка 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
✅ Чеклист 5: Отключение ненужных служб
# Список запущенных служб
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
✅ Чеклист 6: Безопасность файловой системы
# Поиск файлов 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
✅ Чеклист 7: Параметры безопасности ядра
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
✅ Чеклист 8: Мониторинг логов
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
✅ Чеклист 9: Сканирование безопасности
# Аудит безопасности с Lynis
sudo apt install lynis -y
sudo lynis audit system
# Сканирование руткитов с rkhunter
sudo apt install rkhunter -y
sudo rkhunter --update
sudo rkhunter --check
Оценка безопасности Lynis должна быть 70+. Запускайте регулярно (ежемесячно).
Краткий справочный чеклист
- Обновления системы применены
- Автоматические обновления безопасности включены
- Вход root по SSH отключён
- Вход по паролю SSH отключён (ключ установлен)
- SSH MaxAuthTries установлен на 3
- Брандмауэр UFW включён и настроен
- Fail2Ban установлен и работает
- Ненужные службы отключены
- Параметры безопасности ядра настроены
- Мониторинг логов настроен
- Аудит безопасности Lynis завершён
Заключение
Усиление безопасности сервера — не разовая задача, а непрерывный процесс. Применяйте этот чеклист при настройке новых серверов и проводите регулярные аудиты безопасности. Эти шаги значительно повысят безопасность ваших серверов REXE.
Связанные статьи
Подключение к VDS по SSH: PuTTY, терминал и SSH-ключи
Пошаговое руководство по SSH-подключению к Linux VDS: PuTTY, терминал, аутентификация по ключу, правило фильтрации Path Panel и советы по безопасности.
Подключение к Windows VDS по RDP: полное руководство
Пошаговое руководство по RDP-подключению к Windows Server VDS: настройка, безопасность NLA, правило фильтрации Path Panel и устранение неполадок.
Смена ОС VDS-сервера: пошаговое руководство (Reinstall)
Смена операционной системы VDS через панель REXE: советы по резервному копированию, поддерживаемые дистрибутивы Linux и версии Windows Server.