Поддержка SID History и SID Filtering

В Эллес реализована функциональность сохранения идентификаторов безопасности (SID History, атрибут sIDHistory объекта каталога) и применения специальных правил фильтрации идентификаторов безопасности (SID Filtering) в рамках доверительных отношений.

В текущей версии функциональность поддерживается для пользователей и групп.

SID History

Каждый объект, являющийся участником системы безопасности (субъект безопасности), в Эллес имеет уникальный идентификатор безопасности (Security Identifier, SID). На основе SID в Эллес действует механизм разграничения доступа к различным ресурсам (файловые папки, сетевые папки и т. д.).

Для каждого ресурса формируется список управления доступом (Access Control List, ACL). При запросе клиентом доступа к ресурсу сервер сравнивает каждый SID, имеющийся в маркере доступа клиента, со всеми SID в ACL ресурса. Привилегии всех совпавших SID из маркера и ACL суммируются, и клиент использует этот набор привилегий при взаимодействии с ресурсом.

В Active Directory существует возможность миграции данных (учетных записей, групп доступа и т. д.) между доменами. При миграции в принимающем домене создается копия объекта из исходного домена с новым значением SID.

Такие классы объектов, как пользователь, группа безопасности и компьютер, имеют атрибут sIDHistory, в котором могут содержаться идентификаторы безопасности, принадлежавшие объекту в исходном домене до миграции. При запросе клиентом доступа к ресурсу в исходном домене наличие в маркере доступа SID объектов исходного домена, которым ранее был предоставлен доступ к ресурсу, позволяет сохранить доступ, имевшийся у субъекта безопасности до его миграции в принимающий домен.

SID Filtering

Механизм фильтрации идентификаторов безопасности (SID Filtering) используется для предотвращения передачи избыточных прав (например, привилегированных прав, обусловленных членством в группах администраторов), а также несанкционированного доступа к ресурсам при установлении доверительных отношений между доменами.

При его включении в рамках доверительного отношения при формировании маркера доступа клиента из доверенного домена к ресурсу доверяющего домена из части билета Kerberos, содержащей информацию о пользователе и его привилегиях (Privilege Attribute Certificate, PAC), выбираются только значения SID, принадлежащие доверенному домену.

Настройка миграции объектов с SID History

Перед началом миграции объектов с историей SID в домен Эллес с помощью инструмента Microsoft Active Directory Migration Tool (см. описание сценариев миграции в разделе «Миграция данных между доменами») необходимо либо добавить учетные записи пользователей, которые будут использоваться при выполнении миграции, в группу Administrators целевого домена, либо указать их в конфигурации Эллес.

Чтобы указать пользователей в конфигурации, добавьте следующий параметр в раздел [global] в конфигурационном файле /app/inno-samba/etc/smb.conf:

migration_admin:<number> = <username@domain.name>

В параметре:

  • number — число от 0 до значения MIGRATION_ADMIN_MAX_SLOTS, позволяющее задать более одного пользователя;

    В текущей версии MIGRATION_ADMIN_MAX_SLOTS равно 250.
  • username@domain.name — UPN пользователя.

Пример задания параметра:

[global]
    migration_admin:0 = Administrator@WIN02.LOCAL
    migration_admin:1 = migrator@test.lan

Настройка SID History и SID Filtering

Для настройки сохранения значений SID субъектов безопасности в атрибуте sIDHistory и фильтрации SID в рамках доверительного отношения при работе с Эллес могут использоваться следующие опции подкоманд samba-tool domain trust create и samba-tool domain trust modify:

  • --quarantined=yes|no — признак необходимости применения в рамках доверительного отношения специальных правил фильтрации SID (механизм SID Filtering); возможные значения:

    • yes — механизм SID Filtering включен;

    • no — механизм SID Filtering выключен;

  • --treat-as-external=yes|no — признак включения атрибута sIDHistory; возможные значения:

    • yes — атрибут включен;

    • no — атрибут выключен.

Пример создания внешнего двустороннего доверительного отношения с доменом EXAMPLE.COM с включением атрибута sIDHistory и выключением механизма SID Filtering:

sudo samba-tool domain trust create EXAMPLE.COM \
    --type=external \
    --direction=both \
    --create-location=both \
    --quarantined=no \
    --treat-as-external \
    -U Administrator

Пример включения механизма SID Filtering в рамках существующего доверительного отношения с доменом EXAMPLE.COM:

sudo samba-tool domain trust modify EXAMPLE.COM --quarantined=yes

Пример выключения атрибута sIDHistory в рамках существующего доверительного отношения с доменом EXAMPLE.COM:

sudo samba-tool domain trust modify EXAMPLE.COM --treat-as-external=no
См. описание подкоманд и доступных опций в разделе «Управление доверительными отношениями».