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

iis сервер вносит входящий трафик в белый список для ограниченного набора IP-адресов

Мы хотим внести в белый список список IP-адресов для веб-сайта, работающего на IIS на сервере Windows 2008. Поскольку этот список IP-адресов будет динамическим, мы хотели бы сохранить его в текстовом файле, который будет обновляться с помощью веб-службы. Как вы это делаете? Мы должны избегать любого ручного вмешательства, такого как открытие графического интерфейса или перезапуск сервера. Мы знаем, как это сделать в Linux либо с помощью таблиц IP, либо с помощью динамической генерации правил для Apache или Nginx.

Может кто-нибудь помочь нам с этим

Для этого вы можете использовать PowerShell и запланированную задачу. Новые правила брандмауэра могут быть созданы с помощью New-NetFirewallRule Командлет. Ваше правило, вероятно, будет выглядеть так:

New-NetFirewallRule -DisplayName "name" -Direction Inbound -LocalPort 80 -Protocol TCP -RemoteAddress $IPs -Action Allow | Out-Null

Вам нужно будет поместить разрешенные IP-адреса в массив (см. Переменную $ IPs), чтобы это работало. Конечно, эта часть скрипта зависит от макета вашего текстового файла. Если ваш файл выглядит так:

8.8.8.8
8.8.4.4

Тогда следующий фрагмент кода должен работать:

$IPs = Get-Content -Path "Path\to\file.txt"
New-NetFirewallRule -DisplayName "name" -Direction Inbound -LocalPort 80 -Protocol TCP -RemoteAddress $IPs -Action Allow | Out-Null

Чтобы обновить правило, вы можете либо удалить, либо воссоздать его с сетевым набором IP-адресов с помощью командлета Remove-NetFirewallRule, используя отображаемое имя в качестве идентификатора.

Remove-NetFirewallRule -DisplayName "name"

Или вы можете использовать Set-NetFirewallRule Командлет для изменения существующего правила с тем же набором параметров.