Windowsのセキュリティを強化するためには、適切なファイアウォール設定が欠かせません。特に管理者やIT担当者にとって、PowerShellを活用して効率的にファイアウォールルールを設定することは重要なスキルです。
本記事では、「New-NetFirewallRule」 コマンドを用いて、新しいファイアウォールルールを作成する方法について詳しく解説します。具体的な使用例を交えながら、目的別に適切な設定ができるように説明していきます。
PowerShellを活用することで、手動での設定よりも素早く、柔軟にルールの管理が可能 になります。ぜひこの記事を参考にして、実践的なスキルを身につけてください。
「New-NetFirewallRule」は、Windows Defender ファイアウォールの新しいルールを作成するためのPowerShellコマンドです。このコマンドを使用すると、特定のポートやアプリケーションに対する通信許可・拒否のルール を手軽に追加できます。
従来の「netsh」コマンドを使用する方法よりも柔軟性が高く、スクリプト化しやすいため、多くの管理者がPowerShellの「New-NetFirewallRule」を活用しています。
まず、「New-NetFirewallRule」の基本構文を確認しましょう。
New-NetFirewallRule -DisplayName "RuleName" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 80
パラメータ | 説明 |
---|---|
-DisplayName | ルールの名前(管理しやすい名前を指定) |
-Direction | Inbound (受信)または Outbound (送信) |
-Action | Allow (許可)または Block (拒否) |
-Protocol | TCP や UDP などの通信プロトコル |
-LocalPort | 許可またはブロックするポート番号 |
Webサーバー(IISやApacheなど)を運用する場合、HTTP(80番)やHTTPS(443番)のポートを開放する必要があります。
New-NetFirewallRule -DisplayName "Allow_HTTP" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 80
このコマンドを実行すると、TCPの80番ポートへの受信を許可するファイアウォールルールが作成されます。
特定のアプリケーションに対して通信を許可する場合、-Program
パラメータを使用します。
例として、特定のアプリケーション(C:\Path\To\App.exe)に対して通信を許可するルール を作成してみましょう。
New-NetFirewallRule -DisplayName "Allow_MyApp" -Direction Inbound -Action Allow -Program "C:\Path\To\App.exe"
これにより、指定したアプリケーションの通信が許可されます。
特定のIPアドレス(例:192.168.1.100)からのアクセスのみ許可する場合は、以下のように記述します。
New-NetFirewallRule -DisplayName "Allow_Specific_IP" -Direction Inbound -Action Allow -RemoteAddress 192.168.1.100 -Protocol TCP -LocalPort 22
このルールでは、SSH(ポート22)へのアクセスを 192.168.1.100 からのみ許可 します。
複数のポート(例:80, 443)を一括で許可する場合、-LocalPort
にカンマ区切りで複数指定できます。
New-NetFirewallRule -DisplayName "Allow_Web_Traffic" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 80,443
これは、HTTPとHTTPSの両方のポートを許可 するルールになります。
特定のポート(例:3389、リモートデスクトップのRDPポート)をブロックしたい場合は、-Action Block
を指定します。
New-NetFirewallRule -DisplayName "Block_RDP" -Direction Inbound -Action Block -Protocol TCP -LocalPort 3389
これにより、リモートデスクトップ(RDP)への接続をブロック できます。
組織のポリシーによって適用されているルールを変更する場合、-PolicyStore ActiveStore
を指定することで、新しいルールを適用できます。
New-NetFirewallRule -DisplayName "OverridePolicy" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 8080 -PolicyStore ActiveStore
この設定を行うことで、既存のグループポリシーによる設定を一時的に上書きすることが可能です。
追加したルールを確認するには、以下のコマンドを使用します。
Get-NetFirewallRule | Select-Object DisplayName, Direction, Action, Enabled
不要になったルールを削除する場合は、「Remove-NetFirewallRule」コマンドを使用します。
Remove-NetFirewallRule -DisplayName "Allow_HTTP"
このコマンドを実行すると、「Allow_HTTP」という名前のファイアウォールルールが削除 されます。
「New-NetFirewallRule」を使用すると、Windows Defender ファイアウォールの設定をPowerShellで簡単に管理できます。
ファイアウォールの適切な設定は、セキュリティ強化の基本です。PowerShellを活用して、効率的かつ正確にファイアウォールを管理 しましょう。