whenchanged active directory что это

Аудит учетных записей пользователей в Active Directory

Аудит учетных записей пользователей в Active Directory

Постановка проблемных вопросов
В определенный момент времени наступает то критическое состояние для списка пользователей локальной сети предприятия, когда нежелание остановиться и провести анализ его содержимого может повлечь большие затраты и проблемы, нежели своевременное проведение работ по аудиту и устранению выявленных недостатков.
О чем идет речь? Речь о следующем. В организациях, где число сотрудников, работающих с компьютерной техникой, превышает 100 человек, администрированием занимаются, как правило, два-три сотрудника. Не все они в силу различных обстоятельств с достаточным педантизмом относятся к работе по внесению во вновь создаваемые учетные записи информации о владельцах. Кроме того, администраторы обычно:-) не включены в список тех сотрудников, которым обязаны сообщать об увольнениях. Два этих обстоятельства являются основными причинами, из-за которых и происходит накопление учетных записей «мертвых душ».
Попробуем провести некоторую систематизацию наиболее значимых и очевидных проблем для списка пользователей Active Directory.

Во-первых, лишние записи в списке пользователей, которые могут быть:
• учетными записями уволенных сотрудников;
• учетными записями работающих сотрудников, которыми не пользуются и владельцы которых уже вряд ли помнят имена для входа в сеть (не говоря уже о паролях:-));
• учетными записями заблокированных пользователей, для которых администратор выполнил первый шаг перед удалением, но так и не закончил процедуру;
• учетными записями, созданными для тестирования, которые обычно имеют достаточно высокие привилегии и которые администратор забыл удалить, после того как процесс тестирования был завершен.

Во-вторых, к недопустимым можно отнести те учетные записи, которые однозначно не идентифицируют владельца, т.е. дополнительная информация в которых не позволяет назвать человека, определить его должность и подразделение, выяснить, как с ним можно связаться (конечно же, речь здесь не идет о стандартных учетных записях типа «Администратор», «Administrator», «Guest», «Гость», и др).
И, в-третьих, выполнение требований политики безопасности предприятия подразумевает, что усилия и администраторов, и пользователей должны быть направлены на то, чтобы учетная запись использовалась только ее владельцем. То есть, если протокол выполнения операций работы с какой-либо из программ показал, что пользователь вошел под учетной записью Иванова Ивана Ивановича, то абсолютно нерационально будет тратить время на дополнительные разборки с ситуациями, когда выясняется, что учетной записью пользуются (из-за недостаточных знаний компьютера или обычной лени) все сотрудники отдела, в котором трудится пять человек.

Обзор возможностей по работе с учетными записями
Попробуем перечислить те возможности, которые есть под руками у администратора для работы с учетными записями пользователей в Active Directory, и то, насколько они могут быть использованы для проведения аудита.
Оснастка Active Directory — пользователи и компьютеры (которую можно найти в разделе Администрирование на сервере). Замечательная возможность для добавления, редактирования свойств и удаления пользователей домена, но, к сожалению, достаточно бесполезная в вопросах проведения ревизии и аудита. К положительным моментам можно отнести возможность проведения экспорта списка пользователей, в который можно включить такие поля, как Имя входа пользователя, Имя, Выводимое имя, Фамилия, Изменен. Отметим, что поле Изменен показывает время и дату последних изменений для учетной записи администратором (производилась коррекция настроек) или владельцем (смена пароля).
Системная утилита Net.exe. С помощью этой утилиты вы можете обеспечить работу с данными конкретного пользователя (вариант вызова — Net user) — получить дату и время последней регистрации в сети, а также определить, когда завершается срок действия пароля.

