ポートスキャンはネットワークやサーバーの脆弱性を特定するための有効な技術ですが、サイバー攻撃の一環として利用されるケースも多く見られます。
この記事では、「ポートスキャンとは何か」という基本から、代表的な攻撃手法や被害内容、さらに有効な対策方法までを分かりやすく解説します。
- ポートスキャンの概要と目的
- ポートスキャンで得られる情報
- 代表的なポートスキャン手法
- ポートスキャン攻撃による被害内容
- ポートスキャン攻撃への具体的な対策
この記事を読むことで、ポートスキャンに対する理解を深め、セキュリティ対策に役立つ実践的な知識を得ることができます。
ポートスキャンとは
ポートスキャン(Port Scan)とは、ネットワーク上のサーバーやデバイスに対して、通信に使用されるポートが開いているか、閉じているかを確認する手法のことです。ポートスキャンは、ネットワークセキュリティや脆弱性診断において、システムの弱点を発見するための手段として活用されます。
ポートスキャンの目的
ポートスキャンの目的は、ネットワーク管理者やセキュリティエンジニアがシステムの脆弱性を評価し、潜在的なセキュリティリスクを早期に発見することです。例えば、意図しないポートが開放されていると、不正アクセスや攻撃の経路として利用される可能性があるため、定期的なポートスキャンによってリスクを検出し、適切な対策を講じる必要があります。
一般に使用されるポートスキャンツールは、サーバーで稼働しているサービスの種類やバージョン情報を収集する機能も備えており、これにより脆弱なバージョンのサービスや未更新のソフトウェアを特定することができます。
- 開放ポートの確認 : 不要なポートが開放されていないか確認する。
- サービスの稼働状況の確認 : 指定したポートで稼働しているサービスやバージョンを確認する。
サイバー攻撃に利用されることもある
ポートスキャンは本来、ネットワーク管理者がセキュリティ状況を把握したり、システムの正常性を確認したりするための手法です。しかし、その便利さが裏目に出ることもあり、攻撃者がサイバー攻撃の前段階としてポートスキャンを悪用するケースが多々あります。特に、ネットワーク内でどのポートが開放され、どのサービスが稼働しているかを把握するために用いられることが多く、この情報がサイバー攻撃を成功させるための貴重な手がかりとなるのです。
攻撃者はポートスキャンによって、ネットワーク内の各ホストが提供しているサービスのリストを作成し、それをもとに脆弱性を突いた攻撃を仕掛けます。例えば、脆弱性のあるポートが開放されていることが確認されれば、そこを突破口として不正アクセスやデータの盗み出し、マルウェアの感染など、次の段階の攻撃が実行されやすくなります。
ポートスキャンで得られる情報
開放されているポート
ポートスキャンを行うことで、対象システムで開放されているポート番号が分かります。開いているポートは、サービスやアプリケーションが外部との通信を許可していることを示します。
稼働中のサービスやアプリケーションの種類とバージョン情報
開放ポートが分かると、そのポートで稼働している具体的なサービス(例:Webサーバー、メールサーバーなど)を判別することができます。サービスの特定には、バナー情報を収集することが多く、これによりどのサービスがどのバージョンで動作しているかを確認できます。
OS情報
ポートスキャンの一部として行われるOSフィンガープリンティングにより、対象システムのOSを特定することができます。これにより、LinuxやWindowsといったOS種別や、場合によってはそのバージョンも判別することが可能です。
ネットワーク構成
各ポートの状態や応答を分析することで、Webサーバー、ルーター、データベースサーバー、ファイアウォールなど、デバイスの特性が明らかになり、内部ネットワークのトポロジー(構造)を把握することができます。
代表的なポート
ポート番号 | プロトコル | サービス | 説明 |
---|---|---|---|
20 | TCP | FTP (データ転送) | ファイル転送プロトコルのデータポート |
21 | TCP | FTP (制御) | ファイル転送プロトコルの制御ポート |
22 | TCP/UDP | SSH | セキュアなリモートログイン |
23 | TCP | Telnet | テキストベースのリモートログイン |
25 | TCP | SMTP | メール送信プロトコル |
53 | TCP/UDP | DNS | ドメインネームサービス |
67 | UDP | DHCP (サーバー側) | IPアドレスの自動割り当て (サーバー) |
68 | UDP | DHCP (クライアント側) | IPアドレスの自動割り当て (クライアント) |
80 | TCP | HTTP | ウェブページの標準通信プロトコル |
110 | TCP | POP3 | メール受信プロトコル |
119 | TCP | NNTP | ニュースグループ用プロトコル |
123 | UDP | NTP | 時刻同期プロトコル |
143 | TCP | IMAP | メール受信プロトコル (POP3の代替) |
161 | UDP | SNMP | ネットワーク管理プロトコル |
194 | TCP | IRC | インターネットリレーチャット |
443 | TCP | HTTPS | SSL/TLSによるセキュアなHTTP通信 |
465 | TCP | SMTPS | セキュアなSMTP (メール送信) |
993 | TCP | IMAPS | セキュアなIMAP (メール受信) |
995 | TCP | POP3S | セキュアなPOP3 (メール受信) |
ポートスキャンの仕組み
ポートスキャンは、以下のような流れで行われます。
ターゲット選定
まず、調査対象のデバイスのIPアドレス、またはネットワーク範囲を選定する。
ポート番号の選定
どのポートをスキャンするかを選ぶ。
パケット送信
指定したポートにパケットを送信し、応答を待つ。
応答解析
ターゲットからの応答を解析し、各ポートの状態を判断する。
ポートスキャンの種類
ポートスキャンにはさまざまな種類があり、それぞれ異なる目的や特性を持っています。以下では、代表的なポートスキャンの種類を詳しく解説します。
- TCPスキャン
- SYNスキャン
- FINスキャン
- Xmasスキャン(クリスマスツリースキャン)
- NULLスキャン
- UDPスキャン
TCPスキャン
TCPスキャンは、ポートスキャンの基本的な手法の一つで、ネットワーク上のデバイスにおけるTCPポートの開閉状態を確認するために用いられます。この手法では、標準的なTCP接続の手順に従ってスキャンを実行し、ターゲットホストがどのポートを開放しているかを特定することを目的としています。具体的には、TCPの「3ウェイハンドシェイク」を利用して、通信を確立するプロセスを踏むことで、ターゲットのポートが応答可能かを確認します。
SYNスキャン
SYNスキャンは、ハーフオープンスキャンとも呼ばれ、TCP通信の初期接続における「3ウェイハンドシェイク」の一部を利用して、対象ホストのポートの開閉状況を調べる手法です。このスキャン手法は、ステルス性が高く、高速で効果的なため、一般的に利用されることが多いです。
TCP通信における3ウェイハンドシェイクでは、クライアントが最初にSYNパケットをサーバーに送信し、サーバーはそれに対してSYN-ACKパケットで応答し、最終的にクライアントがACKパケットを返すことで接続が確立します。しかし、SYNスキャンでは、この3ウェイハンドシェイクを最後まで完了させず、接続確立前にスキャンが終了するため、ホスト側のログに残りにくく、検知が困難です。
FINスキャン
通常のTCP接続では、通信を開始する際にSYNパケットを送信し、サーバーからの応答によって接続が確立されます。しかし、FINスキャンではこの手順を踏まず、いきなり終了信号であるFINパケットを送信します。この特殊なスキャン方法はファイアウォールやIDS(侵入検知システム)に検知されにくいため、特にステルス性が求められる攻撃で利用されることが多いです。
Xmasスキャン(クリスマスツリースキャン)
Xmasスキャン(クリスマスツリースキャン)は、TCPパケットにおいて通常とは異なるフラグを複数設定することでターゲットシステムの反応を引き出す方法です。Xmasスキャンでは、TCPヘッダの複数のフラグ(FIN、PSH、URG)を同時に設定することで「点灯している」状態を作り出します。この設定状態が、まるでクリスマスツリーのライトが点灯しているように見えることから、Xmasスキャンという名前が付けられました。
NULLスキャン
NULLスキャンは、TCPフラグが一切設定されていない状態(フラグが「NULL」の状態)でパケットを送信し、ポートの状態を判断するスキャン手法です。通常、TCPパケットにはフラグが設定され、通信の目的や状態を示しますが、NULLスキャンではフラグが何も指定されていない異常なパケットを利用します。この異常な通信は一部の防御システムをすり抜けられることから、攻撃者が使うスキャン手法としても知られています。
UDPスキャン
UDPスキャンは、TCPと異なるUDP(User Datagram Protocol)を使用するポートスキャンの手法です。UDPは接続確立のハンドシェイクが不要で、送信先からの応答が必ずしも期待できない非接続型のプロトコルです。こうしたコネクションレスな特性により検知が難しい一方、精度が低くなりやすい特徴があります。
ポートスキャンで使用される代表的なツール
まず、最も一般的で多機能なツールとして「Nmap」が挙げられます。Nmap(Network Mapper)は、ネットワークスキャンやポートスキャンに特化した強力なツールであり、世界中のセキュリティエンジニアに広く利用されています。このツールは、TCPやUDPのポートスキャン、OSの特定、さらにはサービス検出やバージョン検出も可能です。Nmapの高度な機能により、スキャン方法や検出精度を細かく調整できるため、セキュリティ診断の現場で非常に重宝されています。

