結局「ポート番号」って何? “HTTPと80番”の他、これだけある謎の番号:ポート番号とその役割【中編】
ポート番号はIPアドレスと同様、通信先にデータを正しく届けるために欠かせない仕組みだ。代表的なポート番号と、それに関連するプロトコルや役割を解説する。
インターネットやアプリケーションが正しく動作している裏では、さまざまな通信の仕組みが、個々に重要な役割を果たしている。そうした仕組みの一つとして、「IPアドレス」と同じく欠かせない存在となった「ポート番号」がある。
日常的に使っている通信には、決まったポート番号が割り当てられている。ここではよく使われるポート番号と、それに関連するプロトコルやその役割を紹介する。
“HTTPと80番”だけじゃない、これだけある謎のポート
通信の行き先を振り分ける役割を果たしているのがポート番号だ。ポート番号は6万5535個存在するが、すべての番号が日常的に使われるわけではない。0〜1023番のポートは、特権ポートやウェルノウンポートとして、主要な企業や用途向けに予約されている。Appleのメディアプレーヤー「QuickTime」や構造化照会言語「SQL」を用いたサービス、文書共有サービス「Gopher」などは、これら特権ポートの一部を使用している。
特定のポート番号を登録したいベンダーや組織は、1024〜4万9151番の範囲で番号を選択できる。ソフトウェア会社はたいてい、この範囲にあるポート番号を特定のプロトコル用に登録している。4万9152〜6万5535番までのポートはダイナミックポートやエフェメラルポート、またはプライベートポートと呼ばれ、あらゆるプログラムで使用できる。その他、リクエストの実行中および完了時に、割り当て済みのポート番号の中から一時的にポート番号が割り当てられることもある。
以下は、よく使用されるポート番号と、それに関連する通信プロトコルの例だ。
- 20番ポートと21番ポート
- FTPと「Secure FTP」は、クライアントとサーバ間でファイルを転送するために使われる。
- 22番ポート
- 「SSH」(Secure Shell)は、安全なネットワーク接続を確立するために使われるトンネリングプロトコルの一つ。
- 25番ポート
- 「SMTP」(Simple Mail Transfer Protocol)は、メールで使われる転送プロトコル。
- 53番ポート
- 「DNS」(Domain Name System)は、人間が判読できるドメイン名とコンピュータが判読できるIPアドレスを対応させる重要な役割を担っている。これにより、ユーザーは長いIPアドレスを入力することなく、Webサイトやアプリケーションに接続できる。
- 80番ポート
- HTTPは「World Wide Web」(WWW)を支えるプロトコルだで、Webページの閲覧に使われる。
- 123番ポート
- 「NTP」(Network Time Protocol)は、コンピュータの時計を同期させるために使われ、暗号化通信に不可欠な仕組みだ。・179番ポート
- 「BGP」(Border Gateway Protocol)は、インターネットを構成する大規模ネットワークまたは自律システム間で経路を確立するのに使われるプロトコル。大規模ネットワークはBGPを使用して、管理中のIPアドレスをブロードキャストする。
- 443番ポート
- 「HTTPS」はHTTPに似ているが、HTTPよりもセキュリティ機能が強化されている。HTTPSのWebトラフィックはすべて、443番ポートに直接送信される。「DoH」(DNS over HTTPS)など、暗号化にHTTPSを使用するネットワークサービスも、すべてこの443番ポートに直接接続する。
- 500番ポート
- 「ISAKMP」(Internet Security Association and Key Management Protocol)は、「IPsec」(Internet Protocol Security)の設定をサポートして、データ転送の安全性を確保する。
- 3389番ポート
- 「RDP」(Remote Desktop Protocol)は、ユーザーが別のデバイスからリモートでデスクトップコンピュータに接続できるようにするためのプロトコル。
上記のポート番号はすべて、IANA(Internet Assigned Numbers Authority:インターネット番号割当機関)が管理し、割り当てている。
併せて読みたいお薦め記事
連載:ポート番号とその役割
445番ポートに潜むリスク
- 「445番ポート」の“謎” どのような仕組みか? セキュリティのリスクは?
- 「445番ポート」はなぜ攻撃者の標的になるのか あの「WannaCry」でも悪用
- 「445番ポート」悪用攻撃に耐え切る具体的な方法
オープンポートとポートスキャン
オープンポートとは、アクティブとなっており、リクエストを受信できる状態にあるポート番号のことだ。ネットワーク経由で通信を受信できるようにしたいプログラムがある場合は、そのプログラムをシステムのネットワークプロセスに登録してポート番号を開く。システムは、そのポート番号宛てのネットワークトラフィックを受信すると、プログラムに転送する。
ポートスキャンは、あるIPアドレスまたはIPアドレス範囲のすべてのポート番号に対して、応答するかどうかを確認する処理を指す。対象となるのは、多数のIPアドレスの単一ポートか、1つのIPアドレスのすべてのポートであることが多い。ポートスキャンは、悪用を試みる攻撃者が潜在的な標的を見つけ出すための手段としてよく用いられる。
ファイアウォールとポート
ファイアウォールは2つのネットワークのあいだに設置され、ネットワーク間でどの通信を通過させるのかを制御する役割を担う。ファイアウォールには、ハードウェアとして物理的にネットワーク同士を接続するタイプもあれば、ソフトウェア型のタイプもある。一般的に、ファイアウォールはIPアドレスとポート番号を基に、通信を許可するか拒否するかを判断する。
IT管理者はファイアウォールのルールを設定することで、必要なITリソースへの接続を可能にしつつ、不正アクセスを遮断できる。例えば、インターネットにWebページを公開しているサーバがあるとしよう。この場合、ファイアウォールは任意のIPアドレスからのHTTP(80番ポート)およびHTTPS(443番ポート)経由の接続のみを許可し、それ以外のポートへのアクセスはすべてブロックするよう設定されているはずだ。
つまり、リモートデスクトップでこのサーバに接続しようとしても、その通信はブロックされる。リモート管理を可能にするには、特定のIPアドレスからの接続に対してのみ、RDP(3389番ポート)を許可するルールを追加する必要がある。
次回は、ポート番号に関連するよくある質問と、その答えをまとめる。
Copyright © ITmedia, Inc. All Rights Reserved.