Назад к блогу
13 января 2026Руководства

Как защитить ваш Linux сервер (Hardening)

Основные шаги по защите вашего Linux-сервера от несанкционированного доступа и атак.

Как защитить ваш Linux сервер (Hardening)

Безопасность имеет первостепенное значение при работе сервера в Интернете. В этом руководстве описаны основные шаги по «закалке» (hardening) вашего Linux-сервера для защиты от распространенных угроз.

1. Своевременное обновление системы

bash
# Для Ubuntu/Debian
sudo apt update && sudo apt upgrade -y

# Для RHEL / CentOS / Alma / Rocky
sudo yum update -y

2. Защита доступа по SSH

Отключите аутентификацию по паролю и вход под root для предотвращения брутфорс-атак. Отредактируйте /etc/ssh/sshd_config:

КРИТИЧЕСКИ ВАЖНО: Перед отключением входа по паролю убедитесь, что вы успешно добавили свой публичный SSH-ключ на сервер (обычно в файл ~/.ssh/authorized_keys) и проверили, что можете войти без пароля. В противном случае вы потеряете доступ к серверу!
bash
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
# Измените порт для дополнительной безопасности
Port 2222

3. Настройка брандмауэра

Разрешайте только необходимые порты. Если вы изменили порт SSH, не забудьте разрешить его!

bash
sudo ufw allow 2222/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

4. Установка Fail2Ban

Fail2Ban защищает от атак методом перебора, блокируя IP-адреса, проявляющие признаки вредоносной активности.

bash
sudo apt install fail2ban -y
# Стандартной конфигурации обычно достаточно

5. Использование пользователя без прав root

Избегайте использования пользователя root для повседневных задач. Создайте нового пользователя с привилегиями sudo:

bash
sudo adduser username
sudo usermod -aG sudo username

Контрольный список безопасности

  • Используйте SSH-ключи вместо паролей
  • Включите автоматические обновления безопасности
  • Регулярно проводите аудит открытых портов (netstat -tulpn)
  • Используйте надежные и уникальные пароли для всех учетных записей
  • Мониторьте системные логи (/var/log/auth.log)
  • Отключайте неиспользуемые службы и удаляйте ненужное ПО