他にもさまざまなツールが存在します。
- Nmap
- RustScan
- Angry IP Scanner
- Advanced Port Scanner
- MASSCAN
- ZMap
- Amap
- Unicornscan
ポートスキャン攻撃で想定される被害内容
ポートスキャン自体は情報収集のための活動ですが、その後に継続的な攻撃が行われることで、より深刻な影響がもたらされることがあります。特に、脆弱なポートやセキュリティの低いサービスが発見されると、攻撃者はそれらを足がかりにしてシステム内部へ侵入し、悪意ある操作を実行する可能性が高まります。
- 機密情報や個人情報の漏えい
- マルウェアに感染
- 踏み台攻撃に利用される
- システム停止やデータ改ざん
機密情報や個人情報の漏えい
ポートスキャン攻撃により、企業や個人のネットワークにある脆弱なポートが特定され、そこからシステム内部に侵入されるリスクが高まります。特に、脆弱なポートやセキュリティの甘いサービスが稼働している場合、攻撃者はその隙を利用して、内部システムへアクセスしやすくなります。ポートスキャンを利用した攻撃は、標的のシステムの状態や開いているポート情報を収集し、侵入の可能性を探る初期段階として行われるため、システムが不正にアクセスされると、データベースやファイルサーバー内に保管されている顧客情報や機密文書が漏えいする可能性が生じます。
マルウェアに感染
ポートスキャンが行われた際、攻撃者がネットワーク上の脆弱なポートやサービスを発見すると、その脆弱性を悪用してマルウェアを送り込む可能性が高まります。例えば、攻撃者はポートスキャンによって特定のサービスのバージョンやセキュリティパッチの適用状況を調査し、脆弱性を利用してマルウェアを侵入させます。マルウェアは多様な形式でシステムに侵入し、感染後はバックドアの作成、データの盗難、またはリソースの乗っ取りなどの不正活動を行います。バックドアの設置により、攻撃者はいつでもシステムにアクセスできるようになり、さらなる攻撃や情報収集の拠点として利用されるリスクがあります。
また、感染したマルウェアは、ネットワーク内で他のデバイスに拡散するケースもあり、組織全体のセキュリティを危険にさらします。ランサムウェアのように、データを暗号化して身代金を要求するタイプのマルウェアも存在し、組織に重大な経済的損害や業務停止を引き起こすこともあります。
踏み台攻撃に利用される
踏み台攻撃とは、侵入されたシステムが第三者への攻撃の出発点として利用されることを指します。攻撃者は、脆弱なシステムを確保すると、それを経由して他のシステムやネットワークへ攻撃を仕掛け、最終的にはターゲットとする企業や組織へのサイバー攻撃を実行します。
例えば、企業のネットワーク上で脆弱性を見つけた攻撃者は、そのネットワークに不正侵入して悪意のあるコードやバックドアを仕掛けます。その後、そのサーバーを拠点にして他のシステムにアクセスを広げたり、さらなる侵入経路を確保するために別の外部システムを攻撃するのです。
システム停止やデータ改ざん
攻撃者はポートスキャンで得た情報を基に、特定のポートやサービスに対して集中的なリクエストを送り、システムの負荷を増大させます。これにより、サービス提供者のリソースが枯渇し、最終的にはシステム全体が停止してしまうこともあります。こうしたシステム停止は、ビジネスへの悪影響が大きく、サービスの提供停止による機会損失や顧客への信頼失墜に直結します。
また、データ改ざんのリスクも高まります。ポートスキャンによって特定のサービスやデータベースの存在が判明すると、攻撃者はそのアクセス権を奪取するために、脆弱性を突いた侵入や認証情報の不正取得を試みます。侵入に成功すると、攻撃者はシステム内でデータを操作し、改ざんする可能性があります。特に金融データや顧客情報などの機密データが不正に変更されると、企業や組織にとって甚大な被害をもたらし、社会的な信用失墜にもつながる恐れがあります。
ポートスキャン攻撃への対策
ポートスキャン攻撃への対策として、ネットワークの防御層を強化し、意図しないアクセスを未然に防ぐことが重要です。ポートスキャンは、攻撃者がネットワークやシステムのセキュリティホールを見つけるための偵察行動であり、開かれたポートが悪意のある攻撃にさらされるリスクを高めます。
- ポートスキャンを検知・遮断する
- ファイアウォールを導入する
- IDS/IPSを導入する
- NDRを導入する
- WAFを導入する
- ポートスキャンの影響を軽減する
- 不要なポートを閉じる
- 不要なサービスを停止する
- OSやミドルウェアのバージョンを最新にする
- ウイルス対策ソフトを導入する
ポートスキャンを検知・遮断する
ポートスキャン検知の一般的な手法としては、異常なネットワークトラフィックや、短時間に複数のポートへのアクセスが行われているパターンを監視することが挙げられます。通常、ポートスキャンを試みる攻撃者は、多数のポートにアクセスし、その反応を確認してシステムの脆弱性を探ろうとします。こうした特異なアクセス頻度やトラフィックの増加を検知することで、早期にスキャン活動の兆候を察知できます。
ファイアウォールを導入する
ファイアウォールは、不正アクセスからネットワークを保護するための第一の防御線として機能します。ファイアウォールは、ネットワークトラフィックを監視し、許可された通信のみを通過させる一方で、不正なトラフィックや疑わしい接続要求をブロックする役割を果たします。この機能により、攻撃者がポートスキャンを行い、ネットワーク内部の脆弱なポートを探ろうとする試みを抑制することができます。
IDS/IPSを導入する
IDS(侵入検知システム)やIPS(侵入防止システム)は、ネットワーク内で不正なアクセスや異常な通信を検知し、攻撃を早期に察知して対策を取るための重要なセキュリティ対策です。ポートスキャン攻撃が行われた際には、IDSがリアルタイムでその不審な通信を検出し、管理者にアラートを送ることで迅速な対応が可能になります。一方、IPSはポートスキャンを検知すると自動的にその通信を遮断し、ネットワークへの被害を防ぎます。
IDS(侵入検知システム) | IDSはネットワークやシステム内で不審なネットワーク通信が発生した際に、それを検知してアラートを通知するシステムです。主に監視と通知が役割で、攻撃を直接防ぐ機能はありません。IDSはシステム管理者に早期警戒を提供し、迅速な対処を促すことで、被害拡大を防ぐサポートをします。 |
IPS(侵入防止システム) | IPSはIDSの検知機能に加えて、不正なアクセスや攻撃と判断されるトラフィックを自動的に遮断するシステムです。リアルタイムでネットワークへの脅威を防ぐため、攻撃が進行する前に被害を阻止することができます。 |
IDS/IPSはポートスキャンのようなスキャン攻撃に対する有力な対策であり、ネットワークのセキュリティインシデントへの対策力を大幅に高めることができます。
NDRを導入する
NDR(Network Detection and Response)は、ネットワーク全体のトラフィックを監視・分析し、サイバー攻撃や不正アクセスの兆候を検知するためのソリューションです。NDRの導入は、組織の内部および外部からのネットワークアクティビティを詳細に分析し、攻撃の兆候や侵害の痕跡を素早く発見する助けとなります。
NDRは、機械学習やAI技術を駆使し、通常の通信パターンから逸脱した異常を見つけ出す仕組みを持っているため、単なるポートスキャンの検出にとどまらず、複雑な攻撃手法にも対応可能です。例えば、異なるポートを使って断続的に試みられるスキャンや、分散されたIPアドレスからの複数のスキャンなど、従来のシグネチャベースのセキュリティツールでは見逃されやすい手法にも対応します。
WAFを導入する
WAF(Webアプリケーションファイアウォール)は、通常のファイアウォールやIDS/IPSとは異なり、HTTP/HTTPSトラフィックを中心に解析し、アプリケーション層における攻撃、例えばSQLインジェクションやクロスサイトスクリプティング(XSS)といった脅威を検知し防御します。
ポートスキャン自体がWebアプリケーションを直接狙う攻撃ではありませんが、スキャンの結果をもとに識別された脆弱なポートやサービスを踏み台として、Webアプリケーションへの攻撃にエスカレートするケースが多々あります。WAFを導入することにより、Webアプリケーションへの不正なリクエストを事前にブロックし、攻撃者がシステムに侵入する足掛かりを排除することができます。
ポートスキャンの影響を軽減する
ポートスキャンの影響を軽減するためには、サーバーやネットワークの隠密性を高め、攻撃の足掛かりを減らす必要があります。ここでは、ポートスキャンの影響を軽減するための基本的な対策を解説します。
不要なポートを閉じる
不要なポートを閉じることは、サーバーやネットワーク機器を外部からの不正アクセスや攻撃から保護するための基本的かつ重要な対策です。多くのシステムには、初期設定で複数のポートが開いていることがあり、その中には実際には使用されていない、もしくは業務上必要ないポートも含まれています。これらの不要なポートを開いたままにしておくと、外部からの侵入や攻撃者による探索の対象となり、不正アクセスの足掛かりに利用されるリスクが高まります。
不要なポートを閉じることで、システムが外部からアクセスされる経路を減らし、セキュリティリスクを大幅に軽減できます。この基本的なセキュリティ対策を徹底することで、ポートスキャン攻撃の成功を防ぎ、サーバーやネットワークの安全性を向上させることが可能です。
不要なサービスを停止する
多くのOSやミドルウェアは、デフォルトで複数のサービスが有効化されている場合がありますが、これらの中には業務に直接関係しないものが含まれていることが少なくありません。これらの不要なサービスが動作していると、それらが攻撃の入り口となるリスクが高まるため、無用な攻撃対象を増やしてしまう可能性があります。
不要なサービスは、外部からのアクセスを受け付けるポートを開いたままにしているケースが多く、結果としてポートスキャン攻撃に対する脆弱性を増加させます。攻撃者はまずポートスキャンを通じて開かれたポートを特定し、それぞれのポートで動作しているサービスに対してさらなる攻撃を試みます。特に、古いサービスやアップデートが適用されていないサービスが稼働していると、既知の脆弱性を狙われるリスクが著しく高まります。このような事態を防ぐためにも、業務に不要なサービスを事前に確認し、停止しておくことが肝要です。
OSやミドルウェアのバージョンを最新にする
OSやミドルウェアには、日々新しい脆弱性が発見され、それを悪用する攻撃手法も多岐にわたります。攻撃者は、特定のバージョンの脆弱性を利用してシステムへの侵入を図るため、古いバージョンを使用しているとそのリスクが高まります。こうした脆弱性は、ポートスキャンによって発見され、侵入の手がかりにされることが少なくありません。
最新バージョンに更新することにより、既知の脆弱性が修正され、攻撃者が悪用できる余地が減少します。特にOSやミドルウェアのアップデートでは、セキュリティパッチが頻繁にリリースされているため、迅速に適用することが重要です。
ウイルス対策ソフトを導入する
ウイルス対策ソフトは、さまざまなサイバー攻撃に対して多層的な保護を提供します。具体的には、ウイルスやマルウェアの検知・除去、ファイアウォール機能によるネットワークトラフィックの監視、未知の脅威に対するリアルタイム保護といった機能を備えています。ウイルス対策ソフトの導入は他の対策と併用することで、相互補完的にセキュリティを強化する効果が期待できます。
まとめ
ポートスキャンは、ネットワーク上で稼働しているサービスや、セキュリティ上の弱点を検出するために広く使用される手法です。サイバーセキュリティの分野においては、正当な目的で利用されることもあれば、悪意のある攻撃者によって悪用されることもあります。特に、企業や組織のシステムは常にネットワークに接続されているため、外部からのスキャンを防ぐための堅牢なセキュリティ対策が求められます。ポートスキャンによるリスクを軽減するためには、ファイアウォールやIDS/IPSといったセキュリティツールを活用し、不正アクセスを未然に防ぐことが重要です。ポートスキャンは検出可能であり、攻撃の予兆となることも多いため、迅速な対応ができるようなセキュリティ体制の整備が不可欠です。
- ポートスキャンの目的
- ネットワーク上でオープンなポートを調査し、サービスの稼働状況を確認する。
- 攻撃者にとっては、脆弱なポイントを発見する手段であり、攻撃準備の一環として行われることが多い。
- 代表的なポートスキャンの種類
- ステータス確認や動作確認を目的とするSYNスキャンやTCPスキャン、応答速度が速く攻撃に利用されやすいUDPスキャンなど、さまざまな手法が存在する。
- ポートスキャンのリスクと被害
- オープンポートの情報が攻撃者に漏れることで、サーバーが標的にされやすくなり、データ漏えいや不正アクセスなどのリスクが生じる。
- ポートスキャン攻撃への対策
- ファイアウォールやIDS/IPS、NDRを活用して、不審なポートスキャンを早期に検知し、必要に応じて遮断する。
- 不要なポートやサービスを停止したり、OS・ミドルウェアを常に最新バージョンに保つことで、リスクを最小限に抑える。