Я пытаюсь настроить брандмауэр, чтобы разрешить входящий трафик на порты 80 и 443 только с определенных IP-адресов. Я попытался создать правило для блокировки всего трафика по TCP, локальным портам 80 и 443, затем добавил правило, разрешающее то же самое с определенного удаленного IP-адреса. Однако я продолжал получать трафик с любого IP-адреса. Поэтому я отключил правило, разрешающее трафик, и все равно получал трафик с любого IP-адреса. Затем я изменил правило, чтобы блокировать весь TCP-трафик на любом порту, но я все еще получаю трафик.
Нет правил, разрешающих трафик по TCP 80, 443 или любой которые не ограничиваются конкретной программой. Как я могу заблокировать входящий трафик на этих портах, кроме определенных IP-адресов? Есть ли способ определить, какое правило пропускает трафик? Спасибо!
Прежде всего:
Вы говорите, что входящий трафик по портам 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", "…")