Разделение ролей пользователей и сервисов

Ошибка по умолчанию

  • Один пользователь = всё
  • Сервисы работают от root

Безопасная модель

КомпонентПользователь
nginxwww-data
postgrespostgres
backupbackup
monitoringmonitor

Почему это важно

  • Взлом одного сервиса ≠ взлом всей системы
  • Ограничение lateral movement

Практика

  • nologin для сервисных пользователей
  • Нет shell
  • Нет home, если не нужен
useradd -r -s /usr/sbin/nologin myservice