Security Policy
Цель полиси
Механизмы повышения привилегий и назначения прав доступа являются основой для организации доверенной исполняемой пользовательской среды под управлением операционной системы. Компромисс между безопасностью и удобством для такой доверенной среды должен обеспечивать контроль за целостностью, которая не позволяет не явным образом изменять её состав и параметры функционирования.
Цель данного полиси - перечислить, объяснить компромиссы и определить настройки по умолчанию для средств администрирования в дистрибутивных решений на базе проекта Сизиф - операционных систем семейства Альт.
Текущее видение
Текст к дальнейшему рассмотрению и доработке
В современных дистрибутивах на базе ядра Linux имеются следующие механизмы "повышения" привилегий:
- запуск приложений с файловыми атрибутами suid и sgid, а также capabilities;
- механизмы межпроцессного взаимодействия (inter-process communication - IPC) с привилегированными приложениями, доступные непривилегированным приложениям:
- выполнение действий по запросу через внутренний протокол IPC;
- передача открытых файловых дескрипторов с правами привилегированного приложения.
Базовая политика безопасности - "не давать доступа обычным пользователям к запуску suid'ных приложений". И прежде всего, к бесконтрольному повышению привилегий.
Режимы работы
Стандартный
- sudo не используется (можно вообще удалить).
- Для перехода в рута нужно:
- знать пароль рута,
- быть в группе wheel (иначе даже su - не запустить).
- Все инструменты, даже графические требуют пароль рута.
- Параллельно, существует dbus и политика по умолчанию, что все административные действия через PolicyKit допускаются
только для пользователя в группе wheel. При этом уже запрашивается пароль пользователя.только под паролем рута. То есть инструментальные средства предоставления рутовых привилегий управляемые через Dbus и PolicyKit только под паролем рута. - доступ к устройствам и suid'ным приложениям (ping, mtr, growisofs, и т.п.) контролируется через отдельные группы (например, xgrp для xorg-server или netadmin для ping и mtr, а также vmusers и vboxusers для kvm и virtualbox).
- назначение групп задаётся явно или гибко через модуль ролей из пакета libnss-role (механизм назначения групп-привилегий по факту нахождения пользователя в базовой группе-роли).
Традиционный
- sudo используется в самом расширенном виде - любые команды из-под рута. Плюс остаются все возможности стандартного режима. Хотя в этом режиме пароль рута уже не требуется. sudo запрашивает пароль пользователя и отрабатывает только для тех пользователей, которые входят в группу wheel.
- инструментальные средства предоставления рутовых привилегий управляемые через Dbus и PolicyKit запрашивают пароль пользователя.