Журнал аудита Windows: доступ к ключу RemoteRegistry

Включение аудита доступа к реестру в Windows

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

Основы аудита доступа к объектам

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

Включение службы удаленного реестра

Первый шаг к установке аудита — активировать службу удаленного реестра. Если она еще не работает, выполните следующее PowerShell-команду:

Get-Service -Name RemoteRegistry -ComputerName $computerName | Set-Service -StartupType Manual -Status Running

Настройка политик аудита

После активации службы следует настроить политики аудита:

  1. Включите аудит доступа к объекту как для успешных, так и для неудачных попыток. Это можно сделать через управление групповой политикой или политику локальной безопасности.
  2. Настройте аудит для конкретных ключей реестра:
    • Откройте редактор реестра и перейдите к нужному ключу.
    • Щелкните правой кнопкой мыши по ключу, выберите "Разрешения", затем "Дополнительно" и нажмите "Аудит".
    • Добавьте запись аудита для "Каждого" с разрешением "Полный контроль".

Пример включения политики аудита с использованием PowerShell:

Invoke-Command -ComputerName $targetComputer -ScriptBlock {
    auditpol /set /subcategory:"Registry" /success:enable /failure:enable

    $registryPath = "HKLM:\SOFTWARE\YourKeyPath"
    $acl = Get-Acl -Path $registryPath
    $rule = New-Object System.Security.AccessControl.RegistryAuditRule("Everyone", "ReadKey", "ContainerInherit,ObjectInherit", "None", "Success,Failure")
    $acl.AddAuditRule($rule)
    Set-Acl -Path $registryPath -AclObject $acl
}

Установка списков управления доступом (SACL)

После настройки политик аудита важно также установить списки управления доступом (SACL):

  1. Откройте редактор реестра (regedit).
  2. Перейдите к ключу реестра, который необходимо контролировать.
  3. Щелкните правой кнопкой мыши по ключу, выберите "Разрешения", затем "Дополнительно" и "Аудит".
  4. Добавьте запись для "Каждого" или конкретных пользователей/групп с необходимыми правами доступа (например, чтение или запись).

Пример настройки SACL с помощью PowerShell:

$registryPath = "HKLM:\SOFTWARE\YourKeyPath"
$identity = "Everyone"
$rights = "FullControl"
$inheritanceFlags = "ContainerInherit,ObjectInherit"
$propagationFlags = "None"
$auditFlags = "Success,Failure"

Invoke-Command -ComputerName $targetComputer -ScriptBlock {
    param($regPath, $id, $r, $iFlags, $pFlags, $aFlags)

    $acl = Get-Acl -Path $regPath
    $rule = New-Object System.Security.AccessControl.RegistryAuditRule($id, $r, $iFlags, $pFlags, $aFlags)
    $acl.AddAuditRule($rule)
    Set-Acl -Path $regPath -AclObject $acl
} -ArgumentList $registryPath, $identity, $rights, $inheritanceFlags, $propagationFlags, $auditFlags

Проверка настроек аудита

Для проверки корректности настроек выполните следующую команду:

Invoke-Command -ComputerName $targetComputer -ScriptBlock {
    param($regPath)
    (Get-Acl -Path $regPath).Audit
} -ArgumentList $registryPath

Идентификаторы событий для мониторинга

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

  • 4656: Запрашивалась ручка с объектом.
  • 4663: Было предпринято попытка получить доступ к объекту.
  • 4660: Объект был удален.

Эти события можно отправить на сервер системного журнала с помощью следующей команды:

Invoke-Command -ComputerName $targetComputer -ScriptBlock {
    wecutil qc /q
    winrm quickconfig -q
    Set-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\EventLog\EventForwarding\SubscriptionManager -Name 1 -Value "Server=http://collector.domain.com:5985/wsman/SubscriptionManager/WEC"
}

Настройка NXLog для отправки журналов

Для отправки журналов на сервер необходимо установить NXLog и сконфигурировать его:

choco install nxlog-ce -y

$nxlogConfig = @"
<Input eventlog>
    Module im_msvistalog
    Query <QueryList><Query Id="0"><Select Path="Security">*[System[(EventID=4656 or EventID=4663 or EventID=4660)]]</Select></Query></QueryList>
</Input>

<Output syslog>
    Module om_udp
    Host syslog.server.com
    Port 514
</Output>

<Route 1>
    Path eventlog => syslog
</Route>
"@

Set-Content -Path "C:\Program Files\nxlog\conf\nxlog.conf" -Value $nxlogConfig

# Перезапустите службу NXLog
Restart-Service nxlog

Заключение

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

Источник

Ответить

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