Network Security

PORT SCANNING

ポートスキャン

Category: Network Security / Updated: 2026-05-26

📖

Overview

ポートスキャン(Port Scanning)とは、ネットワーク上のホスト(サーバーやPC)に対して、どの通信ポートが開放されているか(リスニング状態にあるか)を調査する技術です。TCPやUDPの各ポート(0〜65535番)に対して接続を試み、応答の有無や種類から、そのポートでサービスが稼働しているかどうかを判別します。

ポートスキャンは、セキュリティの文脈では「両刃の剣」です。セキュリティ管理者にとっては、自組織のサーバーやネットワーク機器に不要なポートが開いていないかを確認する重要な脆弱性評価ツールです。一方、攻撃者にとっては、攻撃対象の偵察(リコネサンス)を行うための最初のステップであり、開いているポートからサービスの種類やバージョンを特定し、既知の脆弱性を悪用する攻撃につなげます。

最も有名なポートスキャンツールはNmap(Network Mapper)です。1997年にGordon Lyon氏によって開発され、現在もオープンソースで活発に開発が続けられています。ペネトレーションテストやセキュリティ監査で標準的に使用されるツールであり、情報セキュリティの専門家にとって必須のスキルです。

🔬

Details

ポートスキャンの種類

  • TCP SYNスキャン(ハーフオープンスキャン):TCPの3ウェイハンドシェイクの最初のSYNパケットのみを送信し、SYN/ACK応答があればポートが開いていると判断する。完全な接続を確立しないため高速で、ログに残りにくい。Nmapのデフォルトスキャン方式。
  • TCP Connectスキャン:OSの接続機能を使って完全なTCP接続を確立するスキャン。確実だがログに記録されやすく、速度も遅い。root権限なしで実行可能。
  • UDPスキャン:UDPポートの開放状態を調査するスキャン。UDPはコネクションレス型プロトコルのため、応答がない場合にポートが開いているのか、パケットがフィルタされたのかの判断が難しい。TCPスキャンより時間がかかる。
  • FINスキャン / NULLスキャン / Xmasスキャン:TCP仕様のエッジケースを利用したステルススキャン。FINフラグのみ、フラグなし、FIN+PSH+URGフラグを設定したパケットを送信し、RSTの応答有無でポートの開閉を判断する。ファイアウォール回避に使用されるが、Windows系OSでは正確に機能しない場合がある。
  • ACKスキャン:ファイアウォールのルールセットを調査するために使用される。ポートの開閉ではなく、パケットがファイアウォールでフィルタされているかどうかを判別する。

ポートの状態

Nmapではポートの状態を以下の6種類に分類します。

  • open:ポートでアプリケーションがアクティブにTCP/UDP接続を受け付けている
  • closed:ポートにアクセス可能だが、リスニングしているアプリケーションがない
  • filtered:ファイアウォール等でパケットがフィルタされ、ポートの状態を判別できない
  • unfiltered:ポートにアクセス可能だが、open/closedの判別ができない(ACKスキャンで使用)
  • open|filtered:openかfilteredか判別できない(UDPスキャン等で発生)
  • closed|filtered:closedかfilteredか判別できない

サービスとバージョンの検出

Nmapの-sVオプションを使用すると、開いているポートで稼働しているサービスの種類とバージョンを特定できます。さらに-OオプションでOS検出、NSE(Nmap Scripting Engine)で脆弱性チェックやより詳細な情報収集が可能です。

🛡️

Security Measures

  • 01
    不要なポートとサービスの停止:サーバーやネットワーク機器で、業務上必要のないサービスを停止し、対応するポートを閉じる。定期的にポートの棚卸しを行う。
  • 02
    ファイアウォールによるポートフィルタリング:許可されたポートのみを開放し、それ以外のポートへのアクセスをファイアウォールでブロックする。デフォルトはすべて拒否(deny all)とし、必要なポートのみ許可する。
  • 03
    IDS/IPSによるスキャン検知:IDS/IPSにポートスキャン検知ルールを設定し、短時間に大量のポートに対する接続試行を検知・アラート・ブロックする。
  • 04
    自組織への定期的なポートスキャン:管理者自身がNmapなどのツールを使用して定期的にポートスキャンを実施し、意図しないポートが開いていないか確認する。外部と内部の両方からスキャンする。
  • 05
    バナー情報の隠蔽:サービスが返すバナー情報(ソフトウェア名やバージョン)を変更または非表示にし、攻撃者が脆弱なバージョンを特定することを困難にする。
  • 06
    ポートノッキングの導入:特定のポートに対して事前に決められた順序でアクセスした場合にのみ、管理用ポートを開放する仕組み。SSHなどの管理ポートの保護に有効。
⚠️

Incidents

📋 Shodan検索エンジンによる脆弱デバイスの大量発見(継続的)

インターネット上のデバイスを常時スキャンする検索エンジン「Shodan」の存在により、インターネットに露出した脆弱なデバイス(WebカメラやIoT機器、産業制御システムなど)が容易に発見できることが問題視されています。Shodanにより、デフォルトパスワードのまま運用されている管理画面や、パッチ未適用のサーバーが数千件単位で特定されており、ポートスキャンの自動化がもたらすリスクを象徴しています。

📋 WannaCryランサムウェアの拡散(2017年)

2017年5月に世界中で猛威を振るったWannaCryランサムウェアは、SMBプロトコルのポート445を悪用して拡散しました。攻撃者はWindowsのSMBv1の脆弱性(EternalBlue / MS17-010)を利用し、ポート445が開いているすべてのマシンに自動的に感染を広げました。不要なポートを閉じていた組織は感染を免れたケースが多く、ポート管理の重要性を世界的に示した事例です。

📋 RDPポート露出によるランサムウェア被害の急増(2020年〜)

コロナ禍でリモートワークが急拡大した2020年以降、RDP(Remote Desktop Protocol)のポート3389をインターネットに直接公開する企業が急増し、これを狙ったブルートフォース攻撃やランサムウェア攻撃が激増しました。攻撃者はShodanやMasscanなどのツールで大規模なポートスキャンを実施し、RDPが公開されたサーバーをリスト化して攻撃に利用しています。

🔗

Related Terms