Всем привет!
Продолжаем публиковать шпаргалки по настройке аудита различных систем, в прошлый раз мы говорили об AD habrahabr.ru/company/netwrix/blog/140569/, сегодня обсудим файловые серверы. Надо сказать, что чаще всего мы выполняем именно настройки аудита файловых серверов – в ходе пилотных инсталляций у заказчиков. Ничего сложного в этой задаче нет, всего лишь три простых шага:
- Настроить аудит на файловых ресурсах (file shares)
- Настроить и применить общую и детальную политики аудита
- Изменить настройки журналов событий
Если у вас большое количество файловых шар, доступ к которым часто требуется сотрудникам – рекомендуем контролировать только изменения объектов аудита. Отслеживание всех событий может привести к тому, что в журналы будет попадать большой объем избыточных данных, которые не представляют особой важности.
Настройка аудита на файловых ресурсах
- Откройте свойства шары, выберите вкладку «Security» и нажмите кнопку «Advanced»
- На вкладке «Auditing», выберите группу пользователей «Everyone» и нажмите кнопку «Edit»
- Включите следующие флажки в колонках «Successfull» и «Failed»:
List Folder / Read Data;
Create Files / Write Data;
Create Folders / Append Data;
Write Attributes;
Write Extended Attributes;
Delete Subfolders and File;
Delete;
Change Permissions;
Take Ownership. - Убедитесь, что в списке «Apply onto» выбрано значение «This folder, subfolders and files», а нижний флажок «Apply these auditing entries to objects and/or containers within this container only» не установлен.
- Нажмите «ОК», на этом настройка одной файловой шары завершена.
Настройка общей политики аудита
Для того, чтобы контролировать изменения на файловом сервере, вам необходимо настроить политику аудита. Перед настройкой политики убедитесь, что ваша учетная запись входит в группу Администраторов или у вас есть права на управление аудитом и журналами событий в оснастке Групповых политик.
- Откройте оснастку Групповые политики с помощью команды gpedit.msc или через меню
Start > Programs > Administrative Tools > Group Policy Management. - Раскройте узел «Domains», щелкните правой кнопкой мыши по имени вашего домена и выберите пункт меню «Create a GPO in this domain and Link it here».
- Впишите название новой политики в поле «Name» и нажмите ОК.
- Щелкните правой кнопкой мыши по новой политике, в меню выберите пункт «Edit», откроется редактор групповых политик.
- Раскройте узел «Computer Configuration», затем раскройте «Policies» > «Windows Settings» > «Security Settings» > «Local Policies» > «Audit Policy».
- В правой части окна два раза щелкните левой кнопкой мыши по категории «Audit object access».
- Включите все флажки так, как показано на скриншоте, нажмите ОК.
Настройка детальной политики аудита
После того, как общая политика аудита настроена – осталось прописать детали, какие именно изменения мы будем отслеживать с помощью нашей политики.
- На контролируемом файловом сервере откройте оснастку Локальные политики безопасности с помощью команды secpol.msc
- Раскройте узел «Security Settings» > «Local Policies» > «Security Options» и найдите в правой части окна категорию «Audit: Force audit policy subcategory settings (Windows Vista or later) policy»
- Два раза щелкните левой кнопкой мыши по этой категории и установите значение Enabled, нажмите ОК.
- Теперь раскройте узел «Security Settings» > «Advanced Audit Policy Configuration» > «System Audit Policies» > «Object Access» и настройте категории «Audit File System» и «Audit Handle Manipulation», выберите для каждой из них события, которые вам необходимы (Success или Failure).
- Теперь осталось применить политику с помощью командной строки, набрав gpupdate /force
- Проверить, применилась ли политика можно с помощью команды auditpol /get /category:«ObjectAccess»
Настройка журналов событий
Для того, чтобы эффективно контролировать изменения, необходимо выполнить настройку журналов событий, а именно — установить максимальный размер журналов. Если размер окажется недостаточным, то события могут перезаписываться перед тем, как попадут в базу данных, которую использует ваше приложение, контролирующее изменения.
- Откройте просмотр событий: «Start» > «Programs» > «Administrative Tools» > «Event Viewer»
- Разверните узел «Windows Logs»
- Правой клавишей мыши щелкните по журналу «Applications», выберите пункт меню «Properties»
- Убедитесь, что флажок «Enable logging» включен.
- Установите значения в поле «Maximum log size»: для Windows 2003 – 300MB, для Windows 2008 – 1GB.
- Установите метод очистки журнала. Вы можете использовать методы «Overwrite events as needed» или «Archive the log when full»
- Повторите шаги 1-6 для журналов событий «Security» и «System», находящихся в узле «Windows Logs», а также для журнала «Microsoft-WindowsTaskScheduler/Operational», находящегося в узле «Applications and Services Logs» > «Microsoft» > «Windows» > «TaskScheduler» > «Operational».
Напоследок, хотели бы предложить вам скрипт, который мы сами используем при настройке аудита на файловых серверах. Скрипт выполняет настройку аудита на всех шарах у каждого из компьютеров в заданном OU. Таким образом, не требуется включать настройки на каждом файловом ресурсе вручную.
Перед запуском скрипта нужно отредактировать строчку 19 — вписать вместо «your_ou_name» и «your_domain» необходимые значения. Скрипт необходимо выполнять от имени учетной записи, имеющей права администратора домена.
Получить скрипт можно в нашей базе знаний или сохранить в файл .ps1 следующий текст:
#import-module activedirectory
#$path = $args[0]; # \fileserversharefolder
$account = "Everyone" # $args[1];
$flavor = "Success,Failure" #$args[2];
$flags = "
ReadData,
WriteData,
AppendData,
WriteExtendedAttributes,
DeleteSubdirectoriesAndFiles,
WriteAttributes,
Delete,
ChangePermissions,
TakeOwnership
"
$inheritance = "ContainerInherit, ObjectInherit"
$propagation = "None"
$comps = Get-ADComputer -Filter * -SearchBase "OU=your_ou_name,DC=your_domain,DC=your_domain" | select -exp DNSHostName
foreach ($comp in $comps)
{
$shares = get-wmiobject -class win32_share -computername $comp -filter "type=0 AND name like '%[^$]'" | select -exp name
foreach ($share in $shares)
{
$path = "\"+$comp+""+$share
$path
$acl = (Get-Item $path).GetAccessControl("Access,Audit")
$ace = new-object System.Security.AccessControl.FileSystemAuditRule($account, $flags, $inheritance, $propagation, $flavor)
$acl.AddAuditRule($ace)
set-acl -path $path -AclObject $acl
}
}
Скачать шпаргалку(.pdf) по настройке аудита файловых серверов
____________
P.S.
Настраивать и проводить аудит файловых серверов можно вручную, используя данный алгоритм, или с помощью Netwrix Auditor. Пробная версия ПО доступна здесь, онлайн тест-драйв — здесь
Автор: NetWrixRU