Linux Capabilities
Что такое Linux Capabilities?
Linux CapabilitiesФункция ядра Linux на базе черновика POSIX.1e, разбивающая всемогущие права root на более чем 40 дискретных привилегий, выдаваемых процессам и файлам по отдельности.
Linux capabilities появились в ядре 2.2, чтобы устранить бинарное разделение «непривилегированный пользователь — всемогущий root». Ядро предоставляет около 40 дискретных привилегий — CAP_NET_BIND_SERVICE, CAP_SYS_ADMIN, CAP_NET_ADMIN, CAP_DAC_OVERRIDE, CAP_SYS_PTRACE и др. — которые можно выдавать процессам или прописывать как file capabilities у исполняемых файлов. Они следуют черновику POSIX.1e. В пользовательском пространстве libcap предоставляет инструменты capsh (просмотр и изменение набора capabilities оболочки), getcap и setcap (чтение/назначение capabilities файлам) и getpcaps. Контейнерные среды Docker и containerd по умолчанию оставляют подмножество (без CAP_SYS_ADMIN, но с CAP_NET_BIND_SERVICE), а Pod Security Standards Kubernetes ужесточают их ещё сильнее. Capabilities являются фундаментом принципа наименьших привилегий на Linux-серверах и в нагрузках в духе CNCF.
● Примеры
- 01
Выдача нерутовому процессу только CAP_NET_BIND_SERVICE, чтобы он мог слушать TCP-порт 80 без прав root.
- 02
Команда "capsh --print" в контейнере подтверждает, что CAP_SYS_ADMIN отозван.
● Частые вопросы
Что такое Linux Capabilities?
Функция ядра Linux на базе черновика POSIX.1e, разбивающая всемогущие права root на более чем 40 дискретных привилегий, выдаваемых процессам и файлам по отдельности. Относится к категории Идентификация и доступ в кибербезопасности.
Что означает Linux Capabilities?
Функция ядра Linux на базе черновика POSIX.1e, разбивающая всемогущие права root на более чем 40 дискретных привилегий, выдаваемых процессам и файлам по отдельности.
Как работает Linux Capabilities?
Linux capabilities появились в ядре 2.2, чтобы устранить бинарное разделение «непривилегированный пользователь — всемогущий root». Ядро предоставляет около 40 дискретных привилегий — CAP_NET_BIND_SERVICE, CAP_SYS_ADMIN, CAP_NET_ADMIN, CAP_DAC_OVERRIDE, CAP_SYS_PTRACE и др. — которые можно выдавать процессам или прописывать как file capabilities у исполняемых файлов. Они следуют черновику POSIX.1e. В пользовательском пространстве libcap предоставляет инструменты capsh (просмотр и изменение набора capabilities оболочки), getcap и setcap (чтение/назначение capabilities файлам) и getpcaps. Контейнерные среды Docker и containerd по умолчанию оставляют подмножество (без CAP_SYS_ADMIN, но с CAP_NET_BIND_SERVICE), а Pod Security Standards Kubernetes ужесточают их ещё сильнее. Capabilities являются фундаментом принципа наименьших привилегий на Linux-серверах и в нагрузках в духе CNCF.
Как защититься от Linux Capabilities?
Защита от Linux Capabilities обычно сочетает технические меры и операционные практики, как описано в определении выше.
Какие есть другие названия Linux Capabilities?
Распространённые альтернативные названия: POSIX-capabilities, Linux caps.
● Связанные термины
- identity-access№ 120
BPF LSM
Модуль безопасности Linux, позволяющий верифицированным eBPF-программам подключаться к LSM-хукам и применять пользовательские правила обязательного контроля доступа к системным вызовам, файлам, сокетам и capability.
- identity-access№ 585
Режимы ядра и пользователя
Два уровня привилегий CPU, обеспечиваемые современными ОС: режим ядра (supervisor, ring 0) с полным доступом к оборудованию и пользовательский режим (ring 3), ограниченный своим адресным пространством и непривилегированными инструкциями.
- cloud-security№ 600
Безопасность Kubernetes
Защита кластера Kubernetes — API-сервера, control plane, узлов, рабочих нагрузок и сети — от ошибок конфигурации, компрометации и латерального перемещения.
- vulnerabilities№ 860
Повышение привилегий
Класс уязвимостей, позволяющий злоумышленнику получить права выше предоставленных изначально, например перейти от обычного пользователя к администратору.
- cryptography№ 1006
SELinux
Security-Enhanced Linux — фреймворк обязательного контроля доступа, разработанный АНБ США и реализованный через LSM-хуки и политику type enforcement.
● См. также
- № 367eBPF-безопасность