Загрузка данных


Write-Host "1. Отключение оставшихся служб (Xbox, биометрия, телеметрия)..." -ForegroundColor Cyan
$services = @("XboxGipSvc", "XblAuthManager", "XblGameSave", "XboxNetApiSvc", "WbioSrvc", "DiagTrack")
foreach ($svc in $services) {
    if (Test-Path "HKLM:\SYSTEM\CurrentControlSet\Services\$svc") {
        Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\$svc" -Name "Start" -Value 4 -Type DWord -Force
    }
}

Write-Host "2. Включение и строгая настройка Брандмауэра Windows (Firewall)..." -ForegroundColor Cyan
# Это закроет сразу около 10-15 проверок в отчете Wazuh
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True
Set-NetFirewallProfile -Profile Domain,Public,Private -DefaultInboundAction Block
Set-NetFirewallProfile -Profile Domain,Public,Private -DefaultOutboundAction Allow

Write-Host "3. Настройка расширенных политик аудита (Advanced Audit Policies)..." -ForegroundColor Cyan
# Wazuh требует обязательного логирования критических событий безопасности.
auditpol /set /subcategory:"Logon" /success:enable /failure:enable
auditpol /set /subcategory:"Logoff" /success:enable
auditpol /set /subcategory:"Account Lockout" /success:enable /failure:enable
auditpol /set /subcategory:"Security State Change" /success:enable /failure:enable
auditpol /set /subcategory:"Security System Extension" /success:enable /failure:enable
auditpol /set /subcategory:"System Integrity" /success:enable /failure:enable
auditpol /set /subcategory:"User Account Management" /success:enable /failure:enable
auditpol /set /subcategory:"Computer Account Management" /success:enable /failure:enable
auditpol /set /subcategory:"Security Group Management" /success:enable /failure:enable
auditpol /set /subcategory:"Other Account Management Events" /success:enable /failure:enable
auditpol /set /subcategory:"Process Creation" /success:enable /failure:enable

Write-Host "4. Дополнительные сетевые параметры и UAC..." -ForegroundColor Cyan
$regFixes = @(
    # Запрет сохранения паролей в Credential Manager (Network access)
    @{Path="HKLM:\SYSTEM\CurrentControlSet\Control\Lsa"; Name="DisableDomainCreds"; Value=1},
    # Ограничение форматирования съемных носителей только администраторами
    @{Path="HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"; Name="AllocateDASD"; Value=0},
    # Отключение автоматического запуска (AutoPlay) для всех дисков
    @{Path="HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer"; Name="NoDriveTypeAutoRun"; Value=255},
    # UAC: запрос повышения прав на безопасном рабочем столе
    @{Path="HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"; Name="PromptOnSecureDesktop"; Value=1},
    # SMB: Требовать цифровую подпись (Microsoft network client: Digitally sign)
    @{Path="HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters"; Name="RequireSecuritySignature"; Value=1}
)

foreach ($fix in $regFixes) {
    if (-not (Test-Path $fix.Path)) {
        New-Item -Path $fix.Path -Force -ErrorAction SilentlyContinue | Out-Null
    }
    Set-ItemProperty -Path $fix.Path -Name $fix.Name -Value $fix.Value -Type DWord -Force
}

Write-Host "Готово! Скрипт отработал." -ForegroundColor Green