検索
連載

【 New-NetFirewallRule 】コマンドレット―― Windows Defenderファイアウォールのポリシーを新規作成するWindows PowerShell基本Tips(49)

本連載は、PowerShellコマンドレットについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は「New-NetFirewallRule」コマンドレットを解説します。

Share
Tweet
LINE
Hatena
「Windows PowerShell基本Tips」のインデックス

連載目次

 本連載では、Windows PowerShellの基本的なコマンドレットについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は「Windows10」や「Windows 11」、Windows Serverに標準搭載されている「Windows Defenderファイアウォール」のポリシーを新規作成する「New-NetFirewallRule」コマンドレットです。

New-NetFirewallRuleコマンドレットとは?

 コンピュータのローカルアドレスやリモートコンピュータのアドレス、プロトコル、ポート番号といった要素を組み合わせてポリシーを作成し、コンピュータが送受信するパケットにポリシーに従ってフィルタリングする機能が「Windows Defenderファイアウォール」ですが、基本的なポリシーはWindowsのデフォルトで設定されています。

 ほとんどの場合は、Windowsのデフォルトのポリシーで十分ですが、使用するアプリケーションや企業のセキュリティポリシーによってはデフォルトで用意されているポリシーでは十分でない場合もあります。

 「New-NetFirewallRule」は、Windows Defenderファイアウォールのポリシーを新規作成するコマンドレットです。

  なお、本コマンドレットは、従来コマンドプロンプトで使用していた「netsh」コマンドの「netsh advfirewall firewall add rule」オプション付き実行とほぼ同じものになります。

New-NetFirewallRuleコマンドレットの書式

New-NetFirewallRule [オプション]


New-NetFirewallRuleコマンドレットの主なオプション

オプション 意味
-DisplayName 作成したいポリシーの表示名を指定。必須
-Name 作成したいポリシー名を指定する。省略可能
-Group 作成したいポリシーグループを指定する。省略可能
-DisplayGroup 作成したいポリシーグループの表示名を指定する。省略可能
-LocalAddress 作成したいポリシーのローカルコンピュータアドレスを指定する。省略可能
-RemoteAddress 作成したいポリシーのリモートコンピュータアドレスを指定する。省略可能
-Protocol 作成したいポリシーのプロトコル(TCP/UDP/ICMPなど)を指定する。省略可能
-LocalPort 作成したいポリシーのローカルコンピュータポート番号を指定する。省略可能
-RemotePort 作成したいポリシーのリモートコンピュータポート番号を指定する。省略可能
-Direction ポリシーの方向(Inbound/Outbound)を指定する。省略可能
-Action ポリシーのアクション(Allow/Block)を指定する。省略可能


新規作成したポリシーを取得する

 New-NetFirewallRuleコマンドレットを必須オプションである「-DisplayName」オプションを付けて実行すると、デフォルトのオプションが設定されたポリシーを新規作成できます(画面1)。なお、New-NetFirewallRuleコマンドレットは管理者権限で実行する必要があります。

コマンドレット実行例

New-NetFirewallRule -DisplayName TestPolicy

画面1
画面1 デフォルトのポリシーを新規作成した

 デフォルトのポリシーとはどのようなものなのでしょうか。設定内容を確認すると、以下のようなポリシーであることが確認できます。

オプション 設定内容
プロトコル 任意のプロトコル
ローカルポート番号 全てのポート
リモートポート番号 全てのポート
ローカルIPアドレス 任意のIPアドレス
リモート先IPアドレス 任意のIPアドレス
適用するプロファイル 全てのプロファイル(Any)
プログラム 任意のプログラム
通信方向 受信方向(Inbound)
アクション 許可(Allow)
有効/無効 有効

 いわゆる「受信方向で全ての通信を許可」というポリシーが「有効」の状態で作成されてしまいます。これはセキュリティホールになりかねない設定なので、デフォルトのポリシーの扱いには十分に注意してください。



受信方向でポート8080/TCPの通信を許可するポリシーを作成する

 以下のような内容のポリシーを作成する場合は、「-Protocol」オプションと「-LocalPort」オプションを使用します(画面2)。

オプション 設定内容
プロトコル TCP
ローカルポート番号 8080
リモートポート番号 全てのポート
ローカルIPアドレス 任意のIPアドレス
リモートIPアドレス 任意のIPアドレス
適用するプロファイル 全てのプロファイル(Any)
プログラム 任意のプログラム
通信方向 受信方向(Inbound)
アクション 許可(Allow)
有効/無効 有効

コマンドレット実行例

New-NetFirewallRule -DisplayName TestPolicy -Protocol TCP -LocalPort 8080

画面2
画面2 ポート8080/TCPを受信方向で許可するポリシーを作成した


特定のコンピュータに対する通信をブロックするポリシーを作成する

 特定のコンピュータ(ここでは「192.168.10.200」のIPアドレスを持つコンピュータ)への通信をブロックする場合は、「送信方向」に「不許可」のポリシーを作成します(画面3)。

オプション 設定内容
プロトコル 任意のプロトコル
ローカルポート番号 全てのポート
リモートポート番号 全てのポート
ローカルIPアドレス 任意のIPアドレス
リモートIPアドレス 192.168.10.200
適用するプロファイル 全てのプロファイル(Any)
プログラム 任意のプログラム
通信方向 送信方向(Outbound)
アクション 不許可(Block)
有効/無効 有効

コマンドレット実行例

New-NetFirewallRule -DisplayName BlockPolicy -RemoteAddress 192.168.10.200 -Direction Outbound -Action Block

画面3
画面3 「192.168.10.200」宛ての通信を全てブロックするポリシーを作成した

 ブロックポリシーは優先されるポリシーとなるため、アドレス設定を間違えて全ての宛先にしてしまうと自身が送信元となる通信を全てブロックしてしまいます。設定の際は十分注意してください。

筆者紹介

後藤 諭史(ごとう さとし)

Microsoft MVP for Cloud and Datacenter Management(2012-2023)。現業の傍ら、コミュニティーイベントでの登壇や著作にてMicrosoftテクノロジーに関する技術情報の発信、共有を続けている。ネットワークやハードウェアといった物理層に近いところが大好きな、昔ながらのインフラ屋さん。得意技はケーブル整線。近著は『詳解! Windows Server仮想ネットワーク』(日経BP社)。


Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る