# 1. Исправление параметров реестра (Локальные политики)
Write-Host "Применение политик безопасности реестра..." -ForegroundColor Cyan
$registryFixes = @(
# Запрет анонимного перечисления учетных записей SAM и общих ресурсов
@{Path="HKLM:\SYSTEM\CurrentControlSet\Control\Lsa"; Name="RestrictAnonymous"; Value=1; Type="DWord"},
# Порог блокировки компьютера (MaxDevicePasswordFailedAttempts)
@{Path="HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System"; Name="MaxDevicePasswordFailedAttempts"; Value=10; Type="DWord"},
# Заголовок и текст сообщения при интерактивном входе (Wazuh требует их наличия)
@{Path="HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"; Name="legalnoticecaption"; Value="Warning"; Type="String"},
@{Path="HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"; Name="legalnoticetext"; Value="Authorized Access Only"; Type="String"},
# Ограничение количества кэшированных входов (до 4)
@{Path="HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"; Name="CachedLogonsCount"; Value="4"; Type="String"},
# Блокировка рабочей станции при извлечении смарт-карты
@{Path="HKLM:\Software\Microsoft\Windows NT\CurrentVersion\Winlogon"; Name="ScRemoveOption"; Value="1"; Type="String"}
)
foreach ($fix in $registryFixes) {
if (-not (Test-Path $fix.Path)) {
New-Item -Path $fix.Path -Force | Out-Null
}
Set-ItemProperty -Path $fix.Path -Name $fix.Name -Value $fix.Value -Type $fix.Type -Force
}
# 2. Отключение уязвимых и ненужных системных служб
Write-Host "Отключение небезопасных системных служб..." -ForegroundColor Cyan
$servicesToDisable = @(
"BTAGService", "bthserv", # Bluetooth
"MapsBroker", "lfsvc", # Карты и геолокация
"lltdsvc", "PNRPsvc", "p2psvc", # Peer-to-peer сети и топологии
"p2pimsvc", "PNRPAutoReg",
"Spooler", # Диспетчер печати (закрывает PrintNightmare)
"wercplsupport", "WerSvc", # Телеметрия и отчеты об ошибках
"RasAuto", "SessionEnv", # Службы удаленного доступа и RDP (если не используется)
"TermService", "UmRdpService",
"RpcLocator", "LanmanServer", # Устаревшие протоколы
"SSDPSRV", "upnphost", # UPnP
"Wecsvc", "WMPNetworkSvc", # Общий доступ Windows Media
"icssvc", "WpnService", # Мобильный хот-спот и Push-уведомления
"PushToInstall", "MSiSCSI" # iSCSI и удаленная установка приложений
)
foreach ($svc in $servicesToDisable) {
$svcPath = "HKLM:\SYSTEM\CurrentControlSet\Services\$svc"
if (Test-Path $svcPath) {
# Значение Start = 4 означает "Отключено" (Disabled)
Set-ItemProperty -Path $svcPath -Name "Start" -Value 4 -Type DWord -Force
}
}
Write-Host "Готово! Все настройки применены успешно." -ForegroundColor Green
Write-Host "Пожалуйста, ПЕРЕЗАГРУЗИТЕ КОМПЬЮТЕР, а затем проверьте результат в Wazuh." -ForegroundColor Yellow