「ポート80とか443って何の番号?」「ファイアウォールで開放するポートってどう決めるの?」
ネットワークやサーバーの設定をしていると、必ず出てくる「ポート番号」。22、80、443など、よく見かける数字ですが、その意味をちゃんと理解していますか?
この記事では、ポート番号の基本と、インフラエンジニアが覚えておくべきポート番号を紹介します。
ポート番号とは?
「アプリケーションの窓口番号」
ポート番号は、コンピュータ上で動いているアプリケーション(サービス)を識別するための番号です。
IPアドレスが「建物の住所」だとすると、ポート番号は「部屋番号」のようなもの。同じ建物(サーバー)の中に、複数の部屋(サービス)があり、それぞれに番号が振られています。
具体例で考えてみよう
1台のサーバーで複数のサービスを動かすことは珍しくありません:
- Webサーバー(ポート80)
- SSH接続(ポート22)
- メールサーバー(ポート25)
クライアント(ユーザーのPC)は、「このサーバーの80番ポートに接続したい」と指定することで、目的のサービスに正しくアクセスできます。
ポート番号の範囲
ポート番号は0〜65535の範囲で使用できます。この範囲は3つに分類されています:
| 範囲 | 名称 | 説明 |
|---|---|---|
| 0〜1023 | ウェルノウンポート | 主要なサービス用に予約されている |
| 1024〜49151 | 登録済みポート | アプリケーションが登録して使用 |
| 49152〜65535 | 動的/プライベートポート | 一時的な通信に使用 |
特に0〜1023のウェルノウンポートは、HTTP、SSH、FTPなど主要なサービスに割り当てられており、インフラエンジニアとして覚えておくべき番号です。
TCPとUDPの違い
ポート番号の話をする前に、TCPとUDPについて簡単に説明しておきます。
TCP(Transmission Control Protocol)
データを確実に届けることを重視するプロトコル。
- データが届いたか確認する(信頼性が高い)
- 順番通りにデータを届ける
- 速度よりも正確さを優先
使用例:Web閲覧、メール送受信、ファイル転送など
UDP(User Datagram Protocol)
速度を重視するプロトコル。
- データが届いたか確認しない
- 軽量で高速
- 正確さよりも速度を優先
使用例:動画ストリーミング、オンラインゲーム、DNSなど
| 項目 | TCP | UDP |
|---|---|---|
| 信頼性 | 高い | 低い |
| 速度 | 遅め | 速い |
| 用途 | 正確さ重視 | リアルタイム性重視 |
覚えておくべきポート番号一覧
インフラエンジニアとして、最低限覚えておきたいポート番号を紹介します。
超重要!絶対に覚えるべきポート
| ポート番号 | プロトコル | サービス | 用途 |
|---|---|---|---|
| 22 | TCP | SSH | リモートログイン(暗号化) |
| 80 | TCP | HTTP | Webサイト閲覧 |
| 443 | TCP | HTTPS | Webサイト閲覧(暗号化) |
この3つは毎日のように使うので、絶対に覚えてください。
ネットワーク関連のポート
| ポート番号 | プロトコル | サービス | 用途 |
|---|---|---|---|
| 20 | TCP | FTP(データ) | ファイル転送(データ用) |
| 21 | TCP | FTP(制御) | ファイル転送(制御用) |
| 23 | TCP | Telnet | リモートログイン(非暗号化) |
| 53 | TCP/UDP | DNS | 名前解決 |
| 67/68 | UDP | DHCP | IPアドレス自動割り当て |
メール関連のポート
| ポート番号 | プロトコル | サービス | 用途 |
|---|---|---|---|
| 25 | TCP | SMTP | メール送信 |
| 110 | TCP | POP3 | メール受信 |
| 143 | TCP | IMAP | メール受信(サーバー保存) |
| 465 | TCP | SMTPS | メール送信(暗号化) |
| 587 | TCP | Submission | メール送信(認証付き) |
| 993 | TCP | IMAPS | メール受信(暗号化) |
| 995 | TCP | POP3S | メール受信(暗号化) |
データベース関連のポート
| ポート番号 | プロトコル | サービス |
|---|---|---|
| 3306 | TCP | MySQL / MariaDB |
| 5432 | TCP | PostgreSQL |
| 1433 | TCP | Microsoft SQL Server |
| 1521 | TCP | Oracle Database |
| 6379 | TCP | Redis |
| 27017 | TCP | MongoDB |
その他よく使うポート
| ポート番号 | プロトコル | サービス | 用途 |
|---|---|---|---|
| 123 | UDP | NTP | 時刻同期 |
| 161/162 | UDP | SNMP | ネットワーク監視 |
| 389 | TCP | LDAP | ディレクトリサービス |
| 636 | TCP | LDAPS | LDAP(暗号化) |
| 3389 | TCP | RDP | Windowsリモートデスクトップ |
| 8080 | TCP | HTTP代替 | 開発用Webサーバーなど |
ポート番号の覚え方・語呂合わせ
主要なポートを覚えるための語呂合わせやヒントを紹介します。
| ポート | 覚え方 |
|---|---|
| 22(SSH) | 「22」→「夫婦」→ 安全に繋がる |
| 80(HTTP) | 「ハチマル」→ Web の基本 |
| 443(HTTPS) | 「良い(4)よ、サンキュー(43)」→ 安全な接続 |
| 25(SMTP) | 「ニコ(25)っとメール送信」 |
| 53(DNS) | 「ゴミ(53)を名前解決」 |
| 3306(MySQL) | 「MySQLサンザンマルロク」 |
| 3389(RDP) | 「サンサンハック(3389)でリモート」 |
正直、語呂合わせより使っているうちに自然と覚えるほうが多いです。まずは22、80、443の3つを完璧に覚えましょう。
ポート番号の確認方法
実際にポートが使われているか確認する方法を紹介します。
Linuxでの確認
# 現在使用中のポートを確認
ss -tuln
# または
netstat -tuln
# 特定のポートを使っているプロセスを確認
lsof -i :80
Windowsでの確認
# 使用中のポートを確認
netstat -an
# 特定のポートを確認
netstat -an | findstr :80
セキュリティとポート番号
ポート番号はセキュリティにも深く関わります。
不要なポートは閉じる
使っていないポートを開けておくと、攻撃の入り口になる可能性があります。ファイアウォールで必要なポートだけを開放しましょう。
非標準ポートを使う
SSHのデフォルトポート22を、別の番号(例:2222)に変更することで、自動攻撃を回避しやすくなります。ただし、根本的な対策にはならないので、他のセキュリティ対策と組み合わせましょう。
危険なポートを知る
Telnet(23)やFTP(21)は暗号化されていないため、機密情報のやり取りには使わないようにしましょう。代わりにSSH(22)やSFTPを使います。
まとめ
この記事のポイントを整理します。
| 項目 | 内容 |
|---|---|
| ポート番号とは | アプリケーション(サービス)を識別する番号 |
| 範囲 | 0〜65535(0〜1023がウェルノウンポート) |
| 必須で覚えるポート | 22(SSH)、80(HTTP)、443(HTTPS) |
| TCP vs UDP | TCP=確実に届ける、UDP=高速 |
| セキュリティ | 不要なポートは閉じる、危険なポートは避ける |
ポート番号は、ネットワークやサーバー管理で毎日のように登場する知識です。一度にすべて覚える必要はありませんが、まずは主要なポートから押さえていきましょう。
実務で触れるうちに、自然と身についていきますよ!