iis サーバーは、限られた IP アドレス セットへの受信トラフィックをホワイトリストに登録します。

iis サーバーは、限られた IP アドレス セットへの受信トラフィックをホワイトリストに登録します。

Windows 2008 サーバーの IIS で実行されている Web サイトの IP アドレスのリストをホワイトリストに登録したいと考えています。この IP アドレスのリストは動的であるため、Web サービスを使用して更新されるテキスト ファイルに保存したいと考えています。これをどのように行うか、GUI を開いたり、サーバーを再起動したりするなどの手動介入を避ける必要があります。Linux で IP テーブルを使用するか、Apache または Nginx のルールを動的に生成する方法を知っています。

誰かこれを手伝ってくれませんか。

答え1

PowerShellとスケジュールされたタスクを使用してこれを実現できます。新しいファイアウォールルールは、新しいネットファイアウォールルールコマンドレット。ルールはおそらく次のようになります。

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

ルールを更新するには、表示名を識別子として使用して Remove-NetFirewallRule コマンドレットを使用し、IP アドレスのネット セットでルールを削除して再作成します。

Remove-NetFirewallRule -DisplayName "name"

または、NetFirewallRule の設定同じパラメータ セットを使用して既存のルールを変更するコマンドレット。

関連情報