このページの本文へ

Windows Info 第345回

WindowsのファイアウォールをPowerShellから制御する

2022年09月18日 10時00分更新

文● 塩田紳二 編集● ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

Windows Defenderファイアウォールは、PowerShellのコマンドで簡単に設定可能だ

 Windows 10/11のファイアウォールは、コントロールパネルの「Windows Defender ファイアウォール」からGUIで設定が可能だ。ただ、これが意外に面倒。もっとも通常は、アプリがインターネットと接続するときにルールが自動で設定され、ユーザーは確認するだけなので、わざわざなにかをする必要は基本的にない。

 しかし、一部のアプリケーションでは、ファイアウォールを手動で設定する必要があり、また、ネットワーク関連のちょっとした実験などで、LAN側からアクセスする場合にも、ファイアウォールにルールを追加して特定のパケットを通すことが求められるケースがある。こうしたファイアウォールへのルールの追加を俗にファイアウォールを「開ける」などという。

 今回は、PowerShellを使って、ファイアウォールを「開ける」作業を簡単にする方法を解説する。

そもそもWindows Defenderファイアウォールとはなんぞや

 制御方法の解説の前に、Windowsにおけるファイアウォールの歴史を簡単に解説しておく。最初はWindows XPのときに搭載された。XPより前のWindowsでは、ルーターなどに搭載されたファイアウォールに守られたLAN内で使うか、(短時間の利用となる)ダイヤルアップ接続が前提だったが、この頃になると、一般ユーザーも常時接続が増えてきたこと、Windowsを狙った「悪意のあるプログラム」が多数登場した。マイクロソフトは、Windows XP SP2で方向を完全に転換。ファイアウォールをデフォルトで有効とした。

 その後、Windows Vistaでは、「Windows Firewall with Advanced Security」という名称になって、大きく改良された。これがベースになって現在に至る。Windows 10の最初の頃は「Windows Firewall」という名前だったが、いつの間にかマイクロソフトのウィルス対策プログラムのブランドに統合され「Windows Defender ファイアウォール」になっている。

 現在のWindows Defenderファイアウォールでは、「ルール」でパケットの通過(入力と出力)を制御する。GUIによるファイアウォールルールの設定ダイアログが多数のタブを持っていることでわかるように、ルールには複雑な条件が設定できる。ルールは、ネットワーク側に関するもの(フィルター)とルール管理に関する情報の2つに大きく分けられる。前者は、ネットワークプロトコルやポート番号、送り先IPアドレスなど、パケットのフィルタリングをするための情報である。

 ルールは、ネットワークプロファイル(パブリックネットワーク、プライベートネットワーク)ごとに設定が可能になっているため、どのプロファイルに属するのか、ルール自体が有効なのか無効なのかといったルール管理情報も持つ。

ファイアウォール関連のコマンドは多数用意されている

 ファイアウォールのルールは、GUI(Windowsマネジメントコンソール)での設定以外に、netshコマンド、グループポリシーなどでも制御が可能。しかし、現在のWindows PowerShellには、ファイアウォール関連のコマンドが用意されているため、これを使うのが簡単だ。ただし、ファイアウォール関連のコマンドの実行には管理者権限が必要になる。

 以下の表は、PowerShellのファイアウォール関連のコマンドだ。多数のコマンドがあるが、筆者が大きく4つに分類した。通常は「基本」のコマンドだけを使えばよい。

 ただし、すでに定義されているルールを調べる場合には、「表示」関連のコマンドを使う。また、ルールの変更には、Set-NetFireWallRuleを使うのが基本ではあるが、特定のルールに対して、Set-NetFirewall~Filterコマンドを使って、ルール条件を変更することもできる。

 「管理」に分類されているのは、ファイアウォール自体の設定やファイアウォール関連機能の設定、ネットワークプロファイルなどに関するものだ。

 基本のコマンドだが、新規にルールを作成するには「New-NetFirewallRule」を、既存のルールを変更するには「Set-NetFirewallRule」を使う。この2つのコマンドでは、ルールに設定できる条件すべてを指定できる。ルールを作るなら、

New-NetFirewallRule -DisplayName 'FwTest001' -Protocol TCP -LocalPort 2000

などとする。このコマンドには多数のオプションがあるのだが、ほとんどにデフォルト値が設定されているので、最低限の指定で済む。上記のコマンドで、ポート2000宛に来るTCPパケットを通過させることが可能だ。

●New-NetFirewallRule
 https://docs.microsoft.com/en-us/powershell/module/netsecurity/new-netfirewallrule?view=windowsserver2019-ps

 ルールは、ルール本体と複数のフィルターから構成されている。フィルターには、以下の表のようなものがある。

 1つのルールには複数のフィルターが追加可能だ。同一種のフィルターも複数追加ができる。「New-NetFirewallRule」で、フィルター条件が異なる同じ名前のルールを作ると、指定したフィルターが追加される。

 ルールを変更するには、「Set-NetFirewallRule」を使う。このコマンドは、「New-NetFirewallRule」とほほ同じオプションを持つ。たとえば、以下のようにすることでポート2000と3000を開けるように修正することができる。

