pwdlastset что это за атрибут

Когда истекает пароль пользователя в AD, оповещаем пользователей о необходимости сменить пароль

В этой статье мы покажем, как с помощью PowerShell узнать, когда истекает пароль учетной записи пользователя в Active Directory, установить бессрочный пароль для учетной записи (PasswordNeverExpires = True) и заблаговременно оповестить пользователей о необходимости сменить пароль.

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

Текущие настройки политики срока действия паролей в домене можно получить с помощью команды PowerShell

В нашем примере максимальный срок действия пароля пользователя в домене – 60 дней.

pwdlastset что это за атрибут. Смотреть фото pwdlastset что это за атрибут. Смотреть картинку pwdlastset что это за атрибут. Картинка про pwdlastset что это за атрибут. Фото pwdlastset что это за атрибут

Как узнать срок действия пароля пользователя в Active Directory?

Можно узнать срок действия пароля и дату его последней смены из командной строки с помощь команды Net user:

net user aaivanov /domain

pwdlastset что это за атрибут. Смотреть фото pwdlastset что это за атрибут. Смотреть картинку pwdlastset что это за атрибут. Картинка про pwdlastset что это за атрибут. Фото pwdlastset что это за атрибут

Необходимые данные присутствуют в значениях:

Для получения параметров учетных записей в AD мы будем использовать специальный модуль PowerShell для Active Directory, который позволяет получить значения различных атрибутов объектов AD (см. как установить и импортировать модуль AD PowerShell в Windows 10 и Windows Server 2012 R2/2016).

С помощью командлета Get-AdUser можно получить время последней смены пароля пользователя и проверить, установлена ли опция бессрочного пароля (PasswordNeverExpires):

pwdlastset что это за атрибут. Смотреть фото pwdlastset что это за атрибут. Смотреть картинку pwdlastset что это за атрибут. Картинка про pwdlastset что это за атрибут. Фото pwdlastset что это за атрибут

Но как вы видите, в оснастке указана только время смены пароля. Когда истекает срок действия пароля — непонятно.

pwdlastset что это за атрибут. Смотреть фото pwdlastset что это за атрибут. Смотреть картинку pwdlastset что это за атрибут. Картинка про pwdlastset что это за атрибут. Фото pwdlastset что это за атрибут

Чтобы получить не время последней смены пароля, а дату окончания его срока действия, нужно использовать специальный constructed-атрибут msDS-UserPasswordExpiryTimeComputed. Значение атрибута msDS-UserPasswordExpiryTimeComputed автоматически вычисляется на основании времени последней смены пароля и парольной политики домена

Параметр UserPasswordExpiryTimeComputed возвращает время в формате TimeStamp и для преобразования его в человеко-понятный вид я использую функцию FromFileTime:

Таким образом мы получили время истечения срока действия пароля пользователя.

pwdlastset что это за атрибут. Смотреть фото pwdlastset что это за атрибут. Смотреть картинку pwdlastset что это за атрибут. Картинка про pwdlastset что это за атрибут. Фото pwdlastset что это за атрибут

Чтобы получить срок действия паролей для всех пользователей их определенного контейнера (OU) AD, можно воспользоваться таким скриптом PowerShell:

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

pwdlastset что это за атрибут. Смотреть фото pwdlastset что это за атрибут. Смотреть картинку pwdlastset что это за атрибут. Картинка про pwdlastset что это за атрибут. Фото pwdlastset что это за атрибут

Можно вывести только список пользователей, чей пароль уже истек:

Отключить срок действия пароля для учетной записи

Если вам нужно сделать срок действия пароля определенной учетной записи неограниченным, нужно включить опцию Password Never Expires в свойствах пользователя в AD (это одно из битовых значений атрибута UserAccountControl).

pwdlastset что это за атрибут. Смотреть фото pwdlastset что это за атрибут. Смотреть картинку pwdlastset что это за атрибут. Картинка про pwdlastset что это за атрибут. Фото pwdlastset что это за атрибут

Либо вы можете включить эту опцию через PowerShell:

Можно установить флаг Password Never Expires сразу для нескольких пользователей, список которых содержится в текстовом файле:

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

Политика оповещения об окончании срока действия пароля

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

