В некоторых случаях администратору нужно определить какой процесс (программа) или пользователь изменил NTFS права доступа на папку или файл на файловом сервере Windows. В этой статье мы покажем, как отслеживать изменения NTFS разрешений на объектах файловой систем с помощью полит аудита, скриптов PowerShell и утилиты ProcMon.
Чтобы отслеживать изменения NTFS разрешений на объекты файловой системы Windows, вам нужно настроить политику аудита.
gpedit.msc
). Если нужно настроить аудит на нескольких устройствах в домене (например, на всех файловых серверах), нужно создать отдельную GPO с помощью консоли Group Policy Management ( gpmc.msc
); gpupdate /force
Если кто-то изменил NTFS права на объекты в указанной папке, в журнале Security появится событий с EventID 4670.
Откройте консоль Event Viewer ( eventvwr.msc
) -> Windows Logs -> Security. Включите фильтр по событию с ID 4670 ( Permissions on an object were changed
). Откройте последнее событие.
В описании события видно имя пользователя, которые изменил разрешения (Account Name:) и имя процесса ( C:Windowsexplorer.exe
). В описании события видна информация о предыдущих разрешениях (Original Security Descriptor) и новый список доступа (New Security Descriptor).
Обратите внимание что разрешения указаны в формате DACL, и сложны для понимания.Для преобразования строки в формате Security Descriptor Definition Language в объект PSCustomObject нужно использовать встроенный PowerShell командлет ConvertFrom-SddlString .
Чтобы увидеть, какие группы доступа были изменение в NTFS разрешениях на объект, нужно сравнить старый и новый дескрипторы безопасности (скопируйте код SDDL из события 4670):
$oldperm=ConvertFrom-SddlString "D:PAI(A;OICIIO;FA;;;CO)(A;OICI;FA;;;SY)(A;OICI;FA;;;BA)(A;OICI;0x1200a9;;;S-1-5-21-1774357850-3643260196-2143367957-1125)(A;OICI;0x1301bf;;;S-1-5-21-1774357850-3643260196-2143367957-1124)"
$newperm=ConvertFrom-SddlString "D:PARAI(A;OICIIO;FA;;;CO)(A;OICI;FA;;;SY)(A;OICI;0x1301bf;;;S-1-5-21-1774357850-3643260196-2143367957-1124)(A;OICI;0x1200a9;;;S-1-5-21-1774357850-3643260196-2143367957-1125)(A;OICI;FA;;;BA)(A;OICI;0x1200a9;;;BU)"
Compare-Object -ReferenceObject $oldperm.DiscretionaryAcl -DifferenceObject $newperm.DiscretionaryAcl|FL
В данном примере видно, что в новом ACL были добавлены права чтения для группы BuiltinUsers
.
Для поиска в журнале событий Windows можно использовать PowerShell командлет Get-WinEvent . Чтобы найти событий с Event ID 4670 и получить значения OldSd и NewSD из кода скрипта, можно использовать такой код:
$event=Get-WinEvent -FilterHashtable @{logname='Security';id=4670} -MaxEvents 1
[xml]$xmlevent = $event.ToXml()
$eventobj = New-Object System.Management.Automation.PSObject
$eventobj | Add-Member Noteproperty -Name $xmlevent.Event.EventData.Data[1].name -Value $xmlevent.Event.EventData.Data[1].'#text'
$eventobj | Add-Member Noteproperty -Name $xmlevent.Event.EventData.Data[8].name -Value $xmlevent.Event.EventData.Data[8].'#text'
$eventobj | Add-Member Noteproperty -Name $xmlevent.Event.EventData.Data[9].name -Value $xmlevent.Event.EventData.Data[9].'#text'
$eventobj|format-list
Если вам нужно только понять, какой процесс и пользователь меняют NTFS разрешения на папку, можно воспользоваться утилитой Process Monitor ( https://learn.microsoft.com/en-us/sysinternals/downloads/procmon ). Она позволит в реальном времени найти источник изменений.
procmon64.exe
; CTRL+S
)Path -> begin with -> укажите путь к папке ->IncludeOperation -> is -> SetSecurityFile -> Include Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…
Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…
Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…
Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…
YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…
Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…