2010-09-16 2 views
3

Я по существу храню закрытый ключ (Hash) в любом из атрибутов OctetString в Active Directory.Хранение частной «октетной строки» в Active Directory; что по умолчанию безопасно?

Мой вопрос в том, какой атрибут по умолчанию безопасен и имеет смысл хранить там личные данные? Это значение следует считать похожим на пароль, где даже администраторы не должны иметь доступ (если это возможно), точно так же, как текущий пароль AD.

Ниже приведен список атрибутов, включенных по умолчанию в домене Windows 2008R2 + Exchange 2010.

alt text

Update:

Кто-нибудь знает атрибута октет строка, не разоблачить «читать» разрешения для всех пользователей в домене по умолчанию? Я не хочу публично хранить свой хеш и разрешать кому-то строить радужный стол на основе хэшей.

ответ

3

Вот ответ на парня, который upvoted мой вопрос ... это довольно интересно:

разрешения по умолчанию в Active Directory таковы, что Authenticated пользователи имеют общий доступ ко всем атрибутам читать. Это затрудняет введение нового атрибута, который должен быть защищен от чтения каждым.

Чтобы смягчить это, в Windows 2003 с пакетом обновления 1 (SP1) указан способ определения атрибута как КОНФИДЕНЦИАЛЬНО. Эта функция достигается путем изменения значения searchFlags атрибута в схеме. SearchFlags содержит несколько битов, представляющих различные свойства атрибута. Например. бит 1 означает, что атрибут индексируется. Новый бит 128 (7-й бит) обозначает атрибут как конфиденциальный.

Примечание: вы не можете установить этот флаг в атрибутах базовой схемы (которые производятся от «top», таких как common-name). Вы можете определить, является ли объект базовым объектом схемы, используя LDP для просмотра объекта и проверки атрибута systemFlags объекта. Если установлен 10-й бит, это объект базовой схемы.

Когда Служба каталогов выполняет проверку доступа к чтению, она проверяет конфиденциальные атрибуты.Если есть, то в дополнение к доступу READ_PROPERTY, службе каталогов также потребуется доступ CONTROL_ACCESS к атрибуту или его набору свойств.

По умолчанию только администраторы имеют доступ CONTROL_ACCESS ко всем объектам. Таким образом, только администраторы смогут читать конфиденциальные атрибуты. Пользователи могут делегировать это право любой желаемой группе. Это можно сделать с помощью инструмента DSACLs, сценариев или версии ADSL R2 для LDP. На данный момент невозможно использовать редактор ACL UI Editor для назначения этих разрешений.

Процесс маркировки атрибут Конфиденциальная и добавление пользователей, которые необходимо просмотреть атрибут имеет 3 шага

1.Determining, что атрибут, чтобы отметить Конфиденциальная или добавление атрибута пометить Confidential.

2.Marking это конфиденциальная

3.Granting правильных пользователей Control_Access права, таким образом они могут просматривать атрибут.

Для получения более подробной информации и шаг за шагом инструкции, пожалуйста, обратитесь к следующей статье:

922836 Как пометить атрибут как конфиденциальный в Windows Server 2003 с пакетом обновления 1

http://support.microsoft.com/default.aspx?scid=kb;EN-US;922836

0

Если вы полностью не планируете блокировать себя в AD, я бы предложил просто добавить класс Aux с вашим атрибутом Octet String и использовать его. (Т.е. не все другие схемы могут иметь один и тот же атрибут с одним и тем же синтаксисом. Просто натолкнулся на это с помощью destinationIndicator. У SunOne и eDirectory есть разные синтаксисы схемы.)

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

1

На самом деле не важно, используете ли вы атрибут синтаксиса OctetString или несколько иначе, например DirectoryString. Важным с точки зрения безопасности является дескриптор безопасности, назначенный для записи или ветви записей, содержащих ваши атрибуты. Другими словами, значение бинарного атрибута вряд ли делает вашу систему более безопасной, если для дерева каталогов не назначена надлежащая безопасность.

У вас не может быть безопасности, аналогичной unicodePwd атрибутов имеет, потому что it's kind of special. Хотя вы можете назначить дескриптор безопасности, который запрещает доступ к вашим значениям атрибутов даже администратором, вы не можете отключить администратора от изменения дескриптора безопасности и, в конечном счете, получить доступ к значению.