Полная защита Windows Server: настройка брандмауэра и ограничение доступа
Что делает эта инструкция
- Разрешает RDP подключения только с указанного IP-адреса
- Блокирует все остальные входящие подключения к серверу
- Сохраняет исходящие подключения (доступ в интернет, обновления)
Проблема
По умолчанию Windows Server разрешает RDP подключения со всех IP-адресов, а также может иметь открытые порты других служб. Это создает серьезную угрозу безопасности - злоумышленники могут атаковать сервер через брутфорс или использовать уязвимости различных служб.
Решение
Настроить Windows Firewall для разрешения RDP только с определенного IP-адреса.
Пошаговая инструкция
Шаг 1: Создание правила для разрешенного IP
Откройте PowerShell от имени администратора и выполните:
New-NetFirewallRule -DisplayName "RDP Only My IP" -Direction Inbound -Protocol TCP -LocalPort 3389 -RemoteAddress YOUR_IP_ADDRESS -Action Allow -Profile Any
Что делает команда:
New-NetFirewallRule
- создает новое правило брандмауэра-DisplayName
- название правила (для удобства управления)-Direction Inbound
- правило для входящих подключений-Protocol TCP -LocalPort 3389
- протокол TCP на порту 3389 (стандартный порт RDP)-RemoteAddress
- разрешить подключения только с указанного IP-Action Allow
- разрешить подключение-Profile Any
- применить для всех сетевых профилей
Замените YOUR_IP_ADDRESS
на ваш реальный IP-адрес.
Шаг 2: Отключение всех остальных правил брандмауэра
Отключите все активные входящие правила кроме нашего:
Get-NetFirewallRule -Direction Inbound -Enabled True -Action Allow | Where-Object {$_.DisplayName -notlike "*RDP Only My IP*"} | Disable-NetFirewallRule
Что делает команда:
- Находит все активные входящие разрешающие правила
- Исключает наше правило “RDP Only My IP”
- Отключает все остальные правила (включая WinRM, Network Discovery, Cast to Device и другие системные службы)
Критически важно: Windows по умолчанию имеет множество активных правил для различных служб (WinRM порт 5357, сетевое обнаружение, мультимедиа и др.). Если не отключить их все, сервер останется уязвимым для атак через эти порты.
Примечание: Команда может дать пустой вывод - это нормально и означает успешное выполнение.
Шаг 3: Установка политики “блокировать по умолчанию”
Set-NetFirewallProfile -Profile Domain,Public,Private -DefaultInboundAction Block
Что делает команда:
Set-NetFirewallProfile
- изменить настройки профилей брандмауэра-Profile Domain,Public,Private
- применить ко всем типам сетей-DefaultInboundAction Block
- блокировать все входящие подключения по умолчанию (кроме явно разрешенных правил)
Шаг 4: Проверка результата
Проверьте, что остались только нужные правила:
Get-NetFirewallRule -Direction Inbound -Enabled True | Where-Object {$_.DisplayName -like "*RDP*" -or $_.DisplayName -like "*Remote Desktop*"} | Select-Object DisplayName
Ожидаемый результат: Должно показать только “RDP Only My IP”, а стандартные правила Remote Desktop должны отсутствовать.
Проверьте политику брандмауэра:
Get-NetFirewallProfile | Select-Object Name, DefaultInboundAction, DefaultOutboundAction
Ожидаемый результат:
Name DefaultInboundAction DefaultOutboundAction
---- -------------------- ---------------------
Domain Block NotConfigured
Private Block NotConfigured
Public Block NotConfigured
Результат
- RDP доступен только с указанного IP-адреса
- Все остальные входящие подключения заблокированы
- Исходящие подключения остаются разрешены
- Максимальная защита сервера от внешних атак
Важные замечания
- Обязательно протестируйте подключение с вашего IP перед завершением настройки
- Запишите команды восстановления на случай проблем с доступом
- Сохраните свой IP-адрес - при его смене потребуется обновить правило
- Команды могут давать пустой вывод - это нормально для PowerShell при успешном выполнении
- Проверяйте результат каждого шага с помощью команд из раздела “Проверка результата”
Обновление разрешенного IP
Если ваш IP изменился, обновите правило:
Set-NetFirewallRule -DisplayName "RDP Only My IP" -RemoteAddress NEW_IP_ADDRESS
Добавление дополнительных разрешений
Разрешить подключение с дополнительного IP-адреса
Если нужно разрешить RDP еще с одного IP:
New-NetFirewallRule -DisplayName "RDP Additional IP" -Direction Inbound -Protocol TCP -LocalPort 3389 -RemoteAddress ADDITIONAL_IP_ADDRESS -Action Allow -Profile Any
Разрешить определенный порт для всех IP
Например, разрешить веб-сервер (порт 80) для всех:
New-NetFirewallRule -DisplayName "HTTP Allow All" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow -Profile Any
Разрешить определенный порт только для конкретного IP
Например, разрешить SSH (порт 22) только с вашего IP:
New-NetFirewallRule -DisplayName "SSH My IP Only" -Direction Inbound -Protocol TCP -LocalPort 22 -RemoteAddress YOUR_IP_ADDRESS -Action Allow -Profile Any
Разрешить диапазон портов
Например, разрешить FTP (порты 20-21) только с вашего IP:
New-NetFirewallRule -DisplayName "FTP My IP Only" -Direction Inbound -Protocol TCP -LocalPort 20-21 -RemoteAddress YOUR_IP_ADDRESS -Action Allow -Profile Any
Работа с ICMP (ping)
По умолчанию в Windows Server ICMP заблокирован - сервер не отвечает на ping. Это нормально с точки зрения безопасности.
Если нужно разрешить ping (например, для мониторинга):
New-NetFirewallRule -DisplayName "ICMP Allow All" -Direction Inbound -Protocol ICMPv4 -IcmpType 8 -Action Allow -Profile Any
Если нужно обратно заблокировать ping:
Remove-NetFirewallRule -DisplayName "ICMP Allow All"
Разрешить все порты для определенного IP
Внимание: Это снижает безопасность. Используйте только для полностью доверенных IP-адресов.
New-NetFirewallRule -DisplayName "Full Access Trusted IP" -Direction Inbound -RemoteAddress TRUSTED_IP_ADDRESS -Action Allow -Profile Any
Чтобы отменить полный доступ:
Remove-NetFirewallRule -DisplayName "Full Access Trusted IP"
Использование команд:
- Замените
ADDITIONAL_IP_ADDRESS
,YOUR_IP_ADDRESS
,TRUSTED_IP_ADDRESS
на реальные IP-адреса - Замените номера портов на нужные вам
- Измените
DisplayName
на понятное вам название правила - Для UDP-протокола замените
-Protocol TCP
на-Protocol UDP
- Правило “все порты для IP” создает риск безопасности - используйте осторожно
Команды для экстренного восстановления доступа
Если потеряли доступ к серверу, через консоль выполните:
Set-NetFirewallProfile -Profile Domain,Public,Private -DefaultInboundAction Allow
Вернет политику разрешения по умолчанию (этого достаточно).
Как это работает: Политика “Allow” разрешит все входящие подключения, включая RDP. Ваше правило “RDP Only My IP” останется активным, но перестанет быть единственным способом подключения.
Важно: После восстановления доступа обязательно верните безопасную конфигурацию:
Set-NetFirewallProfile -Profile Domain,Public,Private -DefaultInboundAction Block
Управление правилами через графический интерфейс
Если вы предпочитаете графический интерфейс или не помните точное название правила для удаления:
-
Откройте “Брандмауэр Windows в режиме повышенной безопасности”:
- Нажмите Win+R → введите
wf.msc
→ Enter - Или через “Панель управления” → “Система и безопасность” → “Брандмауэр Windows” → “Дополнительные параметры”
- Нажмите Win+R → введите
-
Перейдите в "Правила для входящих подключений"
-
Найдите нужное правило:
- Новые правила обычно находятся в верхней части списка
- Ищите по названию (например, “RDP Only My IP”)
- Правила отсортированы по алфавиту
-
Управление правилами:
- Отключить: Щелкните правой кнопкой → “Отключить правило”
- Удалить: Щелкните правой кнопкой → “Удалить”
- Изменить: Двойной клик на правило → вкладка “Область” → изменить IP-адреса
Графический интерфейс удобен для точечного управления правилами и просмотра всех активных настроек брандмауэра.
О компании OLP.kz
Если вам нужен надежный сервер для размещения ваших проектов, OLP.kz предлагает:
- Серверное оборудование под любые задачи - от начального уровня до enterprise
- Услуги хостинга с технической поддержкой 24/7
- Готовые конфигурации серверов с предустановленной Windows Server
- Консультации по настройке безопасности для ваших серверов
Настройка безопасности сервера - это только первый шаг. Правильный выбор оборудования и надежного хостинг-провайдера не менее важен для стабильной работы ваших проектов.
Контакты: olp.kz