По умолчанию эту политика включена на уровне локальных настроек Windows и уведомления начинают появляться за 5 дней до истечения срока действия пароля. Вы можете изменить количество дней, в течении которых должно появляться уведомление о смене пароля.

pwdlastset что это за атрибут. Смотреть фото pwdlastset что это за атрибут. Смотреть картинку pwdlastset что это за атрибут. Картинка про pwdlastset что это за атрибут. Фото pwdlastset что это за атрибут

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

pwdlastset что это за атрибут. Смотреть фото pwdlastset что это за атрибут. Смотреть картинку pwdlastset что это за атрибут. Картинка про pwdlastset что это за атрибут. Фото pwdlastset что это за атрибут

Также вы можете использовать простой PowerShel скрипт, который автоматически вызывает диалоговое окно со предложением сменить пароль, если он истекает менее чем через 5 дней:

Если пользователь нажимает ДА, появляется диалоговое окно Windows Security, которое вы видите при нажатии Ctrl+Alt+Del или Ctrl+Alt+End (при RDP подключении).

Данный скрипт нужно поместить в автозагрузку или запускать как logon скрипт групповых политик.

PowerShell скрипт для email-уведомления об истечении срока действия пароля

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

Скрипт проверяет всех активных пользователей домена с истекающими паролями. За 7 дней до истечения пароля пользователю начинают отправляться письма на email адрес, указанный в AD. Письма отправляются до тех пор, пока пароль не будет изменен или просрочен.

Данный PowerShell скрипт нужно запускать регулярно на любом компьютере/сервере домена (проще всего через Task Scheduler). Естественно, нужно на вашем SMTP сервере добавить IP адрес хоста, с которого рассылаются письма, в разрешенные отправители без аутентификации.

Источник

Атрибуты безопасности пользователя

В дополнение к свойствам именования для объектов User, например objectGUID, objectSid, CN, distinguishedNameи т. д., существуют другие свойства безопасности, используемые для входа в систему, доступа к сети и контроля доступа. эти свойства используются системой безопасности Windows 2000. Эти свойства можно просматривать и управлять с помощью оснастки Active Directory пользователи и компьютеры.

Атрибут accountExpires указывает, когда истекает срок действия учетной записи. Это значение хранится в виде большого целого числа, представляющего число 100-наносекундных интервалов с 1 января 1601 (UTC). Значение тимек _ бесконечно (определено в лмакцесс. h) указывает, что срок действия учетной записи никогда не истекает.

Атрибут алтсекуритидентитиес — это атрибут с несколькими значениями, который содержит сопоставления для сертификатов X. 509 или внешних учетных записей пользователей Kerberos этому пользователю в целях проверки подлинности. различные пакеты безопасности, включая пакет проверки подлинности с открытым ключом и Kerberos, используют эти данные для проверки подлинности пользователей, если они представляют альтернативную форму идентификации, например сертификат, UNIX билет Kerberos и т. д. создайте маркер Windows 2000 на основе соответствующей учетной записи пользователя, чтобы получить доступ к системным ресурсам.

Для сертификатов X. 509 значения должны быть именами издателя и субъекта в сертификатах 509v3, выданных внешним общедоступным центром сертификации, который соответствует учетной записи пользователя, используемой для поиска учетной записи для проверки подлинности. Пакет SSL (Schannel) использует следующий синтаксис: X509: сомецертинфо. Например, следующее значение указывает имя издателя » » с различающимся именем «c = US, O = интернетка, CN = апубликцертификатеаусорити» и именем субъекта » » с различающимся именем «c = US, o = Fabrikam, OU = Sales, CN = Джефф Smith».

Имейте в виду, что поддерживаются «» или «» и » «. Наличие только » » не поддерживается. Приложения не должны изменять значения в » » или » «, так как частичное сопоставление DN не поддерживается.

Для внешних учетных записей Kerberos значения должны быть именем учетной записи Kerberos. Пакет Kerberos использует следующий синтаксис: «Kerberos: Митаккаунтнаме». Например, ниже приведено значение для учетной записи в Fabrikam.com:

