IP アドレス・ネットワーク

ポート番号 (Port Number)

約 5 分で読めます

ポート番号とは

ポート番号とは、ネットワーク通信においてアプリケーションやサービスを識別するための 0 から 65535 までの数値です。IP アドレスが建物の住所だとすれば、ポート番号はその建物内の部屋番号に相当します。

1 台のサーバーで Web サーバー、メールサーバー、SSH サーバーなど複数のサービスを同時に動かせるのは、それぞれが異なるポート番号を使って通信を振り分けているからです。ブラウザで https://example.com にアクセスすると、裏側ではポート 443 に対して接続が行われています。

ポート番号の分類

ポート番号は IANA (Internet Assigned Numbers Authority) によって 3 つの範囲に分類されています。

ウェルノウンポート (0-1023)
主要なプロトコルに予約された番号。OS の管理者権限がないと使用できない。HTTP (80)、HTTPS (443)、SSH (22)、SMTP (25)、DNS (53) などが該当する。
登録済みポート (1024-49151)
特定のアプリケーションが IANA に登録して使用する番号。MySQL (3306)、PostgreSQL (5432)、Redis (6379) などデータベースやミドルウェアが多い。
動的ポート (49152-65535)
クライアント側が一時的に使用する番号。ブラウザが Web サーバーに接続する際、送信元ポートとしてこの範囲からランダムに割り当てられる。

ポートスキャンとセキュリティリスク

ポートスキャンとは、対象のサーバーやネットワーク機器に対して多数のポートに接続を試み、どのポートが開いているかを調査する行為です。ネットワーク管理者が自社の脆弱性を確認する正当な用途がある一方、攻撃者が侵入経路を探す偵察行為としても使われます。

  • TCP SYN スキャン: 接続の最初のステップ (SYN パケット) だけを送り、応答の有無でポートの開閉を判定する。接続を完了しないため検出されにくい。
  • TCP Connect スキャン: 完全な TCP 接続を確立して確認する。確実だがログに残りやすい。
  • UDP スキャン: UDP ポートの開閉を確認する。応答がないことを「開いている」と判断するため、時間がかかり精度も低い。

不要なポートを開放したままにしておくと、そこが攻撃の入口になります。ファイアウォールで必要なポートだけを許可し、それ以外はすべてブロックするのが基本原則です。

ファイアウォールによるポート制御

ファイアウォールの最も基本的な機能は、ポート番号に基づいて通信の許可・拒否を制御することです。

  • インバウンドルール: 外部からサーバーへの接続を制御。Web サーバーなら 80 と 443 のみ許可し、SSH (22) は管理者の IP アドレスからのみ許可するのが一般的。
  • アウトバウンドルール: サーバーから外部への接続を制御。マルウェアが外部の C&C サーバーと通信するのを防ぐために、不要なアウトバウンド通信を制限する。

クラウド環境では、AWS のセキュリティグループや Azure の NSG がこの役割を担います。「必要最小限のポートだけを開放する」という最小権限の原則は、ネットワークセキュリティの基本中の基本です。

NAT を使用している家庭用ルーターでは、外部からの接続はデフォルトですべてブロックされます。ポート転送 (ポートフォワーディング) を設定しない限り、内部のデバイスに外部から直接アクセスすることはできません。

実務で押さえておくべきポイント

ポート番号に関して、実務で特に重要な知識をまとめます。

  • ポート 80 から 443 への移行: かつて Web サイトは HTTP (ポート 80) が標準でしたが、現在は TLS による暗号化が必須となり、HTTPS (ポート 443) がデフォルトです。Google Chrome は HTTP サイトに「保護されていない通信」と警告を表示します。
  • 非標準ポートの利用: SSH をデフォルトの 22 から別のポート (例: 2222) に変更すると、自動化されたブルートフォース攻撃の大半を回避できます。ただし、これはセキュリティの本質的な対策ではなく、あくまで攻撃のノイズを減らす補助的な手段です。
  • ポートの競合: 同じポート番号を複数のアプリケーションが同時に使用することはできません。開発環境で「Address already in use」エラーが出たら、そのポートを使用しているプロセスを特定して停止する必要があります。

よくある誤解

ポート番号を変えればセキュリティが向上する
非標準ポートへの変更は自動スキャンの回避に多少効果がありますが、本質的なセキュリティ対策にはなりません。攻撃者は全ポートをスキャンできるため、認証の強化やファイアウォールの適切な設定が本来の対策です。
ポートを閉じればハッキングされない
ポートを閉じることは重要な対策ですが、開放が必要なポート (Web サーバーの 443 など) は存在します。開放しているポートで動作するアプリケーションの脆弱性を突かれる可能性があるため、ソフトウェアの更新と適切な設定も不可欠です。
ポート番号は 80 と 443 だけ知っていれば十分
Web 開発者でも SSH (22)、DNS (53)、データベース (3306, 5432) など複数のポートを日常的に扱います。トラブルシューティングの際にポート番号の知識がないと、接続問題の原因特定に時間がかかります。
共有する
B!

関連用語

関連記事