IT
IT-Konsult
ИТ‑аутсорсинг для бизнеса

База знаний / Серверы 1 мин

Hardening Linux-сервера: базовый чек‑лист безопасности (SSH, sudo, firewall)

Практичный минимум: закрываем очевидные дыры, приводим доступы в порядок, включаем firewall и базовый аудит.

Цель

Сделать сервер предсказуемым: минимум лишних сервисов, понятные доступы, базовый периметр и логирование.

1) Доступ по SSH

  • Только ключи: PasswordAuthentication no
  • Запрет root‑логина: PermitRootLogin no
  • Ограничьте пользователей: AllowUsers / AllowGroups
  • Порт менять можно, но важнее — ключи и ограничения.

2) Sudo и роли

  • Создайте отдельные группы: sudo, deploy, ops
  • Не выдавайте ALL=(ALL) NOPASSWD:ALL без крайней необходимости.
  • Сделайте «набор команд» для обслуживания (перезапуск сервисов, просмотр логов).

3) Firewall

  • Разрешите только нужное: 22/80/443 или только 443 и VPN.
  • Ограничьте доступ к админ‑панелям по IP.
  • Фиксируйте правила в IaC/скриптах, чтобы не «терялись» при миграциях.

4) Fail2ban / rate‑limit

Минимум — защита SSH. Для веб‑сервисов добавьте rate limiting (Nginx) и базовые правила.

5) Логи и аудит

  • Проверьте journald и ротацию логов (logrotate).
  • Настройте централизованный сбор (например, Loki/ELK) — хотя бы для критичных сервисов.
  • Добавьте алерты на «подозрительные» события: много 401/403, частые рестарты сервисов.

6) Обновления

Заведите регулярное окно изменений и проверку после обновлений. Обязательны: тестовый контур или хотя бы snapshot/rollback план.

Мини‑чеклист

  • [ ] SSH: ключи, запрет root, ограничение пользователей
  • [ ] Sudo: минимальные привилегии
  • [ ] Firewall: открыт только нужный трафик
  • [ ] Fail2ban / rate‑limit
  • [ ] Логи + ротация + алерты
  • [ ] Регулярные обновления + план отката