Не реплицируется. Атрибут аргументы badPasswordTime указывает время последнего попытки пользователя войти в учетную запись с помощью неправильного пароля. Это значение хранится в виде большого целого числа, представляющего число 100-наносекундных интервалов с 1 января 1601 (UTC). Этот атрибут сохраняется отдельно на каждом контроллере домена в домене. Нулевое значение означает, что время последнего неправильного пароля неизвестно. Чтобы получить точное значение времени последнего неправильного пароля пользователя в домене, необходимо запросить каждый контроллер домена в домене и использовать максимальное значение.

Не реплицируется. Атрибут badPwdCount указывает, сколько раз пользователь пытался войти в учетную запись, используя неверный пароль. Этот атрибут сохраняется отдельно на каждом контроллере домена в домене. Значение 0 указывает, что значение неизвестно. Чтобы получить точное значение для общего числа неудачных попыток ввода пароля в домене, необходимо запросить каждый контроллер домена в домене и использовать сумму значений.

Атрибут codepage указывает кодовую страницу для выбранного пользователем языка. это значение не используется Windows 2000.

Атрибут каунтрикоде указывает код страны или региона для языка пользователя. это значение не используется Windows 2000.

Атрибут хомедиректори задает путь к корневому каталогу для пользователя. Строка может иметь значение null.

Если хомедриве задано и указывает букву диска, ХОМЕДИРЕКТОРИ должен быть UNC-путем. Путь должен представлять собой сетевой UNC-путь к \ \ \ общему \ каталогу сервера форм. Это значение может быть пустой строкой.

Если хомедриве не задан, то хомедиректори должен быть локальным путем, например C: \ милокалдир.

Атрибут хомедриве указывает букву диска, с которой должен СОПОСТАВЛЯТЬся UNC-путь, заданный параметром хомедиректори. Буква диска должна быть указана в следующем формате:

где » » — буква диска для сопоставлений. Пример.

Если этот атрибут не задан, хомедиректори должен быть локальным путем, например, C: \ милокалдир.

Атрибут лмпвдхистори — это журнал паролей пользователя в формате LAN Manager (LM), который является односторонним форматом (OWF). LM OWF используется для обеспечения совместимости с клиентами LAN Manager 2. x, Windows 95 и Windows 98. Этот атрибут используется только операционной системой. Имейте в виду, что нельзя наследовать пароль в виде обычного текста из формы OWF пароля.

Не реплицируется. Атрибут логонкаунт подсчитывает количество успешных попыток входа пользователя в эту учетную запись. Этот атрибут поддерживается на каждом контроллере домена в домене. Значение 0 указывает, что значение неизвестно. Чтобы получить точное значение общего числа успешных попыток входа в домен, необходимо запрашивать каждый контроллер домена в домене и использовать сумму значений.

Атрибут mail является атрибутом с одним значением, который содержит SMTP-адрес пользователя, например » jeff@Fabrikam.com «.

Атрибут максстораже указывает максимальный объем дискового пространства, который может использовать пользователь. Чтобы использовать все доступное дисковое пространство, используйте параметр _ максстораже _ неограниченный пользователем (определенный в лмакцесс. h).

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

Если для контроллера домена справедливы оба условия, оба набора данных содержатся в memberof.

Имейте в виду, что этот атрибут перечисляет группы, содержащие пользователя в атрибуте Member, но не содержит рекурсивный список вложенных предшественников. Например, если пользователь O является членом группы C, а Группа B и Группа B были вложены в группу A, атрибут memberof пользователя O перечислит группу C и группу B, но не группу a.

Этот атрибут не хранится — он является вычисленным атрибутом ссылки.

атрибут нтпвдхистори — это журнал паролей пользователя в Windows NT односторонний формат (OWF). Windows 2000 использует Windows NT OWF. Этот атрибут используется только операционной системой. Имейте в виду, что нельзя получить пароль в формате обычного текста из формы OWF пароля.

Атрибут осермаилбокс является многозначным атрибутом, который содержит другие дополнительные адреса электронной почты в форме, например «Ккмаил: жеффсмис».

Атрибут FilePath указывает путь к профилю пользователя. Это значение может быть пустой строкой, локальным абсолютным путем или UNC-путем.

Атрибут pwdLastSet указывает время последнего изменения пароля. Это значение хранится в виде большого целого числа, представляющего число 100-наносекундных интервалов с 1 января 1601 (UTC).

