Аудит файлового сервера - SearchInform

Аудит файлового сервера

Защита информации
с помощью DLP-системы

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

Самой распространенной серверной операционной системой является Microsoft Windows Server. Поэтому рассмотрим, как и для чего проводить аудит файловых серверов, которые встраиваются в эту операционную систему.

Для чего нужно проводить аудит серверов?

Основной целью аудита доступа к файлам является обеспечение информационной безопасности, то есть сохранение информации в файлах от изменения, удаления и утечки. В рамках этой процедуры выполняются следующие задачи:

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

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

Как провести аудит: алгоритм настройки Microsoft Windows Server с записью событий в отдельную базу данных на MySQL

Аудит Microsoft Windows Server можно проводить с помощью встроенных инструментов: журналов учета, политик безопасности и т.д. Однако на практике встроенные инструменты неудобны в использовании и обладают низкой функциональностью. Поэтому их нужно дополнять другим ПО. Самый простой вариант – синхронизировать встроенные инструменты с отдельной базой данных на MySQL. Таким образом будут устранены основные недостатки встроенных инструментов:

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

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

Шаг 1. Настройка доступа с помощью групповых политик

На томах с NTFS настроить политику безопасности можно в консоли управления локальными политиками. Для этого следует развернуть Local Policies и выбрать из списка Audit Policy, а после этого найти Audit Object Access и выполнить настройку. Это позволит определить права разных групп пользователей на чтение, изменение и удаление папок и документов. Затем можно раздать права на использование приложений. 

При необходимости можно ограничить права пользователей на чтение, изменение и удаление определенной папки или файла. Для этого нужно зайти в Свойства объекта, перейти по вкладке Security Settings и выбрать Advanced. Это откроет окно расширенных настроек безопасности, где следует определить список пользователей, которые могут вносить изменения в этот объект.

Кроме групповых политик, можно использовать расширенные политики в GPO. Для этого нужно перейти из Security Settings в Audit File System. При этом следует помнить, что аудит перегружает оборудование. Поэтому настройки нужно делать такими, чтобы они не требовали большого количества ресурсов. 

Шаг 2. Отслеживание удаления данных

Чтобы настроить отслеживание удаления данных, нужно пользоваться аудитом событий удаления (Delete subfolders and files). Для этого необходимо зайти в Свойства объекта, перейти по вкладке Security Settings и найти строку Delete subfolders and files на вкладке Auditing. 

Также эту операцию можно выполнить через PowerShell. Для этого следует прописать такой скрипт:

$Path = "D:\Public"
$AuditChangesRules = New-Object System.Security.AccessControl.FileSystemAuditRule ('Everyone', 'Delete,DeleteSubdirectoriesAndFiles', 'none', 'none', 'Success')
$Acl = Get-Acl -Path $Path
$Acl.AddAuditRule($AuditChangesRules)
Set-Acl -Path $Path -AclObject $Acl

После активации и настройки Delete subfolders and files при удалении данных будут автоматически генерироваться события (Event ID 4663) с информацией о том, кто и когда удалил данные. 

Шаг 3. Создание таблицы базы данных MySQL

Чтобы создать таблицу, в строках которой будут отражаться наименования серверов, названия удаленных файлов, время удаления и информация о пользователях, необходимо ввести в MySQL такой запрос:

CREATE TABLE track_del (id INT NOT NULL AUTO_INCREMENT, server VARCHAR(100), file_name VARCHAR(255), dt_time DATETIME, user_name VARCHAR(100), PRIMARY KEY (ID));

Следующий скрипт позволяет отслеживать информацию, которая отражается в журнале событий: 

$today = get-date -DisplayHint date -UFormat %Y-%m-%d
Get-WinEvent -FilterHashTable @{LogName="Security";starttime="$today";id=4663} | Foreach {
$event = [xml]$_.ToXml()
if($event)
{
$Time = Get-Date $_.TimeCreated -UFormat "%Y-%m-%d %H:%M:%S"
$File = $event.Event.EventData.Data[6]."#text"
$User = $event.Event.EventData.Data[1]."#text"
$Computer = $event.Event.System.computer
}
}

Чтобы собранные данные сохранились в базе данных MySQL, нужно воспользоваться таким скриптом:

Set-ExecutionPolicy RemoteSigned
Add-Type –Path ‘C:\Program Files (x86)\MySQL\MySQL Connector Net 6.9.8\Assemblies\v4.5\MySql.Data.dll'
$Connection = [MySql.Data.MySqlClient.MySqlConnection]@{ConnectionString='server=10.7.7.13;
uid=posh;pwd=P@ssw0rd;database=aduser'}
$Connection.Open()
$sql = New-Object MySql.Data.MySqlClient.MySqlCommand
$sql.Connection = $Connection
$today = get-date -DisplayHint date -UFormat %Y-%m-%d
Get-WinEvent -FilterHashTable @{LogName="Security";starttime="$today";id=4663} | Foreach {
$event = [xml]$_.ToXml()
if($event)
{
$Time = Get-Date $_.TimeCreated -UFormat "%Y-%m-%d %H:%M:%S"
$File = $event.Event.EventData.Data[6]."#text"
$File = $File.Replace(‘\’,’|’)
$User = $event.Event.EventData.Data[1]."#text"
$Computer = $event.Event.System.computer
$sql.CommandText = "INSERT INTO track_del (server,file_name,dt_time,user_name ) VALUES ('$Computer','$File','$Time','$User')"
$sql.ExecuteNonQuery()
}
}
$Reader.Close()
$Connection.Close()

Это один из способов провести аудит без использования стороннего ПО. 

Программы для аудита событий

Далеко не все системные администраторы могут свободно пользоваться скриптами и синхронизировать запись событий с базами данных MySQL. В этом случае лучше использовать для аудита стороннее ПО с удобным интерфейсом и широким функционалом. 

В качестве примера можно привести Netwrix Auditor for Windows File Servers. Эта программа позволяет: 

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

Для автоматизированного анализа и аудита файловой системы предприятия, поиска нарушений прав доступа и отслеживания изменений в критичных данных можно использовать «СёрчИнформ FileAuditor».   


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

12.10.2020

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