ポートスキャンとは、ターゲットとなるホスト上で通信可能な状態となっているポートを探査することです。
ポートスキャンの目的
ポートスキャンを行うことによって次のようなサービスを見つけることができる。管理者側からすると、使用したいポートが通信可能であること、あるいは、使用していないポートが通信不能であることをコンピュータやルータの管理者が確認することです。攻撃者側からすると、稼働中のサービスを見つけることにより、脆弱性を利用して対象のシステムに侵入したり、他のホストを攻撃するために利用されるなどのアクションが考えられます。
セキュリティ上問題のあるサービス
元々、イントラネットなどの閉じたネットワークの中で使用することを前提としたプロトコルやサービスは数多くあります。仮にそうしたサービスがインターネットから利用可能であれば、その機能上の脆弱性差から、侵入や攻撃が容易に行える可能性があるため、侵入者にとっては非常に好都合です。このようなインターネットに公開すべきではないとされているサービスの一例は以下の通りです。ただし、該当するサービスが動作していなければ問題はありません。
サービス名 | ポート | 概要 |
telnet | 23 | Telnet |
tftp | 69 | 簡易FTPサービス |
pop3 | 110 | メール受信 |
snmp | 161 | SNMP(ネットワーク管理) |
snmptrap | 162 | SNMP(ネット枠―管理:異常報告用) |
rexec | 512 | UNIX環境のリモートコマンド実行 |
rlogin | 513 | UNIX環境のリモートログインサービス |
rsh | 514 | リモートシェル(TCP) |
syslog | 512 | ログメッセージを転送する規格 |
nfs | 2049 | Network File System |
既知のセキュリティーホールを持つサービス
一般的に利用されているOS、市販のソフトウェア、フリーウェアなどには、基地のセキュリティーホール(脆弱性)が数多くあります。通常は、開発元が提供してるパッチを適用したりバージョンアップを行ったりすることで対策は可能です。しかし、対策を行わずインターネット上に放置されているホストも多いです。ターゲットのホストからのバナー情報を調べることにより、セキュリティホールを持つサービスが稼働していることを確認できる可能性があります。
ポートスキャンの実行方法
ポートスキャンはTelnetクライアントなどを使用して手作業で行うことも可能ですが、無償で公開されているツールを利用する場合が大半です。代表的なポートスキャンツールとしては、nmapがあります。
ポートスキャンは、ツールを使用すれば、誰でも簡単に実行可能です。ただし、日本においては、不正アクセス禁止法により また、ウィルスにも組み込まれている場合があるので、インターネット上には絶えずポートスキャンの通信が飛び交っているのが実情です。
攻撃者によるポートスキャンへの対策
ポートスキャンは調査行為であり、ポートスキャンのみでシステムへの侵入されたり、 他のホストを攻撃するために利用されるなどされるわけではありません。しかし、十分な対策が行われていない場合は、脆弱性を露呈し、本格的な攻撃へとつながる場合があります。
予防・防止
- 不要なサービスを停止する
- OS及びアプリケーションのバージョンを最新化する
- ファイアウォールで不要なポートへのアクセスを遮断する
- 脆弱性検査を行い、セキュリティホールが塞がれているか確認する(問題があれば対処する)
検知・追跡
- ネットワーク監視型IDS、ホスト監視型IDS、IPSを用いて検知する
- ファイアウォールのログを確認する
- ホストのログから確認する
回復
予防・防止対策が万全であれば、ポートスキャンを受けても得問題はないため、回復処置は不要。予防・防止対策に不十分な箇所があれば対処する。