Система использует значение этого атрибута и атрибут макспвдаже домена, который содержит объект User, для вычисления даты окончания срока действия пароля. То есть сумма pwdLastSet для пользователя и макспвдаже домена пользователя.

Этот атрибут определяет, должен ли пользователь изменять пароль при следующем входе пользователя в систему. Если pwdLastSet равен нулю, по умолчанию пользователь должен сменить пароль при следующем входе в систему. Значение-1 указывает, что пользователю не нужно менять пароль при следующем входе в систему. Система устанавливает это значение равным-1 после того, как пользователь задает пароль.

Атрибут sAMAccountType задает целое число, представляющее тип счета. Это значение задается операционной системой при создании объекта.

Атрибут unicodePwd — это пароль пользователя.

пароль пользователя в Windows NT односторонний формат (OWF). Windows 2000 использует Windows NT OWF. Этот атрибут используется только операционной системой. Имейте в виду, что нельзя получить пароль в формате обычного текста из формы OWF пароля.

Атрибут userAccountControl задает флаги, управляющие поведением пароля, блокировки, отключения и включения, а также поведения сценариев и домашнего каталога для пользователя. Этот атрибут также содержит флаг, указывающий тип учетной записи объекта. Обычно для объекта пользователя _ _ задана обычная учетная запись УФ.

Следующие флаги определены в Лмакцесс. h.

FlagОписание
_сценарий УФСценарий входа выполнен. Это значение должно быть установлено для LAN Manager 2,0 или Windows NT.
УФ _ аккаунтдисаблеУчетная запись пользователя отключена.
_требуется УФ хомедир _Требуется корневой каталог. это значение игнорируется в Windows NT и Windows 2000.
УФ _ PASSWD _ нотрекдПароль не требуется.
УФ _ PASSWD не _ удается _ изменитьПользователь не может изменить пароль.
_Блокировка УФУчетная запись в данный момент заблокирована. Это значение можно очистить, чтобы разблокировать ранее заблокированную учетную запись. Это значение нельзя использовать для блокировки ранее заблокированной учетной записи.
УФ _ не с _ истекшим сроком действия _ PASSWDПредставляет пароль, срок действия которого никогда не истекает для учетной записи.

Следующие флаги описывают тип учетной записи. Можно задать только одно значение. Изменить тип учетной записи нельзя.

FlagОписание
_Обычная _ учетная запись УФЭто тип учетной записи по умолчанию, представляющий обычного пользователя.
УФ _ временная _ _ учетная запись повторенияЭто учетная запись для пользователей, Первичная учетная запись которых находится в другом домене. Эта учетная запись предоставляет пользователю доступ к этому домену, но не к домену, который доверяет данному домену. Диспетчер пользователей ссылается на этот тип учетной записи в качестве учетной записи локального пользователя.
_ _ учетная запись доверия рабочей станции УФ _это учетная запись компьютера для сервера Windows NT Workstation/Windows 2000 Professional или Windows NT server/Windows 2000, который является членом этого домена.
_ _ _ учетная запись доверия сервера УФэто учетная запись компьютера для Windows NT контроллера домена резервного копирования, который является членом этого домена.
_ _ учетная запись междоменного доверия УФ _это позволяет доверять учетной записи домена Windows NT, который доверяет другим доменам.

Атрибут USERCERTIFICATE является многозначным атрибутом, который содержит сертификаты X509v3, закодированные в DER-кодировке, выданные пользователю. Имейте в виду, что этот атрибут содержит сертификаты открытого ключа, выданные этому пользователю в службе сертификации Майкрософт.

Атрибут усершаредфолдер указывает UNC-путь к папке общих документов пользователя. Путь должен представлять собой сетевой UNC-путь к \ \ \ общему \ каталогу сервера форм. Это значение может быть пустой строкой.

Атрибут усерворкстатионс — это однозначный атрибут, содержащий NetBIOS-имена рабочих станций, на которые пользователь может выполнять вход. Каждое NetBIOS-имя разделяются запятыми.

Источник

Аудит учетных записей пользователей в 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 год в рубрике безопасность :: разное

Источник

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

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