Перевод RDP и SMB в разрешенные правила для профиля Private на Server 2025 — это настройка брандмауэра Microsoft Defender, при которой входящие подключения к службам Remote Desktop Protocol (RDP) и SMB/файлообмену становятся разрешенными только когда сетевой профиль сервера — Private. Цель: безопасно открыть доступ администраторам и файловым клиентам в доверенной сети, не затрагивая Public/гостевые сети. 🔐🧱
Ниже — практические способы через графический интерфейс, PowerShell и групповые политики, а также проверка и рекомендации по безопасности для Windows Server 2025. 🖥️
Быстрые проверки перед настройкой
- Убедитесь, что профиль сети действительно Private: Get-NetConnectionProfile.
- RDP служба включена (NLA желательно): System Properties → Remote Desktop или fDenyTSConnections=0.
- SMBv1 отключен, SMB сигнирование/шифрование по политике безопасности настроены.
- Есть права администратора локально/через GPO.
Вариант 1. Через графический интерфейс (WFAS)
- Откройте Windows Defender Firewall with Advanced Security → Inbound Rules.
- Найдите группу Remote Desktop. Включите: - Remote Desktop – User Mode (TCP-In)
- Remote Desktop – User Mode (UDP-In)
 Убедитесь, что в Properties → Advanced отмечен только профиль Private. 
- Найдите File and Printer Sharing. Включите как минимум: - File and Printer Sharing (SMB-In)
 При необходимости для старых клиентов включите NetBIOS правила (NB-Name/Datagram/Session). Профиль — только Private. 
- Во вкладке Scope сузьте Remote IP address до нужных подсетей (например, 10.0.0.0/24).
Вариант 2. PowerShell: включить встроенные правила только для Private
# RDP: TCP/UDP 3389
Set-NetFirewallRule -Name "RemoteDesktop-UserMode-In-TCP" -Enabled True -Profile Private
Set-NetFirewallRule -Name "RemoteDesktop-UserMode-In-UDP" -Enabled True -Profile Private
# SMB: TCP 445 (встроенное правило)
Set-NetFirewallRule -Name "FPS-SMB-In-TCP" -Enabled True -Profile Private
# (Опционально, если нужны NetBIOS для старых клиентов)
Set-NetFirewallRule -Name "FPS-NB-Name-In-UDP","FPS-NB-Datagram-In-UDP","FPS-NB-Session-In-TCP" -Enabled True -Profile Private
Предпочитайте включать встроенные правила вместо создания дубликатов — это упрощает аудит и совместимость с обновлениями.
Вариант 3. PowerShell: создать кастомные правила с ограничением адресов
# Разрешить RDP 3389 только из админ-подсети
New-NetFirewallRule -DisplayName "Allow RDP 3389 (Private, AdminNet)" `
  -Direction Inbound -Protocol TCP -LocalPort 3389 -Profile Private `
  -RemoteAddress 10.0.10.0/24 -Action Allow
# SMB 445 только из файловых подсетей
New-NetFirewallRule -DisplayName "Allow SMB 445 (Private, Files)" `
  -Direction Inbound -Protocol TCP -LocalPort 445 -Profile Private `
  -RemoteAddress 10.0.20.0/24,10.0.21.0/24 -Action Allow
# (Опционально) RDP UDP для оптимизации
New-NetFirewallRule -DisplayName "Allow RDP 3389 UDP (Private, AdminNet)" `
  -Direction Inbound -Protocol UDP -LocalPort 3389 -Profile Private `
  -RemoteAddress 10.0.10.0/24 -Action Allow
Через GPO для парка серверов
- GPMC → создайте/откройте нужную GPO → Computer Configuration → Policies → Windows Settings → Security Settings → Windows Defender Firewall with Advanced Security.
- Inbound Rules → New Rule → Port: - TCP 3389 (RDP), UDP 3389 (доп.), TCP 445 (SMB).
 
