一覧
代表的なポート番号とセキュリティ上閉じることが推奨されているポート番号をまとめる。
※クライアントPCを想定。あくまで慣習的な話であって、もちろん「閉じる」としているポートも使い方を把握して適切に開ける分には問題ない。サーバー用のPCであれば適宜必要なポートは開ける。
ポート番号 | サービス名 | 推奨されるセキュリティ上の対策 | 備考 |
---|---|---|---|
20 | FTP | 基本的には閉じる | データ用 |
21 | FTP | 基本的には閉じる | 制御用 |
22 | SSH | 必要最小限に制限 | - |
23 | Telnet | 閉じる | SSHを使用する |
25 | SMTP | 必要最小限に制限 | あえてウェルノウンポートを使わない対策もある(587番、2525番など) |
53 | DNS | 必要最小限に制限 | - |
67 | DHCP | 閉じる | DHCP - サーバ |
68 | DHCP | 必要最小限に制限 | DHCP - クライアント |
69 | TFTP | 閉じる | 簡易FTPサービス |
80 | HTTP | 必要最小限に制限 | HTTPSを使用する |
110 | POP3 | 必要最小限に制限 | メール受信 |
123 | NTP | 必要最小限に制限 | (Network Time Protocol) |
137-139 | NetBIOS | 閉じる | (Network Basic Input/Output System) |
143 | IMAP | 必要最小限に制限 | メール受信 |
161 | SNMP | 閉じる | ネットワーク管理 |
162 | SNMP Trap | 閉じる | ネットワーク管理:異常報告用 |
389 | LDAP | 必要最小限に制限 | - |
443 | HTTPS | 必要最小限に制限 | - |
445 | SMB | 必要最小限に制限 | Windowsのファイル共有プロトコル |
465 | SMTPS | 必要最小限に制限 | (SMTP over TLS) あえてウェルノウンポートを使わない対策もある(587番、2525番など) |
514 | syslog (UDP) | 閉じる | - |
514 | rsh (TCP) | 閉じる | リモートシェル |
636 | LDAPS | 必要最小限に制限 | (LDAP over SSL/TLS) |
873 | rsync | 閉じる | - |
993 | IMAPS | 必要最小限に制限 | (IMAP over SSL/TLS) |
995 | POP3S | 必要最小限に制限 | (POP3 over SSL/TLS) |
1433 | MS SQL Server | 閉じる | - |
3306 | MySQL | 適切な認証やアクセス制御が必要 | あえてデフォルトポート番号を使わない対策もある |
3389 | RDP | 適切な認証やアクセス制御が必要 | - |
5432 | PostgreSQL | 適切な認証やアクセス制御が必要 | - |
【補足】 ポートを閉じる意味
ポートを閉じることは、攻撃者が不正アクセスを試みる際の障壁となり、セキュリティを強化するために重要になる。
一般的にポート番号が開いている場合、そのポートに対応するサービスが提供されていることが多いため、攻撃のリスクが高まる。
例えば、Webサーバー(HTTP)には一般的にTCPポート80が割り当てられている。
攻撃者はWebサーバーに対してポート80が開いていることがわかれば既知の脆弱性を突く攻撃を試みる可能性などがある。
脆弱性の識別子であるCVEとして公開されている既知の脆弱性は多くの場合最新バージョンでは対策用のパッチが用意されており、最新バージョンであれば攻撃が成功しないことが多いが、
バージョン更新を怠っているサーバーなどは攻撃者にとって都合のいい攻撃対象になりやすい。
常日頃からバージョン更新を行うのであればまだしも、そもそも不要なポートを開いていなければそんな心配もする必要がない。
したがって、セキュリティを強化するためには不要なポートを閉じることが重要と言える。
【補足】ポートを閉じる方法
(ポートを塞ぐ - Linux技術者認定 LinuC | LPI-Japan)
一つは、「アプリケーション側の対応を行う」です。そもそも、「ポートが開く」とはどういうことなのかを考えてみましょう。たとえば、ApacheなどのWebサーバアプリケーションを起動すると、(特別な設定をしない限り)Well known portsである80番ポートが開き、80番ポートでの通信の待ちうけを開始します。
これを考えると、サーバアプリケーションを停止すれば、自動的にポートが閉じます。「余計なアプリケーションを起動してはいけない」というお話しにつながりますね。
もう一つは、「通信を制限する」という方法です。代表的なのが「パケットフィルタリング」という手法です。パケットフィルタリングを利用すると、特定のポートの通信、特定のIPアドレスの通信をシャットアウトすることができます。Linuxでは「iptables」というコマンドによってパケットフィルタリングを行うことができます。iptablesコマンドを利用すると、どのような通信を遮断するのかなどを細かく指定できるので、「あるホストから、特定のポートを遮断する」といったこともできます。
どのポートが開いているか?を調べるには、「netstatコマンド」「lsofコマンド」「nmapコマンド」などのコマンドがあります。ここではそれぞれのコマンドについての詳細は割愛しますが、netstatとlsofは「自分がどのポートを開けているか?」を知るために、nmapは「他ホストがどのポートを開けているか?」を知るために使われます。パケットフィルタリングを施した場合、netstatやlsofではポートが空いているように見える場合もあるので注意が必要になります。