「ポートスキャン」という言葉を聞いたことはありますか?
ポートとは、パソコンや周辺機器が外部とデータの通信をする出入り口のことを指します。
ネットワーク通信するサービスにはポート番号と呼ばれる番号が設定されており、この番号をもとに通信元と通信先サービス送受信が行われます。
しかし、このポートに着目して不正アクセスやウイルス感染を目論むサイバー攻撃の脅威に私たちは直面しています。ポートからパソコンや企業システムに侵入されてしまうと、受ける被害は甚大なものになる可能性が高いです。
このポートの応答状況を調べることを「ポートスキャン」を呼びます。このページでは、「ポートスキャン」についてわかりやすく解説します。
また、ポートスキャンを始めとした代表的なサイバー攻撃を、まとめて解説した資料もご用意しています。こちらもぜひご覧ください。

ポートスキャンとは?
「ポートスキャン」はネットワークに接続されている、通信可能なポートをひとつひとつ順番に特定のデータを送信して、その応答状況を調べることを指します。
そもそも企業や個人に関わらず、インターネット利用に欠かせないパソコンやモデムといった機器にはポートを介することでネットワークに接続が出来るようになっています。
ポートの数も多く、番号が割り当てられており、それぞれのサービスやプログラムに応じた番号を指定して利用することが一般的です。
例えば、Webサービス(HTTP)であれば80番、メール配信サービス(SMTP)であれば25番が割り当てられています。
ポートは0番から65535番まで存在しており、0から1023番までは用途に合わせてあらかじめ割り振られた一般的な番号であり、ユーザーが自由に使用しても問題がない番号が49152番から65535番です。
有名なポート番号は以下のように定められています。
20(TCP) |
ftp-data:ファイル転送(データ本体) |
21(TCP) |
ftp:ファイル転送(コントロール) |
22(TCP) |
ssh:リモートログイン(セキュア) |
53(TCP/UDP) |
domain:DNS |
67(UDP) |
BOOT/DHCP Server:IPアドレスの自動取得 |
68(UDP) |
BOOT/DHCP Client:IPアドレスの自動取得 |
80(TCP) |
http:www |
110(TCP) |
pop3:メール受信 |
ポートスキャンは本来であればネットワーク管理者がポート管理を行うために行われるものですが、サイバー攻撃を行う前に攻撃対象のどこから侵入できるかを調べるために行われることも多く、サイバー攻撃の前兆とも言えます。
攻撃の前兆となるポートスキャン
ポートスキャン自体には問題はありませんが、使い方によっては犯罪行為として扱われます。ポートスキャンを自分たちのサービスへ行うのではなく、外部のサービスに対して行うことでサイバー攻撃としてみなされます。
万が一意図しない外部からポートスキャンを受けていると気がついた場合は、攻撃の準備をしていると考え対策を取るようにしましょう。
オンラインサービスを提供する企業の担当者であれば、リアルタイム監視や不正侵入防止に関する対応を考えることが理想的です。
次の段階としての攻撃に移行しないか注視する必要があります。ポートスキャン攻撃とは、攻撃できる相手を絞り込む作業のようなものと考えられます。
例えば、空き巣犯が家に人がいないかインターホンを鳴らして確認するといったイメージです。
ポートスキャンの種類
ポートスキャンはターゲットに信号を送り込むことで、攻撃できる目標を探し当てます。どのような仕組みで選別しているのでしょうか?
ポートスキャンは送信するパケットの種類によって、返すパケットの種類が決められています。返ってくる反応をみることで、サービス稼働状況を判断することができます。
代表的なポートスキャンについて、いくつか紹介します。
TCPスキャン
標的ポートに接続し、3ウェイハンドシェイクのシーケンスを実行します。
通信が確立されるため、ログに残りやすいスキャン方法です。
SYNスキャン
完全なTCP接続を行わないスキャン手法で、「ハーフオープンスキャン」や「ステルススキャン」とも呼ばれています。接続するかわりにSYNパケットを標的のポートに送信して、標的ポートからSYN/ACKを受信した場合はサービス稼働が稼働している状態。標的ポートからリセット(RST/ACK)を受信した場合のポートはサービス非可動状態となります。(RSTとは接続を中断・拒否する際に送られるパケットです。)
FINスキャン
標的にFINパケット(接続終了)を送信するスキャン手法です。FINパケットが送信されたホストはクローズした全てのポートにRSTを送り返します。よって、RSTが返ったら標的サービスは稼働していると判断できます。
クリスマスツリースキャン
標的ポートに、FIN、URG(緊急確認)、PUSH(プッシュ)パケットを送信するスキャン手法です。
標的サービスが稼働してなければRSTパケットを返しますが、稼働していれば何も返ってきません。
NULLスキャン
全てのフラグを”0″にするスキャン手法です。
標的サービスが稼働してなければRSTパケットを返しますが、稼働していれば何も返ってきません。
UDPスキャン
UDPで待ち受けているサービスの状態を判断するためのスキャンです。
標的ポートにUDPパケットを送信し、標的ポートが “ICMP port unreachable” というメッセージで応答したポートがなければ稼動していることがわかります。稼働していない場合は何も返ってきません。
ポートスキャン攻撃とは、以上のスキャン方法を組み合わせて、セキュリティ対策を施してあるシステムの綻びを見つけ出そうとしていると認識することが重要です。
ポートスキャンの検知と対処方法とは?
ポートスキャンが発生した場合、ファイアーウォールのログを確認すると、短時間に遮断ログが記録されます。インターネットルータでは、ポートスキャン攻撃として、警告のログを残す場合もあるでしょう。
このような場合、意図的にポートスキャンをしていない場合は、対処として、該当の通信元を洗い出し、ファイアーウォールにその通信元からのみの通信を拒否する設定を追加します。
なお、IDS/IPSを導入している場合は、通信内容から不審な通信であると判断して検知するので、すぐに対処できますし、WAFを導入すれば遮断することも可能です。
対策はポートスキャンから攻撃に進展する前に
基本的な対策は、不要なポートを閉じることが第一です。そのうえで、判明している脆弱性に対して対策しておくことも大事です。
既知の脆弱性に対しては、修正プログラムとしてセキュリティパッチが配布されています。
そのためには、まずセキュリティパッチは確実に適用しておくこと、加えてIDS/IPS、WAFといった製品を導入し、それぞれに適応した脆弱性攻撃に対策しておきましょう。
次に、不要なサービスが起動していないか定期的に確認しておきます。
定期的に実施するのは、誤操作で不要なサービスを起動してしまう可能性があるためです。
確認の方法としては、例えば、サーバ上でnetstatコマンドを実行すると、”Listen”(待ち受け)状態になっているポートを確認することができます。そのポートに対するサービスが不要であればそのサービスを停止しておきます。
さらに、そのサービスが自動起動になっている場合があるので、その点も確認します。
ポートスキャンによってさらなる攻撃を受けないためにも、対策を怠らず万が一の時のためにも準備をしておくことが大切です。
おすすめのポートスキャン対策
ポートスキャン対策として、ファイアウォールを設定されている場合が多いと思いますが、さらに「WAF(ワフ/Web Application Firewall)」を導入することで強固な防御体制を築けます。WAFは、Webアプリケーションに対する攻撃に特化したファイアウォールです。
WAFには色々なものがありますが、その中でもクラウド型WAFであれば、コストや手間も少なくセキュリティ対策をすることができます。
クラウド型のWAFは導入ハードルが極めて低いので、これからWebセキュリティ対策を行う企業様には有力な選択肢となります。WAFを選定する時には、サポート体制や導入実績なども重視して、自社に最適なものを選びましょう。
クラウド型WAF「攻撃遮断くん」は、最新の攻撃パターンにも自動的に対応していくため、セキュリティパッチをすぐに適用できない状況や、定期的に脆弱性診断が出来ない状況でも、セキュアな環境を保てます。
ぜひこの機会にWebセキュリティ対策を見直し、WAFの導入を検討してみてください。
「攻撃遮断くん」の詳細資料は、こちらからダウンロード頂けます。