- Profile: оставьте только Private, задайте Scope (Remote IPs).
- Link GPO к OU с серверами → gpupdate /forceили перезагрузка.
Таблица портов, правил и быстрых команд
| Сервис | Порт/Протокол | Встроенное правило | PowerShell для Private | Рекомендуемый Scope | Примечания | 
|---|---|---|---|---|---|
| RDP 🖥️ | 3389/TCP | RemoteDesktop-UserMode-In-TCP | Set-NetFirewallRule -Name "RemoteDesktop-UserMode-In-TCP" -Enabled True -Profile Private | Админ-подсети | NLA включите для защиты | 
| RDP (опт.) | 3389/UDP | RemoteDesktop-UserMode-In-UDP | Set-NetFirewallRule -Name "RemoteDesktop-UserMode-In-UDP" -Enabled True -Profile Private | Админ-подсети | Ускоряет графику | 
| SMB 📁 | 445/TCP | FPS-SMB-In-TCP | Set-NetFirewallRule -Name "FPS-SMB-In-TCP" -Enabled True -Profile Private | Клиентские подсети | SMBv1 держите отключенным | 
| NetBIOS (имена) | 137/UDP | FPS-NB-Name-In-UDP | Set-NetFirewallRule -Name "FPS-NB-Name-In-UDP" -Enabled True -Profile Private | Только если требуется | Для старых узлов | 
| NetBIOS (датаграммы) | 138/UDP | FPS-NB-Datagram-In-UDP | Set-NetFirewallRule -Name "FPS-NB-Datagram-In-UDP" -Enabled True -Profile Private | Только если требуется | Устаревшее | 
| NetBIOS (сессии) | 139/TCP | FPS-NB-Session-In-TCP | Set-NetFirewallRule -Name "FPS-NB-Session-In-TCP" -Enabled True -Profile Private | Только если требуется | Устаревшее | 
| SMB over QUIC ⚡ | 443/UDP | кастом/роль SMB over QUIC | New-NetFirewallRule -DisplayName "SMB over QUIC 443/UDP (Private)" -Dir In -Protocol UDP -LocalPort 443 -Profile Private -Action Allow | Пул клиентов | Если развернут QUIC | 
Проверка доступности и профиля
- Проверить профиль Private: Get-NetFirewallProfile -Profile Private(Enabled=True).
- Тест RDP/SMB с клиента: - Test-NetConnection server01 -Port 3389
- Test-NetConnection server01 -Port 445
 
- Журнал брандмауэра: Get-WinEvent -LogName "Microsoft-Windows-Windows Firewall With Advanced Security/Firewall" -MaxEvents 50
Рекомендации по безопасности
- Ограничивайте RemoteAddress только доверенными подсетями для RDP/SMB.
- Включайте NLA и блокируйте слабые шифры RDP через GPO.
- Применяйте SMB signing/шифрование; SMBv1 держите Disabled.
- Рассмотрите SMB over QUIC и RD Gateway для удаленного доступа.
- Следите, чтобы правила были активны лишь для профиля Private; для Public/Domain создавайте отдельные политики.
Типичные ошибки и их исправление
- Включили правила для All profiles — ограничьте до Private в Advanced.
- RDP не пускает: проверьте, включен ли сам RDP и NLA, а также что нет rule с более высоким приоритетом Deny.
- SMB не доступен: проверяйте не только 445/TCP, но и политику общего доступа/NTFS, статус службы LanmanServer.
- Сеть не в Private: задайте через Settings → Network → Network profile или через GPO (NLA).
FAQ по смежным темам
В: Чем отличаются профили Domain, Private и Public в брандмауэре?
 О: Domain применяется, когда машина доверяет доменному контроллеру; Private — для доверенных частных сетей; Public — для недоверенных сетей. Для админ-доступа безопаснее использовать Private/Domain, а в Public — максимально закрывать.
В: Как включить сам RDP на сервере, если порт закрыт?
 О: В System Properties → Remote → Allow Remote Desktop, либо PowerShell: Set-ItemProperty 'HKLM:SystemCurrentControlSetControlTerminal Server' -Name fDenyTSConnections -Value 0, затем откройте правила брандмауэра, как описано выше.
В: Нужно ли открывать NetBIOS-порты (137–139) для SMB?
 О: Обычно нет: современные клиенты используют 445/TCP. Открывайте 137–139 только при наличии устаревших систем/приложений и только в пределах Private профиля и нужных подсетей.
В: Как ограничить RDP по конкретным администраторам?
 О: Используйте группы Remote Desktop Users/Administrators и NLA, а сеть ограничьте по IP в правилах брандмауэра. Для внешнего доступа рассмотрите RD Gateway/Just-in-Time.
В: Как проверить, какое правило позволило/заблокировало трафик?
 О: Включите логирование в свойствах профиля брандмауэра (Logging), анализируйте журнал и используйте Get-NetFirewallRule + Get-NetFirewallPortFilter. Также помогает pktmon.
В: Можно ли применить эти настройки через Desired State Configuration (DSC)?
 О: Да, модуль NetworkingDsc (ресурс Firewall) позволяет описать и поддерживать правила как код — полезно для масштабных сред.
