Идея
Разбить «root» на микропривилегии, дать процессу только то, что нужно.
Пример угрозы
Сервис работает от root → RCE → полный контроль системы.
Пример безопасной схемы
Было (опасно):
sudo ./server
Стало (безопаснее):
setcap cap_net_bind_service=+ep ./server
Теперь бинарь может слушать порт ниже 1024 без root.
Основные capabilities
| Capability | Опасность |
|---|---|
| CAP_SYS_ADMIN | почти root |
| CAP_NET_ADMIN | управление сетью |
| CAP_SYS_PTRACE | чтение памяти процессов |
| CAP_DAC_OVERRIDE | обход прав файлов |
Аудит
getcap -r / 2>/dev/null
Best practice
- Никогда не давать
CAP_SYS_ADMIN, если можно избежать - Capabilities ≠ безопасность, а снижение ущерба