アプリやサービスが通信を拒否したために、Windows Serverでポートを開かなければならなかった経験はありませんか?ファイアウォールのデフォルト設定によっては、正当なトラフィックがブロックされてしまう場合があり、特定のポートを通過させる方法を見つけるのは少し面倒なことがあります。これはセキュリティだけの問題ではありません。正しく設定しないと、データがロックアウトされたままになり、頭を悩ませることになります。ですから、これは決して楽しい作業ではありませんが、Webサーバー、データベースツール、またはリモートアクセスをスムーズに動作させたいのであれば、必要な作業です。ここでは、多くの人が役に立ったウォークスルーをご紹介します。もちろん、Windowsではポートを必要以上に複雑にしているからです。
Windows Serverでポートを簡単に開く方法
基本から始める: ファイアウォール設定にアクセスする
まず、ファイアウォールにアクセスする必要があります。すべてのルールはファイアウォールで作成されます。Windows Serverでは、「ファイル名を指定して実行」wf.msc
ダイアログまたはPowerShellから実行するのが最も簡単です。初めての場合は、 を押して と入力し、Enterキーを押します。これで、セキュリティが強化されたWindows Defenderファイアウォールが開きます。サーバーマネージャー経由で実行しようとする人もいますが、正直に言うと、直接 にアクセスする方が早くて簡単です。管理者としてログインしていることを確認してください。そうしないと、ファイアウォールのルールが保存されません。Win + Rwf.msc
wf.msc
新しい受信ルールを作成する – ここで魔法が起こる
ファイアウォールウィンドウで、左側の「受信の規則」をクリックします。次に、右側の「新しい規則」をクリックします。するとウィザードが起動し、開くポートを定義できます。この部分は非常に重要です。ファイアウォールに「このポートはトラフィックを通過させても大丈夫です」と伝えることになるからです。
ポートの種類を選択し、ポート番号を指定します
ルールの種類を尋ねられたら、 「ポート」を選択してください。理由は定かではありませんが、アプリによってはTCPとUDPの選択が重要になる場合があります。ほとんどのWebサービス、SQL、SSHはTCPに依存しているので、TCPを選択するのが無難です。必要なポート番号(HTTPの場合は80、SQLの場合は1433など)を入力してください。正確に入力してください。ルールを作成したら、後はポート番号の一致だけで十分です。設定によっては、複数のポートを開く場合は、それぞれに個別のルールを作成するのが最も簡単です。追記:正確なポート番号の指定を忘れる人がいるので、念のため確認してください。
接続を許可し、プロファイルを適用する
次に、「接続を許可する」を選択します。なぜでしょうか?Windowsに「ここは安全です」と伝えることで、ファイアウォールがトラフィックを通過させるからです。次に、プロファイルのオプションが表示されます。ドメイン、プライベート、パブリックです。ネットワーク設定に一致するボックスにチェックを入れてください。よくわからない場合は、通常は3つすべてにチェックを入れてください。そうすることで、すべてのネットワークに適用され、特に自宅のネットワークで奇妙な制限を回避できます。
名前を付けて保存すれば完了です。
最後に、ルールに分かりやすい名前を付けましょう。「ポート8080を開く」や「MyApp TCP 22」など、後で何のために使うのかがわかるような名前を付けましょう。「完了」をクリックすれば、ポートが開きます。正直なところ、マシンによっては最初は失敗しても、再起動や再適用でうまくいくケースもあるので、最初は少し不安定でも落胆しないでください。
まとめ
ポートを開くことは、セキュリティ上のベストプラクティスとして必ずしも推奨されるわけではありませんが、ウェブサイトのホスティングやデータベースを他のサーバーと通信させる場合など、必要な場合もあります。アプリによって異なりますが、80、443、1433、22などの一般的なポートが必要になる場合がほとんどです。ポートが開いていないとアプリがハングアップし、接続できなくなりますので、ファイアウォールのルールを定期的に確認してください。また、ルーターやネットワークポリシーによってポートがブロックされる場合もあるため、多層的なアプローチが必要です。
よくある質問
ポートを開きたい場合は、「Windows Defender ファイアウォール(セキュリティが強化された)」にアクセスし、新しい受信規則を作成し、「ポート」を選択して番号を指定し、必要なプロファイル間で接続を許可するだけです。使い方さえ覚えてしまえば簡単です。
同じ手順を2回繰り返します。1回はポート80(HTTP)用、もう1回はポート443(HTTPS)用です。ルールを作成し、両方を許可します。ルールがないとWebサーバーは動作しません。
このポートはSQL Server用です。ポート1433の受信TCPルールを作成してください。SQLにカスタムポートを使用している場合は、そのポートを指定してください。これにより、データベースクライアントが問題なく接続できるようになります。
ここはSSHの領域です。TCPポート22番のルールを設定し、SSHに別のポートを使用している場合は、そのポートを指定してください。そうすれば、PuTTYやOpenSSHなどのクライアントを使って安全にリモート接続できます。
プロキシサーバーやテストサーバーでは一般的です。ポート8080に新しい受信TCPルールを追加するだけで、準備完了です。これで、そのポートでリッスンしているウェブアプリは、トラフィックを正常に受信できるようになります。
まとめ
ポートを開くのは面倒に思えるかもしれませんが、正直なところ、少しの忍耐があれば可能です。一度コツをつかめば、必要なポートごとに具体的なルールを作成するだけです。ただし、大いなる力には大いなる責任が伴うことを忘れないでください。ポートの機能を理解していない限り、ポートを開かないでください。そうしないと、トラブルに巻き込まれる可能性があります。この記事が、誰かの頭を悩ませる時間を少しでも軽減できれば幸いです。
まとめ
- wf.mscを使用して Windows ファイアウォールにアクセスする
- 各ポートに新しい受信ルールを作成する
- TCP/UDPと正確なポート番号を指定する
- 接続を許可し、プロファイルを選択する
- わかりやすい名前を付けて終了