図1 Windows Server 2003で動作中のIPsecメイン・モード・ポリシー名を確認した画面
図1 Windows Server 2003で動作中のIPsecメイン・モード・ポリシー名を確認した画面
[画像のクリックで拡大表示]
図2 Windows Server 2003でHTTPに対するフィルタのルールを追加して確認した画面
図2 Windows Server 2003でHTTPに対するフィルタのルールを追加して確認した画面
[画像のクリックで拡大表示]

netsh ipsec dynamic add rule srcaddr=Any dstaddr=IPアドレス mmpolicy=1 protocol=TCP srcport=0 dstport=80 mirrored=yes conntype=all actioninbound=block actionoutbound=permit

 Windowsパソコンでは,「IPセキュリティ・ポリシー」で割り当てられた規則をもとに,IPsecを使って通信を暗号化する機能があります。IPsecのサービスが動作している際に,一部の着信パケットを一時的に拒否したいような場合には,netshコマンドでIPsecの設定を動的に変更するipsec dynamicコンテキストを使って設定します。

 具体的には,まず以下のコマンドを実行して動作中のIPsecメイン・モード・ポリシー名を「show mmpolicy」で確認します(図1)。

netsh ipsec dynamic show mmpolicy

 それから,必要なIPフィルタの設定を「add rule」でメイン・モード・ポリシーに追加します。例えば,192.168.0.1というパソコンに対するHTTPによる通信(あて先TCPポート80)の入力をフィルタリングする設定を,ポリシー1として追加する場合は以下のように入力します(図2)。

netsh ipsec dynamic add rule srcaddr=Any dstaddr=192.168.0.1 mmpolicy=1 protocol=TCP srcport=0 dstport=80 mirrored=yes conntype=all actioninbound=block actionoutbound=permit

 また,追加した設定は以下のように「show rule」を実行すれば確認できます。

netsh ipsec dynamic show rule

 なお,追加した設定を削除したい場合は「delete rule」を使います。例えば,上述した設定を削除するには以下のようなコマンドを実行します。

netsh ipsec dynamic delete rule srcaddr=Any dstaddr=192.168.0.1 protocol=TCP srcport=0 dstport=80 mirrored=yes conntype=all