Назад | Перейти на главную страницу

Блокировать входящий порт 80, трафик 443, кроме определенных IP-адресов

Я пытаюсь настроить брандмауэр, чтобы разрешить входящий трафик на порты 80 и 443 только с определенных IP-адресов. Я попытался создать правило для блокировки всего трафика по TCP, локальным портам 80 и 443, затем добавил правило, разрешающее то же самое с определенного удаленного IP-адреса. Однако я продолжал получать трафик с любого IP-адреса. Поэтому я отключил правило, разрешающее трафик, и все равно получал трафик с любого IP-адреса. Затем я изменил правило, чтобы блокировать весь TCP-трафик на любом порту, но я все еще получаю трафик.

Нет правил, разрешающих трафик по TCP 80, 443 или любой которые не ограничиваются конкретной программой. Как я могу заблокировать входящий трафик на этих портах, кроме определенных IP-адресов? Есть ли способ определить, какое правило пропускает трафик? Спасибо!

Прежде всего:

  1. Если для порта / службы / приложения нет правила и включен межсетевой экран, весь трафик для него блокируется!
  2. Если есть включенный позволять правило для порта / службы / приложения, разрешен согласованный трафик.
  3. Если есть включенный блокировать правило для порта / службы / приложения, оно имеет приоритет над позволять правила и согласованный трафик заблокирован!

Вы говорите, что входящий трафик по портам 80 и 443 разрешен отовсюду. Это означает, что существует активное правило, разрешающее этот трафик. Вы хотите разрешить трафик на эти порты только с определенных IP-адресов.

Сначала вам нужно удалить правило, разрешающее трафик, а затем создать правило, разрешающее трафик только с определенных IP-адресов.

Чтобы узнать, какое правило делает доступными ваши порты 80 и 443, сначала получите все активные правила:

$active_rules = Get-NetFirewallRule -Enabled True -Direction Inbound -Action Allow

Следующим шагом будет поиск возможных правил, разрешающих входящий трафик на порты 80 и 443:

$port_filters = $active_rules | Get-NetFirewallPortFilter | Where-Object { $_.LocalPort -in (80, 443) }

Затем найдите соответствующие правила брандмауэра:

$port_filters | Get-NetFirewallRule

Это наверное Полегче просто отсортировать по LocalPort в графическом пользовательском интерфейсе расширенных настроек брандмауэра. Но эти команды могут как-то помочь вам отследить правило.

То, что нужно запомнить: Проверьте три разных профиля. Если вы не нашли фильтр порта, возможно, у веб-приложения или веб-службы есть активный позволять правило.

Когда вы нашли и удалили (или отключили) рассматриваемое правило, создайте новый позволять правило для портов и адресов:

New-NetFirewallRule -DisplayName "Allow TCP:80,443 from certain IPs" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 80,443 -RemoteAddress ("8.8.8.8", "8.8.4.4", "…")