このページの本文へ

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)しておくのを忘れないようにしたい。

カテゴリートップへ

この連載の記事
1
【整備済み品】 富士通 ノートパソコン LIFEBOOK MU937 超軽量 薄型ノートPC■Win11搭載 / MS Office H&B 2019 / FHD(1920x1080)/第七世代 Celeron/8GBメモリ/SSD 256GB/Webカメラ内蔵/13.3インチ
【整備済み品】 富士通 ノートパソコン LIFEBOOK MU937 超軽量 薄型ノートPC■Win11搭載 / MS Office H&B 2019 / FHD(1920x1080)/第七世代 Celeron/8GBメモリ/SSD 256GB/Webカメラ内蔵/13.3インチ
¥19,800
2
Lenovo ノートパソコン パソコン IdeaPad Slim 3 14.0インチ 第13世代 インテル® Core™ i5 プロセッサー搭載 13420H メモリ16GB SSD512GB MS Office 2024搭載 Windows11 バッテリー駆動14.1時間 重量1.39kg ルナグレー 83K00072JP ノートPC
Lenovo ノートパソコン パソコン IdeaPad Slim 3 14.0インチ 第13世代 インテル® Core™ i5 プロセッサー搭載 13420H メモリ16GB SSD512GB MS Office 2024搭載 Windows11 バッテリー駆動14.1時間 重量1.39kg ルナグレー 83K00072JP ノートPC
¥107,800
3
【整備済み品】中古 ノートパソコン NEC VersaPro VKT16/15.6型・第8世代Core i5-8250U(最大動作3.4GHz)/快適メモリ8GB/ 高速SSD 256GB/Win11 Pro/MS Office 2019付属/テンキー付, Webカメラ, USB3.0, HDMI, VGA, 有線LAN, WIFI内蔵, Bluetooth/ACアダプター付属/180日間保証
【整備済み品】中古 ノートパソコン NEC VersaPro VKT16/15.6型・第8世代Core i5-8250U(最大動作3.4GHz)/快適メモリ8GB/ 高速SSD 256GB/Win11 Pro/MS Office 2019付属/テンキー付, Webカメラ, USB3.0, HDMI, VGA, 有線LAN, WIFI内蔵, Bluetooth/ACアダプター付属/180日間保証
¥26,880
4
【整備済み品】富士通 ノートパソコン LIFEBOOK U9310 13.3型FHD(1920x1080) 超軽薄 ノートPC/第10世代 Core i5-10310U@1.7GHz/ 8GB メモリ/高速ストレージ SSD/Webカメラ/WIFI/Type-C/HDMI/win11&MS Office 2019 搭載 ビジネス 在宅勤務向け パソコン (メモリ:8GB/SSD:256GB)
【整備済み品】富士通 ノートパソコン LIFEBOOK U9310 13.3型FHD(1920x1080) 超軽薄 ノートPC/第10世代 Core i5-10310U@1.7GHz/ 8GB メモリ/高速ストレージ SSD/Webカメラ/WIFI/Type-C/HDMI/win11&MS Office 2019 搭載 ビジネス 在宅勤務向け パソコン (メモリ:8GB/SSD:256GB)
¥36,979
5
HP ノートパソコン 15-fd 15.6インチ インテル Core Ultra 5 125H メモリ16GB SSD512GB Windows 11 Microsoft Office 2024搭載 WPS Office搭載 カメラシャッター 指紋認証 薄型 Copilotキー搭載 ナチュラルシルバー (BJ0M7PA-AAAF)
HP ノートパソコン 15-fd 15.6インチ インテル Core Ultra 5 125H メモリ16GB SSD512GB Windows 11 Microsoft Office 2024搭載 WPS Office搭載 カメラシャッター 指紋認証 薄型 Copilotキー搭載 ナチュラルシルバー (BJ0M7PA-AAAF)
¥134,377

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

ASCII倶楽部

注目ニュース

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

プレミアム実機レビュー

ピックアップ
1
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
¥1,880
2
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
3
【Amazon.co.jp限定】バッファロー microSD 32GB 100MB/s UHS-1 U1 microSDHC【 Nintendo Switch 対応 】V10 A1 IPX7 Full HD RMSD-032U11HA/N
【Amazon.co.jp限定】バッファロー microSD 32GB 100MB/s UHS-1 U1 microSDHC【 Nintendo Switch 対応 】V10 A1 IPX7 Full HD RMSD-032U11HA/N
¥980
4
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
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限定 壁紙ダウンロード付き
¥5,280
7
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
¥980
8
キヤノン Canon 純正 インクカートリッジ BCI-381(BK/C/M/Y)+380 5色マルチパック BCI-381+380/5MP 長さ:5.3cm 幅:13.9cm 高さ:10.75cm
キヤノン Canon 純正 インクカートリッジ BCI-381(BK/C/M/Y)+380 5色マルチパック BCI-381+380/5MP 長さ:5.3cm 幅:13.9cm 高さ:10.75cm
¥5,545
9
バッファロー SDカード 128GB 100MB/s UHS-1 スピードクラス1 VideoSpeedClass10 IPX7 Full HD データ復旧サービス対応 RSDC-128U11HA/N
バッファロー SDカード 128GB 100MB/s UHS-1 スピードクラス1 VideoSpeedClass10 IPX7 Full HD データ復旧サービス対応 RSDC-128U11HA/N
¥1,980
10
バッファロー USBメモリ 32GB USB3.2(Gen1)/3.1(Gen 1)/3.0/2.0 充実サポート RUF3-K32GA-BK/N
バッファロー USBメモリ 32GB USB3.2(Gen1)/3.1(Gen 1)/3.0/2.0 充実サポート RUF3-K32GA-BK/N
¥880

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

デジタル用語辞典

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