Проблема
После того как выполнена базовая настройка сервера заданы статический IP, имя, включён удалённый рабочий стол и установлены первые роли, многие администраторы оставляют параметры безопасности в состоянии «по умолчанию». Брандмауэр Windows Defender работает со стандартными правилами, антивирусная защита либо отключена, либо сканирует всё подряд без исключений для серверных ролей, а локальные политики паролей и аудита не изменены. Такой сервер, даже если он введён в домен, остаётся уязвимым: избыточно открытые порты, отсутствие логирования попыток входа и неизменённые заводские учётные записи создают предпосылки для компрометации. Windows server настройка безопасности это следующий обязательный этап, превращающий только что развёрнутую машину в элемент корпоративной инфраструктуры, отвечающий минимальным требованиям регуляторов и здравого смысла. В этой статье мы углубимся в конфигурацию брандмауэра, Microsoft Defender Antivirus и локальных политик, а также автоматизируем проверку этих настроек.
Решение
Мы будем использовать оснастки «Брандмауэр Защитника Windows в режиме повышенной безопасности» (WF.msc), редактор локальной групповой политики (secpol.msc), PowerShell и командную строку. Рекомендации основаны на официальных документах Microsoft Security Baselines для Windows Server 2022/2019, доступных в Microsoft Security Compliance Toolkit, и руководстве по настройке Windows Defender Firewall with Advanced Security. Для антивирусной защиты используется встроенный Microsoft Defender Antivirus, чьи параметры подробно описаны в разделе Defender Antivirus on Windows Server. Особое внимание уделим автоматизации проверки: напишем PowerShell-скрипт, который за секунды выводит сводку по брандмауэру, статусу антивируса и действующим политикам безопасности.
Пошаговая инструкция
Шаг 1. Брандмауэр Защитника Windows: аудит и ограничение правил
Сразу после установки серверных ролей (AD DS, DNS, IIS) установщик автоматически активирует необходимые правила брандмауэра. Однако часто остаются открытыми порты, которые не нужны в продуктивной среде.
- Откройте консоль Брандмауэр Защитника Windows в режиме повышенной безопасности (
wf.msc). - Перейдите в узел Правила для входящих подключений и отсортируйте по столбцу Профиль. Отключите все правила, у которых Профиль установлен в Общий, но нет реальной необходимости (например, правила для общего доступа к файлам и принтерам). Просто щёлкните правой кнопкой мыши и выберите Отключить правило.
- Создайте правило, ограничивающее доступ к RDP (порт 3389) только с определённых IP-адресов администрирования. В разделе Правила для входящих подключений выберите Удалённый рабочий стол пользовательский режим (TCP-In). Откройте свойства, вкладка Область, в поле Удалённые IP-адреса укажите IP-адрес рабочей станции администратора или подсети управления. Это предотвратит попытки подбора пароля со случайных узлов.
- Включите логирование проваленных попыток подключения. В корне консоли
wf.mscнажмите Свойства, выберите вкладку нужного профиля (Домен, Частный, Общий), нажмите Настроить в разделе Ведение журнала. Задайте путь, например,%SystemRoot%\System32\LogFiles\Firewall\pfirewall.log, и установите Записывать пропущенные пакеты в Да. Этот журнал можно анализировать позже для выявления подозрительной активности.
Документация: Configure Windows Firewall logging.
Шаг 2. Microsoft Defender Antivirus: исключения и усиление защиты
На серверах Defender Antivirus часто отключают, устанавливая сторонние решения. Если вы используете встроенную защиту, её необходимо правильно сконфигурировать.
- Откройте Windows Security → Защита от вирусов и угроз → Параметры управления (или выполните
Get-MpPreferenceв PowerShell для проверки статуса). - Убедитесь, что включена Облачная защита (Cloud-delivered protection) и Автоматическая отправка образцов (Automatic sample submission). В PowerShell:powershellSet-MpPreference -SubmitSamplesConsent SendAllSamples Set-MpPreference -MAPSReporting Advanced
- Настройте исключения для критичных серверных ролей, чтобы избежать деградации производительности. Например, для Active Directory:
- Папка базы данных NTDS (
C:\Windows\NTDS)Файлы журналов (*.edb,*.log)Процессlsass.exe
Для DNS-сервера:Файлы зон (C:\Windows\System32\dns)
Для IIS:Папки с логами и временными файлами веб-приложений.
В PowerShell:
- Папка базы данных NTDS (
- Включите контроль управляемого доступа к папкам (Controlled Folder Access), если сервер выполняет роль файлового хранилища или на нём работают критически важные приложения. Через групповую политику или PowerShell:
-
Set-MpPreference -EnableControlledFolderAccess Enabledэто заблокирует несанкционированные изменения в защищённых папках. - Запланируйте ежедневную быструю проверку и еженедельную полную проверку в часы наименьшей нагрузки:
Set-MpPreference -ScanScheduleQuickScanTime 02:00:00 Set-MpPreference -ScanScheduleTime 22:00:00
Шаг 3. Локальные политики безопасности (secpol.msc)
Даже на рядовом сервере, не являющемся контроллером домена, необходимо задать минимальные политики безопасности.
- Откройте редактор локальной политики безопасности (
secpol.msc). - Перейдите в Политики учётных записей → Политика паролей.
- Минимальная длина пароля: 14 символов.
- Пароль должен отвечать требованиям сложности: включено.
- Максимальный срок действия пароля: 42 дня.
- Перейдите в Политики учётных записей → Политика блокировки учётной записи.
- Пороговое значение блокировки: 10 неверных попыток.
- Время до сброса счётчика блокировки: 15 минут.
- Продолжительность блокировки: 30 минут.
- Настройте аудит событий входа: Локальные политики → Политика аудита.
- Аудит событий входа в систему: Успех и Отказ.
- Аудит управления учётными записями: Успех и Отказ.
- Ограничьте права локальной группы «Пользователи»: в разделе Локальные политики → Назначение прав пользователя убедитесь, что право Отказ во входе в качестве пакетного задания и Отказ во входе через службы удалённых рабочих столов назначено группе
Гости. А право Разрешить вход через службы удалённых рабочих столов оставьте только дляАдминистраторыиПользователи удалённого рабочего стола.
Эти настройки закроют базовые векторы атак и обеспечат запись событий безопасности в журнал.
Шаг 4. PowerShell-скрипт для проверки конфигурации безопасности
Чтобы не проверять каждый параметр вручную на десятках серверов, создайте скрипт Check-ServerSecurity.ps1. Он выводит сводку по брандмауэру, антивирусу и ключевым политикам.
powershell
# Check-ServerSecurity.ps1
Write-Host "=== Проверка безопасности Windows Server ===" -ForegroundColor Cyan
# 1. Брандмауэр: активен ли для доменного профиля?
$fw = Get-NetFirewallProfile -Name Domain
Write-Host "`nБрандмауэр (Домен): $($fw.Enabled ? 'Включён' : 'ВЫКЛЮЧЕН!')" -ForegroundColor $(if($fw.Enabled){'Green'}else{'Red'})
# 2. Логирование пропущенных пакетов?
$log = Get-NetFirewallProfile -Name Domain | Select-Object -ExpandProperty LogFileName
Write-Host "Лог брандмауэра: $log"
# 3. RDP: ограничен ли доступ по IP?
$rdpRule = Get-NetFirewallRule -DisplayName "Remote Desktop*User Mode*TCP*In*" | Get-NetFirewallAddressFilter
if ($rdpRule.RemoteAddress -ne 'Any') {
Write-Host "RDP ограничен: $($rdpRule.RemoteAddress)" -ForegroundColor Green
} else {
Write-Host "RDP открыт для ВСЕХ!" -ForegroundColor Red
}
# 4. Defender Antivirus: статус
$mp = Get-MpComputerStatus
Write-Host "`nАнтивирус: $($mp.AntivirusEnabled ? 'Работает' : 'ОТКЛЮЧЕН!')" -ForegroundColor $(if($mp.AntivirusEnabled){'Green'}else{'Red'})
Write-Host "Облачная защита: $($mp.MAPSReporting)"
# 5. Политики паролей
$minPwd = net accounts | Select-String "Минимальная длина пароля"
Write-Host "`n$minPwd"
# 6. Аудит входа
auditpol /get /category:"Logon/Logoff" | Select-String "Вход в систему"
Write-Host "`nПроверка завершена."
Запускайте скрипт после каждой настройки нового сервера, чтобы убедиться, что базовая защита включена.
Устранение распространённых проблем
| Симптом | Вероятная причина | Решение |
|---|---|---|
| После включения брандмауэра перестала работать репликация AD | Заблокированы порты динамического диапазона RPC | Активируйте встроенные правила «Active Directory Domain Services» для входящего трафика. |
| Defender Antivirus сильно замедляет работу SQL Server | Сканируются файлы данных .mdf/.ldf и процессы sqlservr.exe | Добавьте исключения путей и процессов в Defender (шаг 2). |
| Не применяются политики учётных записей | Сервер введён в домен, политики домена переопределяют локальные | Настройте политики на уровне домена через Group Policy Management, либо используйте Fine-Grained Password Policies. |
| Лог брандмауэра не записывается | Не указан путь к файлу или нет прав на запись | Задайте путь в свойствах брандмауэра и убедитесь, что у службы есть права на запись в эту папку. |
| После настройки Controlled Folder Access блокируются легитимные приложения | Приложения пытаются писать в защищённые папки (например, временные файлы) | Включите аудит блокировок и добавьте исключения для доверенных приложений. |
Итог
Windows server настройка в части безопасности не сводится к установке ролей и настройке сети она требует продуманной конфигурации брандмауэра, антивирусных исключений и политик, делающих сервер устойчивым к типовым атакам. Выполнив три описанных шага (брандмауэр, Defender, политики), вы поднимете уровень защищённости сервера на порядок, а приложенный PowerShell-скрипт позволит быстро аудировать конфигурацию на других машинах. В сочетании с вашей предыдущей статьёй о начальной настройке эта инструкция формирует законченный план развёртывания Windows Server, готового к продуктивной работе.