Set-NetFirewallRule -DisplayName 'FwTest001' -LocalPort 2000,3000

 ルールを表示させるのは「Get-NetFirewallRule」コマンドだが、このコマンドはルール本体の情報のみを表示し、ルールに設定されているフィルターを表示しない。必要に応じて、パイプで「Get-NetFirewall~Filter」コマンドをつなげて、必要なフィルターを取り出す。

ルールには複数のフィルターが含まれるため、Get-NetFirewallRuleコマンドとファイアウォールのフィルターコマンド(Get-NetFirewall~Filter)をパイプでつなげてフィルター条件を取り出す

 DisplayNameが正確にわかっているなら、以下のコマンドでルールを取り出すことができる。

Get-NetFirewallRule -DisplayName 'FwTest001'

 DisplayNameに「wireless」を含むルールを表示させるなら、

Get-NetFirewallRule | where DisplayName -like "*wireless*" | select DisplayName

のようにする(selectを付けたのは表示が大量になる場合があるから)。

 ルールのポートフィルターを調べるなら、

Get-NetFirewallRule -DisplayName 'FwTest001' | Get-NetFirewallPortFilter

とする。

 ソフト開発などで、一時的に特定のポートを開けたいといった場合、GUIやnetshで設定するよりも、PowerShellコマンドのほうが手軽で簡単だ。しかし、操作は簡単でも、セキュリティ的な配慮は不要というわけではない。必要がなくなったルールはすぐに削除(Remove-NetFirewallRule)するか、無効化(Disable-NetFirewallRule)しておくのを忘れないようにしたい。

カテゴリートップへ

この連載の記事

ASCII倶楽部

注目ニュース

  • 角川アスキー総合研究所

プレミアム実機レビュー

ピックアップ
1
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
¥1,890
2
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
¥740
3
CIO フラットスパイラルケーブル CtoC 1m (Type-C/USB-C) PD 急速充電 平型 磁石 マグネット吸着 まとまる 充電ケーブル PD 240W データ転送 480Mbps (ライトブラック, 1m)
CIO フラットスパイラルケーブル CtoC 1m (Type-C/USB-C) PD 急速充電 平型 磁石 マグネット吸着 まとまる 充電ケーブル PD 240W データ転送 480Mbps (ライトブラック, 1m)
¥1,980
4
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
¥2,111
5
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
¥990
6
【Amazon.co.jp限定】 ロジクール 静音 ワイヤレス トラックボール マウス M575SPd Bluetooth Logibolt 無線 windows mac iPad OS Chrome トラックボールマウス ブラック M575 M575SP 国内正規品 ※Amazon.co.jp限定 壁紙ダウンロード付き
【Amazon.co.jp限定】 ロジクール 静音 ワイヤレス トラックボール マウス M575SPd Bluetooth Logibolt 無線 windows mac iPad OS Chrome トラックボールマウス ブラック M575 M575SP 国内正規品 ※Amazon.co.jp限定 壁紙ダウンロード付き
¥7,040
7
Verbatim バーベイタム 1回録画用 ブルーレイディスク BD-R 25GB 50枚+3枚増量パック インクジェットプリンタ対応 ホワイト 片面1層 1-6倍速
Verbatim バーベイタム 1回録画用 ブルーレイディスク BD-R 25GB 50枚+3枚増量パック インクジェットプリンタ対応 ホワイト 片面1層 1-6倍速
¥2,480
8
UGREEN USB Type Cケーブル PD対応 100W/5A 超急速充電 USB C ナイロン編み 断線防止 iphone17/16/15シリーズ/iPad/MacBook Pro/Galaxy S24/Matebook/iPad/Xperia等USB-C各種対応(1m, ブラック)
UGREEN USB Type Cケーブル PD対応 100W/5A 超急速充電 USB C ナイロン編み 断線防止 iphone17/16/15シリーズ/iPad/MacBook Pro/Galaxy S24/Matebook/iPad/Xperia等USB-C各種対応(1m, ブラック)
¥1,299
9
Amazon Kindle - 目に優しい、かさばらない、大きな画面で読みやすい、6週間持続バッテリー、6インチディスプレイ電子書籍リーダー、ブラック、16GB、広告なし
Amazon Kindle - 目に優しい、かさばらない、大きな画面で読みやすい、6週間持続バッテリー、6インチディスプレイ電子書籍リーダー、ブラック、16GB、広告なし
¥19,980
10
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
¥980

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

デジタル用語辞典

ASCII.jpメール デジタルMac/iPodマガジン