Программы-сканеры, задача которых заключается в сборе информации о состоянии локальной сети или конкретного компьютера. Среди наиболее интересных программ в плане получения информации о пользователях отметим CFI LANguard Network Security Scanner (ver 3.1.5). Она предоставляет возможность получения достаточно подробной информации об учетных записях: дата и время последней регистрации; данные о том, когда пароль будет просрочен; количество регистраций пользователя в сети; значение индекса попыток входа с некорректным паролем. Кроме того, программа позволяет на основании данных двух сохраненных протоколов сканирования сформировать отчет о расхождениях и получить перечень заведенных и удаленных учетных записей. Справедливости ради отметим, что программа имеет существенные недостатки особенно для русскоязычной категории пользователей, так как некорректно обрабатывает русские названия (в именах и дополнительных параметрах учетных записей и пр.). Кроме того, отсутствует возможность сохранить в отдельном файле информацию о найденных расхождениях в списках учетных записей.
Перейдем теперь к рассмотрению утилит, которые, на наш взгляд, предоставляют возможность получения наиболее полной информации по пользователям, — Ldifde.exe и Csvde.exe.

Первая утилита позволяет экспортировать данные из Active Directory в файл формата LDIF. Стандарт файла LDIF определен в рекомендациях RFC-2849 для импорта и экспорта данных из каталогов LDAP, таких, как Active Directory. После экспорта данных можно использовать LDIF-файл для импорта тех же объектов в другой каталог LDAP.
Csvde.exe — утилита, аналогичная Ldifde.exe (параметры вызова идентичны), в которой используется другой формат хранения данных в текстовом файле — значения разделяются запятыми (CSV-формат). Данный формат поддерживается программой Microsoft Excel, понимающей файлы в CSV-формате, а также Microsoft Access.


Таблица 1.
Описание некоторых полей учетных записей LDAP-каталога

Название поля

Пояснение

Пример хранимых данных

DN

Информация, идентифицирующая учетную запись в каталоге LDAP

CN=BillGates,CN=Users, DC=Microsoft,DC=com

memberOf

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

CN=DomainGuests,CN=Users, DC=Microsoft, DC=com; CN=Guests, CN=Builtin,DC=Microsoft, DC=com

lastLogon

Дата и время последнего входа

126340325381029632

badPasswordTime

Дата и время, когда в последний раз был использован неправильный пароль

126334418756267552

pwdLastSet

Дата и время, когда был задан последний пароль

126318831197720512

accountExpires

Дата и время, устанавливающие окончание действия учетной записи

0

userAccountControl

Содержит несколько параметров учетной записи

66048 (0x10200 = DONT_EXPIRE_PASSWORD+ NORMAL_ACCOUNT)

sAMAccountName

Имя, под которым происходит регистрация

Gates

whenChanged

Дата и время, когда происходили последние изменения в учетной записи

20010511052201.0Z

whenCreated

Дата и время создания учетной записи

20010511052201.0Z

logonCount

Количество регистраций

28

objectClass

Класс объекта учетной записи

user

Примечание: Команда Net user некорректно обрабатывает данные поля pwdLastSet, а также некоторые значения времени. Для поля pwdLastSet в случае, если пароль не был задан, выводятся текущие дата и время. Для данных времени вместо значений вида 00:mm AM и 00:mm PM выводятся значения 12:mm AM и 12:mm PM соответственно.

Форматы представления данных даты и времени
Если вы были наблюдательны, то заметили, что в таблице 1 имеются два различных варианта представления значений даты и времени. Если формат вида ГГГГММДДЧЧММСС.0Z (тип GeneralizedTime для ASN.1-кодирования), используемый для полей whenChanged, whenCreated по Гринвичу достаточно понятен, то такие параметры, как lastLogon, pwdLastSet, accountExpires, представляют информацию о дате и времени в 32-битном UNIX-формате и содержат значения секунд, прошедших начиная с 1 января 1970 г., GMT. Для наглядности приведем некоторые значения, которые могут содержаться в файле выгруженных значений для параметров даты и времени в Unix-формате:
126858492000000000 — соответствует 1.01.2003 00:00
127014876000000000 — соответствует 1.07.2003 00:00
127014912000000000 — соответствует 1.07.2003 01:00

