В одной из предыдущих статей я описал настройки, позволяющие скрыть имя пользователя с экрана приветствия и тем самым повысить безопасность компьютера. Продолжая тему безопасности, сегодня речь пойдет о настройке, позволяющей в процессе входа пользователя в систему вывести на экран данные о предыдущих попытках входа, как успешных, так и неудавшихся.
Данный функционал появился в операционных системах Microsoft начиная с Windows Vista\Server 2008. Включить отображение информации о последнем интерактивном входе в систему можно как локально, на отдельном компьютере, так и централизованно, с помощью доменных политик.
На локальном компьютере
На отдельном компьютере данные о последнем входе хранятся в локальном диспетчере безопасности SAM (Security Account Manager) и постоянно обновляются, достаточно только включить вывод этих данных на экран приветствия. Сделать это проще всего с помощью локальных групповых политик, поэтому открываем оснастку редактора локальных групповых политик (gpedit.msc) и переходим в раздел Computer Configuration\Administrative Templates\Windows Components\Windows Logon Options (Конфигурация компьютера\Административные шаблоны\Компоненты Windows\Параметры входа Windows).
За вывод на экран информации о последнем входе отвечает политика «Display information about previous logons during user logon» (Отображать при входе пользователя сведения о предыдущих попытках входа), которую мы и включим.
Эту же опцию можно включить и через редактирование реестра. Для этого надо открыть редактор реестра (regedit.exe) и перейти в раздел HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System. Здесь нужно создать новый параметр типа DWORD с именем DisplayLastLogonInfo и указать для него значение 1. Соответственно для отключения опции можно задать значение параметра равным 0 либо удалить его совсем.
Стоит уточнить, что даже если компьютер является членом домена Active Directory и на него заходят под доменными учетными записями, при локальном включении политики отображаться будет только информация о локальных учетных записях. Для отображения информации о доменных пользователях необходимо воспользоваться доменными групповыми политиками.
В доменной среде
В доменной среде просто включить отображение информации о последнем входе недостаточно, тут все несколько сложнее. Данные о попытках входа хранятся в базе Active Directory, в свойствах пользователя, однако не все их можно использовать для отслеживания попыток входа. Для наглядности откроем свойства доменного пользователя и посмотрим, какие из пользовательских атрибутов хранят нужные нам данные.
Примечание. Атрибуты пользователя можно посмотреть из оснастки Active Directory Users and Computers, включив отображение дополнительных свойств (View->Advanced Features).
Данные о последнем входе в систему хранятся в атрибутах lastLogon и lastLogonTimestamp, а о неудачных попытках входа — в badPasswordTime и badPwdCount. Однако использовать их для отслеживания попыток входа не очень возможно, так как эти атрибуты привязаны к тому контроллеру домена, на котором была произведена авторизация. lastLogon, badPasswordTime и badPwdCount вообще не реплицируются на остальные контроллеры домена, а lastLogonTimestamp хотя и реплицируется, но очень редко, примерно один раз в 9-14 дней.
Поэтому, начиная с Windows Server 2008 в схеме AD у пользователя появилось несколько альтернативных атрибутов, связанных со входом в систему:
• msDS-FailedInteractiveLogonCount — общее количество неудачных попыток входа в систему с начала сбора статистики;
• msDS-FailedInteractiveLogonCountAtLastSuccessfulLogon — количество неудачных попыток входа с момента последней успешной авторизации;
• msDS-LastFailedInteractiveLogonTime — время последней неудачной попытки входа;
• msDS-LastSuccessfulInteractiveLogonTime — время последней удачной попытки входа.
Эти атрибуты нормально реплицируются и их можно использовать для отслеживания попыток интерактивного входа пользователя в систему. Однако, как видно из рисунка, по умолчанию они неактивны, т.е. данные в них не собираются.
Включение отображения данных в доменной среде осуществляется в два этапа. Этап первый — это активация сбора нужных данных на контроллерах домена. Для этого создаем новый объект групповой политики (GPO), который привязываем к контейнеру Domain Controllers. Открываем его на редактирование, переходим в раздел Computer Configuration\Administrative Templates\System\KDC и включаем политику «Provide information about previous logons to client computers».
Эта политика как раз активирует сбор информации о предыдущих входах на контроллерах домена.
И этап второй — создаем еще один GPO, в котором включаем уже известную политику «Display information about previous logons during user logon», находящуюся в разделе Computer Configuration\Administrative Templates\Windows Components\Windows Logon Options. Этот GPO привязываем к тем подразделениям, для которых необходимо отображение данных о входе.
В результате после ввода пароля выводится информация о том, когда данный пользователь последний раз заходил в систему. В случае успешной авторизации выводится дата последнего входа
а в случае неуспешной — еще и дата неудачной попытки, а также число этих попыток. Эта информация может помочь определить попытки неавторизованного доступа к компьютеру.
В заключение напомню о важных моментах, необходимых для работы этого функционала:
• Для включения сбора данных о попытках входа в систему необходим функциональный уровень домена не ниже Windows Server 2008, так как только с этого уровня в схеме AD присутствуют необходимые атрибуты пользователя. У пользователя из домена с более низким функциональным уровнем при попытке зайти на компьютер, для которого включена политика отображения данных о последнем входе, могут возникнуть проблемы с авторизацией. Поэтому перед включением политики необходимо проверить, что уровень ваших доменов соответствует минимально необходимому.
• Также напомню, что отображение данных возможно только на компьютерах с ОС Windows Vista\Server 2008 и выше, более ранние ОС просто проигнорируют данную политику. Это не помещает пользователю зайти в систему, но информацию о последнем входе он не увидит.
Очень полезная статья — спасибо!