Security Policy

Материал из ALT Linux Wiki
Stub.png
Черновик политики Sisyphus
Автор(ы) — sin
Обсуждение в devel@
Обсуждается с 14 декабря 2023


Цель полиси

Механизмы повышения привилегий и назначения прав доступа являются основой для организации доверенной исполняемой пользовательской среды под управлением операционной системы. Компромисс между безопасностью и удобством для такой доверенной среды должен обеспечивать контроль за целостностью, которая не позволяет не явным образом изменять её состав и параметры функционирования.

Цель данного полиси - перечислить, объяснить компромиссы и определить настройки по умолчанию для средств администрирования в дистрибутивных решений на базе проекта Сизиф - операционных систем семейства Альт.

Текущее видение

Текст к дальнейшему рассмотрению и доработке

В современных дистрибутивах на базе ядра 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 запрашивают пароль пользователя.