Использование функций преобразований для данных CSV-формата
Информацию по учетным записям, которая выгружена с помощью команды, аналогичной указанной в начале раздела «Использование утилиты Csvde.exe», можно попытаться загрузить в Microsoft Access, однако в связи с тем, что программа некорректно обрабатывает символ-разделитель «,» в структурах типа «CN=Bill Gates,CN=Users,DC=Microsoft,DC=com», лучше воспользоваться аналогичными возможностями программы Microsoft Excel (см. рис.1). Далее информацию для удобства использования можно обработать с помощью имеющихся в Microsoft Excel возможностей (макросы, функции).
На рисунках приведена информация CVS-файла сразу после проведения его загрузки в Microsoft Excel (рис.1) и после проведенных преобразований (рис.2). Примеры таких преобразований приведены ниже. Предлагаемые варианты преобразований не претендуют на логическую законченность, но могут являться той основной, с помощью которой за короткий срок может быть разработан необходимый механизм обработки под каждый конкретный случай.

Обработка данных даты и времени Unix-формата
Получение даты в формате ДД.ММ.ГГГГ на основании данных в Unix-формате предлагаем производить в два этапа. На первом этапе вычисляется количество дней, прошедших с 1 января 2003 г. На втором формируется строка даты в стандартном формате.
Для получения количества дней, прошедших с 1 января 2003 г., на основании данных в ячейке F2, заданных в Unix-формате даты и времени, может быть использована следующая формула преобразования:

= ЕСЛИ(
ЗНАЧЕН(ЛЕВСИМВ(F2;11))=0;
-1;
ОКРУГЛВНИЗ( (ЗНАЧЕН(ЛЕВСИМВ (F2;11))-12685849200)/24/3600; 0)
)

Полученное на первом этапе значение сдвига дней относительно 1 января 2003 г. (в ячейке E2) используется для формирования даты в стандартном формате.

=ЕСЛИ( E2=-1;
«Отсутствует»;
СЦЕПИТЬ(
ДЕНЬ(ДАТАЗНАЧ(«1/1/2003»)+E2);
«.»;
МЕСЯЦ(ДАТАЗНАЧ(«1/1/2003»)+E2);
«.»;
ГОД(ДАТАЗНАЧ(«1/1/2003»)+E2)
)
Обработка данных даты и времени формата GeneralizedTime для ASN.1-кодирования
Преобразование числа в формате ГГГГММДДММСС.0Z в формат ДД.ММ.ГГГГ ЧЧ:ММ
=СЦЕПИТЬ(
ПСТР(N2;7;2); «.»; ПСТР(N2; 5;2); «.»; ПСТР(N2;1;4); » «;
ПСТР(N2;9;2); «:»; ПСТР(N2; 11;2)
)

Обработка значения поля userAccountControl о блокированности записи
Получение данных о состоянии учетной записи по значению поля userAccontControl, содержащемуся в ячейке G2:
=ЕСЛИ(ЕПУСТО(G2);»»;
ЕСЛИ(ИЛИG2=514; G2=66050);»За-блокированная»; «Действующая»)
)

