主要なポート番号とその意味
ポートは16ビットの番号で、受信したネットワークデータをコンピューター上のどのプログラムに渡すかを示します。IPアドレスが正しいマシンを見つけ、ポートがそのマシン上の正しいサービスを見つけます。たとえばHTTPSなら443、メール配送なら25です。ポートは0から65535までで、サービスは、クライアントが接続してくるまでそのポートで「待ち受け(リッスン)」ます。
ポートとは
1つの接続は、プロトコル(TCPまたはUDP)、送信元アドレスとポート、宛先アドレスとポートの5つの値で識別されます。ブラウザーは接続ごとにランダムな送信元ポートを選びますが、宛先ポートはサービスによって固定されています。標準のポート番号が重要なのはこのためで、ブラウザーはhttps://が443番を意味することを、指定されなくても知っています。
TCPとUDP
- TCPはコネクション型です。接続を確立し、データに番号を付け、失われた部分を再送し、順序どおりに届けます。Web、メール、SSH、データベースはTCPを使います。
- UDPは、接続も再送もなく、独立したデータグラムを送ります。遅延が小さく、オーバーヘッドも少なくて済みます。DNSクエリ、DHCP、NTP、多くの音声・映像サービスがUDPを使います。
TCPの80番とUDPの80番は別物です。53番のDNSのように、両方を使うサービスもあります。各層の関係については、OSI参照モデルをご覧ください。
ポートの範囲
IANA(Internet Assigned Numbers Authority)は、ポートを3つの範囲に分けています。
| 範囲 | 名称 | 用途 |
|---|---|---|
| 0 – 1023 | ウェルノウンポート(システムポート) | HTTP、SSH、SMTPなどの基本的なサービス。Unix系のシステムでは、特権プロセスだけがここで待ち受けられます。 |
| 1024 – 49151 | 登録済みポート | IANAに登録されたアプリケーション。例:MySQL (3306)、PostgreSQL (5432)。 |
| 49152 – 65535 | ダイナミックポート(エフェメラルポート) | クライアントが選ぶ一時的な送信元ポート。OSによって既定の範囲は異なり、たとえばLinuxは32768 – 60999を使います。 |
登録されていても、その用途が保証されるわけではありません。どのプログラムも空いている任意のポートで待ち受けでき、2222番でSSHを動かすなど、標準外のポートで動くサービスもあります。
よく使われるポートとその用途
| ポート | プロトコル | サービス | 用途 | |
|---|---|---|---|---|
| 20 | TCP | FTP data | ファイル共有 | FTPのデータチャネル(アクティブモード)。 |
| 21 | TCP | FTP | ファイル共有 | ファイル転送プロトコル(FTP)の制御チャネル。パスワードが平文で送信されるため、SFTPまたはFTPSの利用をおすすめします。 |
| 22 | TCP | SSH | リモートアクセス | Secure Shell:暗号化されたリモートログイン、SFTP/SCPによるファイル転送、トンネル。 |
| 23 | TCP | Telnet | リモートアクセス | 暗号化されないリモート端末。インターネットに公開してはいけません。 |
| 25 | TCP | SMTP | メール | サーバー間のメール転送。多くのISPは、家庭向け回線で外向きの25番を遮断しています。 |
| 53 | TCP/UDP | DNS | ネットワークサービス | ドメインネームシステムの問い合わせ。通常のクエリはUDP、大きな応答やゾーン転送にはTCPを使います。 |
| 67 | UDP | DHCP server | ネットワークサービス | DHCPサーバー:ローカルネットワークでIPアドレスを配布します。 |
| 68 | UDP | DHCP client | ネットワークサービス | DHCPクライアント側。 |
| 69 | UDP | TFTP | ファイル共有 | Trivial FTP。ネットワークブート(PXE)やデバイスのファームウェア転送に使われます。 |
| 80 | TCP | HTTP | Web | 暗号化されないWeb通信。現在は主にHTTPSへのリダイレクトに使われます。 |
| 110 | TCP | POP3 | メール | メールボックスからのメール受信(暗号化なし)。 |
| 123 | UDP | NTP | ネットワークサービス | Network Time Protocol:時刻の同期。 |
| 135 | TCP | MS RPC | ファイル共有 | Microsoft RPCのエンドポイントマッパー。インターネットには公開しないでください。 |
| 137 | UDP | NetBIOS name | ファイル共有 | NetBIOS名前サービス(旧来のWindowsネットワーク)。 |
| 139 | TCP | NetBIOS session | ファイル共有 | NetBIOSセッションサービス、旧来のSMB。 |
| 143 | TCP | IMAP | メール | サーバー上でのメール閲覧(暗号化なし、またはSTARTTLSで暗号化)。 |
| 161 | UDP | SNMP | 監視 | Simple Network Management Protocol:デバイスの監視。 |
| 162 | UDP | SNMP trap | 監視 | SNMPトラップ:デバイスから送信されるアラート。 |
| 179 | TCP | BGP | ネットワークサービス | Border Gateway Protocol:ネットワーク間(ISP間)のルーティング。 |
| 389 | TCP | LDAP | ディレクトリ | ディレクトリへのアクセス(Active Directory、OpenLDAP)。 |
| 443 | TCP/UDP | HTTPS | Web | 暗号化されたWeb通信(TLS)。UDP 443ではHTTP/3(QUIC)が使われます。 |
| 445 | TCP | SMB | ファイル共有 | Windowsのファイル共有。攻撃対象になりやすいため、インターネットには絶対に公開しないでください。 |
| 465 | TCP | SMTPS | メール | 暗黙のTLSによるメール送信。 |
| 500 | UDP | IKE | VPN | IPsec VPNの鍵交換。 |
| 514 | UDP | Syslog | 監視 | システムログの転送。 |
| 587 | TCP | Submission | メール | クライアントによるメール送信。STARTTLSと認証を使用します。 |
| 636 | TCP | LDAPS | ディレクトリ | TLS上のLDAP。 |
| 853 | TCP | DNS over TLS | ネットワークサービス | 暗号化されたDNS(DoT)。 |
| 873 | TCP | rsync | ファイル共有 | ファイル同期用のrsyncデーモン。 |
| 993 | TCP | IMAPS | メール | TLS上のIMAP。 |
| 995 | TCP | POP3S | メール | TLS上のPOP3。 |
| 1194 | UDP | OpenVPN | VPN | OpenVPNの既定ポート。 |
| 1433 | TCP | MS SQL | データベース | Microsoft SQL Server。 |
| 1521 | TCP | Oracle | データベース | Oracleデータベースのリスナー。 |
| 1701 | UDP | L2TP | VPN | L2TP VPN。 |
| 1723 | TCP | PPTP | VPN | PPTP VPN。旧式で安全ではありません。 |
| 1883 | TCP | MQTT | IoT・デバイス | IoTデバイス向けのMQTTメッセージング。 |
| 2049 | TCP | NFS | ファイル共有 | Network File System(NFS)。 |
| 3306 | TCP | MySQL | データベース | MySQL / MariaDB。データベースはファイアウォールの内側に置いてください。 |
| 3389 | TCP | RDP | リモートアクセス | Windowsリモートデスクトップ。ブルートフォース攻撃を非常に多く受けるため、VPNの内側に置いてください。 |
| 3478 | UDP | STUN/TURN | VoIP | WebRTC、ビデオ通話、ゲーム向けのNATトラバーサル。 |
| 4500 | UDP | IPsec NAT-T | VPN | NAT越えのIPsec。 |
| 5060 | TCP/UDP | SIP | VoIP | VoIP通話のシグナリング。 |
| 5061 | TCP | SIP TLS | VoIP | TLS上のSIP。 |
| 5432 | TCP | PostgreSQL | データベース | PostgreSQLデータベース。 |
| 5900 | TCP | VNC | リモートアクセス | VNCリモートデスクトップ。 |
| 6379 | TCP | Redis | データベース | Redisインメモリストア。パスワードなしで公開されたままになっていることがよくあります。 |
| 8080 | TCP | HTTP alt | Web | 代替HTTPポート:プロキシ、アプリケーションサーバー、管理画面など。 |
| 8443 | TCP | HTTPS alt | Web | 代替HTTPSポート。 |
| 9100 | TCP | Printer | IoT・デバイス | ネットワーク直接印刷(JetDirect)。 |
| 9200 | TCP | Elasticsearch | データベース | Elasticsearch REST API。 |
| 11211 | TCP | Memcached | データベース | Memcachedキャッシュ。 |
| 25565 | TCP | Minecraft | ゲーム | Minecraft Java Editionサーバー。 |
| 27015 | TCP/UDP | Steam / Source | ゲーム | Sourceエンジンのゲームサーバー(CS、TF2など)。 |
| 27017 | TCP | MongoDB | データベース | MongoDBデータベース。 |
| 51820 | UDP | WireGuard | VPN | WireGuard VPNの既定ポート。 |
ポートが開いているか確認する方法
外部からポートをテストするには、当サイトのポートチェッカーをご利用ください。入力したホストとポートにTCP接続を試み、次の3つのいずれかの結果を返します。
- Open(開放):サービスが接続を受け付けました。ホストには到達でき、何かが待ち受けています。
- Closed(閉鎖):ホストは応答しましたが、接続を拒否しました(TCPリセット)。ネットワーク経路は通っていますが、そのポートで待ち受けているプログラムはありません。
- Filtered(フィルタ):タイムアウトまでに応答がありませんでした。ファイアウォールがパケットを黙って破棄している可能性が高いです。ホストがオフラインの場合もあります。
お使いのコンピューターからは、次のコマンドでテストできます。
Test-NetConnection -ComputerName example.com -Port 443 (Windows PowerShell)
nc -vz example.com 443 (Linux, macOS)
ss -tlnp (Linux: list local listening ports)
netstat -ano (Windows: list local connections)
UDPのテストはより困難です。応答がないことが「開放」と「フィルタ」のどちらも意味しうるためです。このため、オンラインのポートチェッカーは主にTCPをテストします。
セキュリティの助言:公開してはいけないポート
開いているポートはすべて、侵入口になりえます。必要なものだけを開き、それ以外は閉じてください。一部のサービスは、インターネット全体から到達できる状態にすべきではありません。
- Telnet (23):パスワードを平文で送信します。代わりにSSH (22)を使ってください。
- SMB (445)とNetBIOS (137-139):Windowsのファイル共有です。多数のワームやランサムウェア攻撃の標的になってきました。インターネットには絶対に公開しないでください。
- RDP (3389):リモートデスクトップは、パスワード推測攻撃の標的としてよく狙われます。VPNや、多要素認証付きのゲートウェイの内側に置いてください。
- データベース:MySQL (3306)、PostgreSQL (5432)、SQL Server (1433)、MongoDB (27017)、Redis (6379)、Elasticsearch (9200)。必要なアプリケーションサーバーだけに許可してください。
- FTP (21):暗号化されません。SFTPまたはFTPSを使ってください。
- SSH (22):鍵認証を使い、パスワードログインを無効にし、接続元アドレスを制限すれば許容できますが、自動化されたログイン試行が絶えず来ることは覚悟してください。
一般的なルールは次のとおりです。受信トラフィックは既定ですべて拒否し、特定のポートだけを許可する。可能であれば接続元アドレスで制限する。各ポートの背後にあるソフトウェアを最新に保つ。自分のサーバーを定期的にスキャンして、開いているものを想定と比較する。理由が分からないまま開いているポートは、調査してください。
関連記事
ポートとIPアドレスの関係については、IPアドレスとはをお読みください。特定のサービスをいますぐテストするには、ポートチェッカーをご利用ください。