インターネットや社内ネットワークを通じてデータをやり取りする際、コンピュータは「IPアドレス」を使用して相手を特定します。
しかし、IPアドレスだけでは、相手のコンピュータに届いたデータが「メール」なのか「Webサイトの閲覧リクエスト」なのかを判断することができません。
そこで重要になるのが「ポート番号」という仕組みであり、その中でも特に重要な役割を果たすのがウェルノウンポート(システムポート)です。
この記事では、ネットワーク通信の根幹を支えるウェルノウンポートの定義や、代表的なポート番号の種類、そしてセキュリティ上の注意点について詳しく解説します。
ウェルノウンポート(システムポート)とは何か
ウェルノウンポートとは、TCP/IP通信において、特定の主要なプロトコルやサービスが使用するためにあらかじめ予約されているポート番号のことです。
ポート番号は0から65535まで存在しますが、その中でも0番から1023番までの範囲がウェルノウンポートとして定義されています。
この範囲のポートは、IANA(Internet Assigned Numbers Authority)という国際機関によって厳格に管理されています。
一般的には「システムポート」とも呼ばれ、OS(オペレーティングシステム)の権限で動作する重要な通信サービスがこれを利用します。
例えば、私たちがWebブラウザでWebサイトを閲覧する際には、自動的に80番や443番というポートが利用されています。
このように、あらかじめ番号と役割が固定されていることで、通信の送り手と受け手がスムーズに情報を交換できるようになっています。
ポート番号とIPアドレスの関係性
ネットワーク通信におけるIPアドレスとポート番号の関係は、よく「住所と部屋番号」に例えられます。
IPアドレスが「マンションの住所」を示すのであれば、ポート番号は「そのマンション内のどの部屋(サービス)に届けるか」を指定する役割を持ちます。
一つのコンピュータ(一つのIPアドレス)内では、メールサーバーやWebサーバーなど、複数のプログラムが同時に動いています。
ポート番号がなければ、到着したデータがどのプログラム宛てのものなのかを判別できず、通信が成立しません。
ウェルノウンポートは、この「部屋番号」のうち、公共性の高い主要なサービスのために予約された特別な区画であると言えるでしょう。
ポート番号の3つの分類
ポート番号は、その役割と管理主体によって大きく3つのカテゴリに分けられます。
第一のカテゴリが、今回解説しているウェルノウンポート(0〜1023)です。
第二のカテゴリは「登録ポート(Registered Ports)」と呼ばれ、1024番から49151番までの範囲を指します。
登録ポートは、特定のベンダーが自社のアプリケーション(例:データベースソフトやゲームなど)のためにIANAに登録して使用する番号です。
第三のカテゴリは「動的・プライベートポート(Dynamic/Private Ports)」で、49152番から65535番までの範囲を指します。
この範囲は自由に使用することが可能で、主にクライアント側が一時的な通信セッションのためにランダムに割り当てて使用します。
代表的なウェルノウンポートの一覧と役割
ウェルノウンポートには、私たちが日常的に利用しているインターネットサービスのほとんどが含まれています。
ここでは、代表的なポート番号とその役割を一覧にまとめました。
| ポート番号 | プロトコル名 | 主な役割と内容 |
|---|---|---|
| 20 / 21 | FTP | ファイル転送。20番がデータ転送、21番が制御用。 |
| 22 | SSH | 暗号化された遠隔ログインとコマンド実行。 |
| 23 | Telnet | 遠隔ログイン。通信が暗号化されないため現在は非推奨。 |
| 25 | SMTP | メールの送信およびサーバー間での転送。 |
| 53 | DNS | ドメイン名とIPアドレスの名前解決。 |
| 67 / 68 | DHCP | IPアドレスの自動割り当て。67番がサーバー、68番がクライアント。 |
| 80 | HTTP | Webブラウザとサーバー間の通信(暗号化なし)。 |
| 110 | POP3 | メールの受信(サーバーからメールを取り出す)。 |
| 123 | NTP | 時刻同期。ネットワーク上の機器の時間を合わせる。 |
| 143 | IMAP | メールの受信(サーバー上でメールを管理する)。 |
| 443 | HTTPS | 暗号化されたWeb通信(SSL/TLSを利用)。 |
Web通信に関わるポート:80番と443番
Webサイトの閲覧に不可欠なのが、80番と443番のポートです。
80番ポートは「HTTP(HyperText Transfer Protocol)」が使用し、WebサーバーからブラウザへHTMLデータなどを送る際に使われます。
しかし、80番ポートの通信は内容が平文(暗号化されていない状態)であるため、盗聴のリスクがあります。
これを解決するために普及したのが、443番ポートを使用する「HTTPS」です。
443番ポートでは通信内容がSSL/TLSによって暗号化されるため、個人情報やクレジットカード情報の入力を安全に行うことができます。
メール送受信に関わるポート:25番・110番・143番
メールサービスも複数のウェルノウンポートを組み合わせて成り立っています。
25番ポートは「SMTP(Simple Mail Transfer Protocol)」が使用し、メールを送信したりサーバー間でリレーしたりする役割を担います。
受信側のプロトコルには、主に110番の「POP3」と143番の「IMAP」があります。
POP3はサーバーから自分の端末へメールをダウンロードして管理する形式であり、IMAPはサーバー上にメールを置いたまま管理する形式です。
最近では、これらのメール通信も暗号化(SMTPSやPOP3Sなど)して行われることが一般的になっています。
遠隔操作と管理のポート:22番と23番
サーバーを遠隔地から操作するために使用されるのが、22番や23番のポートです。
かつては23番ポートの「Telnet」が広く使われていましたが、通信内容が暗号化されないという致命的な脆弱性がありました。
そのため、現在では強力な暗号化機能を備えた22番ポートの「SSH(Secure Shell)」が標準的に利用されています。
SSHを利用することで、パスワードやコマンド入力を安全に保護しながらサーバー管理を行うことが可能になります。
ウェルノウンポートとセキュリティの重要性
ウェルノウンポートは世界共通のルールであるため、攻撃者にとっても「どの番号を狙えばどのサービスを攻撃できるか」が明確であるという側面を持ちます。
そのため、サーバーのセキュリティ対策においてポート管理は極めて重要な要素となります。
不必要なウェルノウンポートを開放したままにすることは、悪意のある第三者に侵入口を与えることと同義です。
ここでは、ウェルノウンポートにまつわる代表的なセキュリティリスクと対策について解説します。
ポートスキャンによる調査
攻撃者が最初に行う調査活動の一つに「ポートスキャン」があります。
これは、対象のサーバーに対して順番に通信を試み、どのポートが「Open(開放)」状態にあるかを確認する行為です。
例えば、22番ポートが開放されていれば「このサーバーはSSHを受け付けている」と判断され、パスワードの総当たり攻撃(ブルートフォース攻撃)の標的になります。
システム管理者は、自社サーバーで稼働しているサービスを把握し、不要なポートは必ず閉じておくことが求められます。
ファイアウォールによるアクセス制限
ウェルノウンポートを安全に運用するためには、ファイアウォールの設定が欠かせません。
ファイアウォールは、特定のポート番号に対する通信を「許可」または「拒否」する壁のような役割を果たします。
Webサーバーであれば、外部からのアクセスに対して80番と443番だけを開放し、それ以外のポートはすべて遮断するのが鉄則です。
また、保守管理用の22番(SSH)ポートなどは、特定の管理者のIPアドレスからのみ接続を許可するように制限することが推奨されます。
脆弱性を狙った攻撃への対策
特定のウェルノウンポートで動作しているプログラム自体に「脆弱性」が見つかることもあります。
例えば、Webサーバーソフト(ApacheやNginxなど)の古いバージョンに欠陥がある場合、80番ポートを通じてサーバーが乗っ取られる恐れがあります。
ポートを開放している以上、そのポートの奥で動いているソフトウェアは常に最新の状態に保たなければなりません。
セキュリティパッチを適用し、安全な設定を維持することが、ウェルノウンポートを運用する上での義務と言えます。
開発者や管理者が知っておくべき補足知識
ネットワークの現場では、ウェルノウンポートのルールに従いつつも、状況に応じて柔軟な対応が必要になるケースがあります。
ここでは、実務で役立ついくつかの知識を紹介します。
ポート番号の変更によるセキュリティ対策(ポート変更)
セキュリティ対策の一環として、あえて標準的なウェルノウンポートとは異なる番号にサービスを割り当てることがあります。
例えば、SSHの待ち受けポートを22番から「10022番」などの登録ポート範囲に変更する手法です。
これは「Security by Obscurity(隠蔽によるセキュリティ)」と呼ばれ、簡易的な攻撃(自動ボットによるスキャンなど)を回避する効果があります。
ただし、これは根本的な解決策ではないため、強力な認証設定と併用することが前提となります。
プロトコルとポートの対応確認コマンド
現在、自分のコンピュータやサーバーでどのポートが使用されているかを確認するには、コマンドラインツールを使用します。
WindowsやLinuxで共通して利用できるのがnetstatコマンドです。
# 開いているポートとプログラムの一覧を表示する(Linuxの例)
netstat -tunlp
このコマンドを実行すると、現在「LISTEN(待ち受け)」状態にあるポート番号が表示されます。
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1024/sshd
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 2048/nginx
このように実行結果を確認することで、意図しないポートが開放されていないかをチェックすることができます。
特権ポートとしての制限
UNIX系のOS(LinuxやmacOSなど)では、1023番以下のポート(ウェルノウンポート)を使用するプロセスを開始するには、管理者権限(root権限)が必要です。
これは、一般ユーザーが勝手に主要なサービスを偽装して立ち上げることを防ぐためのセキュリティ上の仕様です。
Webサーバーの開発などで、管理者権限なしでプログラムをテストしたい場合は、8080番や8000番といった登録ポートの範囲が代用としてよく使われます。
まとめ
ウェルノウンポート(システムポート)は、インターネット通信において「どのサービスがどの番号を使うか」を定義した共通の約束事です。
0番から1023番までの範囲に、HTTP、HTTPS、SSH、DNSといった現代のデジタル社会を支える不可欠なプロトコルが凝縮されています。
私たちが普段意識することなくインターネットを利用できるのは、このポート番号という交通整理の仕組みが正しく機能しているおかげです。
しかし、ウェルノウンポートはその利便性の反面、攻撃者にとっても明確なターゲットとなりやすいというリスクを抱えています。
ネットワークを管理・構築する際には、各ポートの役割を正しく理解し、最小権限の原則に基づいて適切にアクセスを制限することが極めて重要です。
この記事で紹介した一覧やセキュリティの考え方を参考に、より安全で効率的なネットワーク運用を目指してください。