Подробные пояснения и описание формата хранения данных в поле userAccountControl можно найти в статье Microsoft «How to Use the User AccountControl Flags to Manipulate User Account Properties» (http://support.microsoft.com/?kbid=305144). Отметим только, что, если параметры учетной записи не заданы, то десятичное значение userAccountControl равно 512; десятичное значение для блокированной учетной записи при отсутствии других параметров — 514.

Заключение
В статье был предложен достаточно простой метод получения данных для аудита учетных записей пользователей в Active Directory, не требующий специальных навыков и знаний языков программирования.
Отметим, что, кроме изложенного метода, может быть использован вариант, рекомендуемый Microsoft, предполагающий использование интерфейсов службы Active Directory (ADSI), которые предоставляют простой, мощный, объектно-ориентированный доступ к ресурсам Active Directory. Интерфейсы ADSI позволяют программистам и администраторам создавать программы каталога с использованием инструментальных средств высокого уровня, например, Microsoft Visual Basic, Java, C или Visual C++, не заботясь о различиях в пространствах имен. Интерфейсы ADSI полностью поддерживают сценарии, что облегчает их использование администраторами.
И напоследок в качестве рекомендаций перечислим те нюансы, на которые следует обратить внимание при проведении анализа данных списка пользователей, которые могут указывать на существующие проблемы при использовании учетных записей:
• заблокированные учетные записи (после анализа последней даты регистрации могут быть удалены в случае, если необходимость в них отсутствует);
• данные учетной записи о том, что последняя регистрации в сети происходила три и более месяцев назад, могут указывать на то, что сотрудник, которому принадлежала учетная запись, уже уволен;
• если количество регистраций в сети для учетной записи равно нулю, а со времени ее создания прошло больше одного месяца, то это может говорить о том, что созданная учетная запись оказалась невостребованной;
• большое количество регистраций в сети может указывать на то, что учетная запись используется для входа в сеть не только владельцем.

Компьютерная газета. Статья была опубликована в номере 39 за 2003 год в рубрике безопасность :: разное

Источник

whenChanged vs usnChanged – Active Directory

Description

In this article, I am going to explain about the Active Directory attributes whenChanged and usnChanged. Both attributes hold the information of AD object’s latest change point in different format. Both attributes are very useful to track Active Directory object changes.

Summary

How whenChanged attribute value get updated in all DCs?

Before explain this, I would like to explain what is Active Directory Replication?. In Active Directory, objects are distributed among all domain controllers in a forest, and all domain controllers can be updated directly. Active Directory replication is the process by which the changes that originate on one domain controller are automatically transferred to other domain controllers that store the same data.

So, AD replication ensures same data in all DCs by transferring every change automatically to other DC,

Consider this scenario:

If you change the value for description attribute of any object as “test”, it will be updated in all other DC but here you have not changed either whenChanged or uSNChanged then how it gets updated in your own DC?.
You know whenChanged is system attribute and it will be automatically updated for every change. So the description attribute change indirectly force the whenChanged attribute to set latest time. Like this, the replication change on every DC will automatically force the whenChanged attribute to set the particular DC‘s latest time. So, the value of whenChanged attribute may or may not be identical in all DCs depends upon the replication interval.

For more clarity, consider this scenario:

DC1– AD Domain Controller 1
DC2– AD Domain Controller 2
U1– an AD user

Replication Interval: 15 secs

If you change the user U1’s description value in DC1 at 10:10:00 AM, the whenChanged attribute gets updated as 10:10:00 AM in DC1. Since the replication interval is 15 secs, the description value will be replicated into DC2 at 10:10:15 AM and it automatically updates the whenChanged attribute as 10:10:15 AM in DC2. So depends upon the replication interval the value of whenChanged attribute may or may not be identical in all domain controllers but it holds the updated value.

How usnChanged attribute value get updated?

When a domain controller modifies an object, it increments the highestCommittedUSN attribute value. When the increment occurs, the domain controller also sets the uSNChanged attribute for that object to the new value. In this process, each change to an object in Active Directory is stamped with a unique and monotonic value. Therefore, a program can obtain the most recent changes to an object on a domain controller by finding the object that has the largest uSNChanged attribute value. Similarly, the second largest uSNChanged attribute value corresponds to the second most recently changed object, and this process is repeated.

For more clarity, consider this scenario:

DC1– AD Domain Controller and its highestCommittedUSN value = 10000
U1– an AD user and its uSNChanged value = 3000
U2– an AD user and its uSNChanged value = 4000

If you change the user U1‘s description value through DC1. First, DC1 will increment its highestCommittedUSN attribute value into 10001 and update this value into user U1’s uSNChanged attribute. So, now U1‘s uSNChanged value becomes 10001. Now, if you change U2‘s description value through DC1, now DC1 will increment its highestCommittedUSN attribute value into 10002 and update this value into user U2’s uSNChanged attribute. So, now U2‘s uSNChanged value will be changed from 4000 to 10002. In this way, the Domain Controller always keeps the latest change object record. This mechanism will be very useful to track Active Director changes using Polling method.

Источник

whenchanged active directory что это. Смотреть фото whenchanged active directory что это. Смотреть картинку whenchanged active directory что это. Картинка про whenchanged active directory что это. Фото whenchanged active directory что этоУправляем объектами в Active Directory. Часть 2

Архив номеров / 2008 / Выпуск №6 (67) / Управляем объектами в Active Directory. Часть 2

whenchanged active directory что это. Смотреть фото whenchanged active directory что это. Смотреть картинку whenchanged active directory что это. Картинка про whenchanged active directory что это. Фото whenchanged active directory что это Иван Коробко

Управляем объектами в Active Directory

Залог успешного чтения параметров программным способом – верное определение типа данных считываемой переменной и использование соответствующего алгоритма чтения.

В предыдущей статье [6] мы рассмотрели типы объектов, существующие в Active Directory; было рассказано о методике создания объектов на примере учетной записи пользователя, узнали, что происходит в Active Directory в процессе создания учетной записи. В этой статье уделим внимание типам данных объектов в Active Directory и методике их чтения.

Чтение/изменение свойств объекта осуществляется одним из следующих способов:

В этой статье будет описан программный способ чтения параметров учетной записи. Второй способ будет рассмотрен в следующий раз.

Изменение свойств объекта программным способом

Каждое свойство в каталоге в Active Directory хранится в определенном формате, поэтому чтение данных осуществляется по алгоритму, пригодному для чтения каждого из типов данных. Одной из важнейших задач является определение типа данных объекта, значение которого необходимо получить или изменить.

Определение типа данных объекта

Информация в Active Directory хранится в объектах. Для определения типа объекта в VBScript обычно используют функцию VarType(), которая имеет следующий синтаксис:

Функция VarType() возвращает числовое значение, по которому из таблицы 1 можно определить тип данных объекта. Шаблон сценария, в котором реализовано определение типов данных переменной с помощью функции VarType(), приведен в листинге 1.

Таблица 1. Значения, возвращаемые функцией VarType()

Источник

whenchanged active directory что это. Смотреть фото whenchanged active directory что это. Смотреть картинку whenchanged active directory что это. Картинка про whenchanged active directory что это. Фото whenchanged active directory что этоАудит учетных записей пользователей в Active Directory

Архив номеров / 2003 / Выпуск №11 (12) / Аудит учетных записей пользователей в Active Directory

Рубрика: Программирование / Программирование

whenchanged active directory что это. Смотреть фото whenchanged active directory что это. Смотреть картинку whenchanged active directory что это. Картинка про whenchanged active directory что это. Фото whenchanged active directory что это МАКСИМ КОСТЫШИН

Аудит учетных записей пользователей в Active Directory

Информация, изложенная ниже, ориентирована на использование Windows-платформ и предназначена в основном для людей, отвечающих за вопросы компьютерной безопасности аудиторов, специализирующихся в данной области. Надеемся, что статья будет полезна и людям, профессионально занимающимся администрированием локальных сетей.

Постановка проблемных вопросов

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

О чем идет речь? В организациях, где число сотрудников, работающих с компьютерной техникой, превышает 100 человек, администрированием занимаются, как правило, два-три сотрудника. Не все они, в силу различных обстоятельств, с достаточным педантизмом относятся к работе по внесению во вновь создаваемые учетные записи информации о владельцах. Кроме того, администраторы обычно не включены в список тех сотрудников, которым обязаны сообщать об увольнениях. Два этих обстоятельства являются основными причинами, из-за которых и происходит накопление учетных записей «мертвых душ».

Попробуем провести некоторую систематизацию наиболее значимых и очевидных проблем для списка пользователей Active Directory.

Во-первых, лишние записи в списке пользователей, которые могут быть:

Во-вторых, к недопустимым можно отнести те учетные записи, которые однозначно не идентифицируют владельца, т.е. дополнительная информация в которых не позволяет назвать человека, определить его должность и подразделение, выяснить, как с ним можно связаться (конечно же, речь здесь не идет о стандартных учетных записях типа «Администратор», «Administrator», «Guest», «Гость», и другие).

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

Обзор возможностей по работе с учетными записями

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

Оснастка Active Directory – пользователи и компьютеры (которую можно найти в разделе «Администрирование» на сервере). Замечательная возможность для добавления, редактирования свойств и удаления пользователей домена, но, к сожалению, достаточно бесполезная в вопросах проведения ревизии и аудита. К положительным моментам можно отнести возможность проведения экспорта списка пользователей, в который можно включить такие поля, как – «имя входа пользователя», «имя», «выводимое имя», «фамилия», «изменен». Отметим, что поле «изменен» показывает время и дату последних изменений для учетной записи администратором (производилась коррекция настроек) или владельцем (смена пароля).

Системная утилита Net.exe. С помощью этой утилиты вы можете обеспечить работу с данными конкретного пользователя (вариант вызова – «Net user») – получить дату и время последней регистрации в сети, а также определить, когда завершается срок действия пароля.

Программы-сканеры, задача которых заключается в сборе информации о состоянии локальной сети или конкретного компьютера. Среди наиболее интересных программ в плане получения информации о пользователях отметим CFI LANguard Network Security Scanner (ver 3.1.5). Она предоставляет возможность получения достаточно подробной информации об учетных записях, такой как дата и время последней регистрации; данные о том, когда пароль будет просрочен; количество регистраций пользователя в сети; значение индекса попыток входа с некорректным паролем. Кроме того, программа позволяет на основании данных двух сохраненных протоколов сканирования сформировать отчет о расхождениях и получить перечень заведенных и удаленных учетных записей. Справедливости ради отметим, что программа имеет существенные недостатки, особенно для русскоязычной категории пользователей, так как она некорректно обрабатывает русские названия (в именах и дополнительных параметрах учетных записей и пр.). Кроме того, отсутствует возможность сохранить в отдельном файле информацию о найденных расхождениях в списках учетных записей.

Перейдем теперь к рассмотрению утилит, которые, на наш взгляд, предоставляют возможность получения наиболее полной информации по пользователям – Ldifde.exe и Csvde.exe.

Первая утилита позволяет экспортировать данные из Active Directory в файл формата LDIF. Стандарт файла LDIF определен в рекомендациях RFC-2849 для импорта и экспорта данных из каталогов LDAP, таких как Active Directory. После экспорта данных можно использовать LDIF-файл для импорта тех же объектов в другой каталог LDAP.

Csvde.exe – утилита, аналогичная Ldifde.exe (параметры вызова идентичны), в которой используется другой формат хранения данных в текстовом файле – значения разделяются запятыми (CSV-формат). Данный формат поддерживается программой Microsoft Excel, понимающей файлы в CSV-формате, а также Microsoft Access.

Использование утилиты Csvde.exe

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

-l «DN, memberOf, badPasswordTime, lastLogon, logonCount, sAMAccountName, userAccountControl, whenChanged, whenCreated»

Использование данной команды позволяет сохранить в файле наиболее интересную с точки зрения аудита информацию по действующим (не заблокированным) учетным записям пользователей.

Примечание: команда «Net user» некорректно обрабатывает данные поля pwdLastSet, а также некоторые значения времени. Для поля pwdLastSet, в случае если пароль не был задан, выводятся текущие дата и время. Для данных времени вместо значений вида 00:mm AM и 00:mm PM выводятся значения 12:mm AM и 12:mm PM соответственно.

Таблица 1. Описание некоторых полей учетных записей LDAP-каталога

Пример хранимых данных

Информация, идентифицирующая учетную запись в каталоге LDAP

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Рубрика: Администрирование / Служба каталогов