本アプリケーションによりホストがライブであると確認されると、ポートのスキャンが開始され、コンピュータ上で実行中のサービスについての情報が収集されます。サービス発見のターゲット範囲に、TCPポートおよびUDPポートを含めることが可能です。
TCPポート(RFC 793)は、ネットワーク化されたコンピュータが「会話」を実行する論理接続のエンドポイントです。
ウェルノウン・ポートは、最も一般的にインターネット上でオープンとなっているポートです。
ポートの範囲は、ウェルノウン・ポートの範囲を超えて拡張可能です。各脆弱性のチェックに、スキャン対象のポートのセットが追加される場合があります。さまざまなバックドア、トロイの木馬、ウィルス、その他のワームがコンピュータにインストールされると、それらによりポートが作成されます。無法プログラムおよびハッカーはこれらのポートを利用して感染コンピュータにアクセスします。これらのポートは事前定義されておらず、時間とともに変化する場合があります。犯意を持って作成されたポートを含め、脆弱性テスト中にどのレポートがスキャンされたかが、出力レポートに表示されます。
カスタムオプションとして、様々なポートスキャン方法を利用可能です。大多数の内蔵スキャンテンプレートには、ステルススキャン(SYN)法が組み込まれています。本方法では、ポートスキャナープロセスによりTCPパケットがSYN(同期)フラグと共に送信されます。これは最も信頼性の高い方法です。また高速でもあります。実際SYNポートスキャンは、TCPポートスキャン方法のその他オプションの1つであるフル接続法のスキャンより、約20倍高速です。
網羅的テンプレートおよび侵入テストは例外であり、最適なスキャン方法をアプリケーションより決定することが可能です。本オプションにより、一部のケースでファイアウォールを通してのスキャンが可能となります。ただし、信頼性はある程度劣ります。
大多数のテンプレートはスキャン範囲にUDPポートを含めていますが、UDPポートをよく知られた番号へと制限しています。UDPポート上で実行されるサービスには、DNS、TFTP、DHCPなどがあります。スキャンを完全徹底させようとお考えの場合、より多数のUDPポートを含めることが可能ですが、スキャン時間が増大します。
すべての可能なポートをスキャンするには、長い時間がかかります。ファイアウォールを通してスキャンを行う場合、およびファイアウォールが未認可デバイス宛てに送信されたパケットを除外するよう設定されている場合、フルポートスキャンは数時間から数日かかる場合があります。すべてのポートをスキャンするようアプリケーションを設定する場合、追加のパラメータ変更が必要となる場合があります。
サービス発見は、最もリソースから影響を受けやすいスキャンフェーズです。本アプリケーションにより何百何千ものパケットが、ほんの一握りのアセット上のスキャンポート宛てに送信されます。
より多くのポートをスキャンすると、より長時間かかるスキャンとなります。また最大数のポートをスキャンすることは、必ずしも精度の高さに繋がるわけではありません。発見データに基づきターゲットポートを選択することがベストプラクティスです。単にどのポートをスキャンするべきか分からない場合、よく知られた番号を使用してください。ただし攻撃者はサービスを攻撃する好機にあたり、これらのポートを意図的に避けたり追加ポートを精査する場合があることに注意してください。
注意: 本アプリケーションは、ネットワークデバイスに依存して、クローズドUDPポートの「ICMPポートに到達できません」パケットを返します。
もう少し綿密なものとするには、網羅的/侵入テストテンプレートといったより積極的なテンプレートから、TCPポートのターゲットリストを利用します。
UDPポートをスキャンする予定である場合、先に説明した信頼性の問題は別としても、UDPポートのスキャンには膨大な時間がかかる可能性があるということに留意してください。デフォルトでは、本アプリケーションは1秒に2つのUDPパケットのみを送信して、ほとんどのネットワークデバイスのTCP/IPスタックに組み込まれているICMP帯域制限メカニズムがトリガされることを回避します。より多くのパケットを送信すると、パケットロスを引き起こす場合があります。フルUDPポートスキャンは、帯域幅やターゲットアセットの数により、最長9時間かかる場合があります。
時間を削減するには、必要でない限りフルUDPポートスキャンを実行しないことです。UDPポートスキャンは通常、TCPポートスキャンより長くかかります。なぜなら、UDPは「コネクションレス型」プロトコルだからです。UDPスキャンにおいて本アプリケーションは、アセットからの無応答をポートがオープンまたはフィルタ済みであることの現れと解釈し、これによりプロセス速度が落ちます。UDPスキャンを実行するよう設定されている場合、本アプリケーションはターゲットアセットのパケット交換にペースを合わせます。Oracle Solarisは帯域制限機能により1秒に2つのUDPパケット失敗にのみ対応しますので、この環境での本スキャンは一部のケースにおいて非常に遅くなる可能性があります。
ヒント: ポートスキャンを無効化した脆弱性テストを実行して、最も「ステルスな」スキャンを達成することが可能です。しかしこれを行うと、アプリケーションはフィンガープリントや脆弱性発見の妨げとなるサービスを発見できなくなります。
追加の TCP ポートをスキャンする場合、追加のポート テキストボックスに番号または範囲を入力します。
注意: PowerShellを利用してスキャンする場合、ポートリストにポート5985を追加します(含まれていない場合)。PowerShellは有効化済みだが本機能を利用してスキャンを行いたくない場合は、当該ポートリストにポート5985を含めないでください。詳細については、スキャン認証資格情報(credentials)を設定をご参照ください。
追加のUDPポートをスキャンする場合、追加のポートテキストボックスに希望の範囲を入力します。
注意: デフォルトサービスファイル設定を変更するには、技術サポートまでお問い合わせください。
本プロパティファイルには、各ポートおよびよく実行されるサービスがリストされています。スキャンによりポート上の実際のサービスを特定できない場合、スキャン結果内のこのファイルからサービス名が派生します。
デフォルトファイル、default-services.propertiesは、以下のディレクトリにあります:<installation_directory/plugins/java/1/NetworkScanners/1。
当該ファイルを、固有のポート/サービスマッピングがリストされたカスタムバージョンに置き換え可能です。
アセットおよびサービス発見中に、デフォルトスキャン設定を最大の速度およびリソース使用量へと変更可能です。これらの発見パフォーマンス設定を変更しない場合、スキャンはネットワーク条件に基づき自動調整されます。
パケット関連の設定を変更すると、トライアングルに影響が出る場合があります。調整時には「トライアングル」を忘れずにをご参照ください。送信ディレイ間隔を短くすると理論的にはスキャン速度が上がりますが、帯域幅によってはネットワーク渋滞が引き起こされる可能性もあります。送信ディレイ間隔を長くすると精度が上がります。またディレイを長くすることは、ファイアウォールまたはIDSデバイスによるブラックリスト化を回避するために必要な場合もあります。
以下のポートスキャン方法の説明で示される数値はデフォルト設定であり、変更可能です。本アプリケーションはターゲットポート宛てに10パケットのブロックを送信し、10ミリ秒待機して、さらなる10パケットを送信し、範囲内の各ポートについてこのプロセスを続行します。スキャンの終わりには、応答のなかったパケットのブロックについてそれぞれ、もう一回パケットを送信して10ミリ秒待機します。本アプリケーションは、各ポートについてこれらの試行を5回繰り返します。
定義された試行回数内で応答が得られた場合、次のフェーズであるサービス発見へと進みます。テンプレートで定義されたあらゆる網羅的発見方法を行っても応答がなかった場合、アセットはスキャンログ内でDEADとして報告されます。
ターゲットアセットが(ファイアウォールの後ろではなく)ローカルシステム・セグメント上にある場合、スキャンはより迅速に進行します。なぜなら、アセットはポートがクローズドであると応答するからです。デバイスがファイアウォールの後ろにあると問題が生じます。これによりパケットが消費されますので、スキャン・エンジンには戻りません。この場合、本アプリケーションはポートスキャン間の待機時間を最大に引き伸ばします。TCPポートスキャンは、特に65Kポートのフルポートスキャンを含む場合、5時間を超える場合があります。
ファイアウォール内のローカルセグメント上で、アセットをスキャンするよう務めてください。必要でない限り、ファイアウォールのようにパケットを除外するデバイスの外側で、フルTCPポートスキャンを実行しないよう努めてください。
以下のパフォーマンス設定を変更可能です:
注意: 最低試行回数、1秒あたりのパケット数、および同時接続リクエストをデフォルト値を0にすると手動設定が無効化となり、この場合、アプリケーションは設定を自動調整します。手動設定を有効化するには、1を超える値を入力します。
これは、ターゲットアセットにコンタクトする最大試行回数です。本制限を超えても応答がない場合、アセットはスキャンされません。デフォルトのUDP試行回数は5回です。これは、ファイアウォールを通してのスキャンとしては高い設定です。UDPスキャンが予測より長くかかっている場合、再試行回数を2または3に減らしてみてください。
最大再試行回数をデフォルトの4回から減らすと、スキャンプロセスをスピードアップさせることができます。パケット送信の再試行回数を減らすことで、アクセスの多い/ファイアウォール・ルールの厳しいネットワークの精度調整が改善されます。このような環境では、パケットはより頻繁に失われます。再試行の値を3に設定することをご検討ください。スキャンはより長くかかるということに留意してください。
再試行と再試行の間の待機時間をミリ秒単位で設定します。初期タイムアウト間隔を設定可能です。これは、スキャンが使用する最初の設定です。範囲も設定可能です。最大タイムアウト間隔については、5ミリ秒未満の値であると手動設定が無効となります。この場合、本アプリケーションにより当該設定が自動調整されます。発見により間隔設定が、変動するネットワーク条件に基づき自動調整される場合があります。
これは、各ターゲットホスト宛てのパケット送信と次の送信のと間の待機時間を示す、ミリ秒単位の数値です。
注意: これらの設定値を減らすとスキャン結果が不正確になる可能性があります。
TCPパケット送信のディレイ間隔を増やすと、スキャンによるルータのオーバーロード、ファイアウォールのトリガ、または侵入検知システム(IDS)によるブラックリスト化を防止できます。パケット送信のディレイ間隔を増やすことは、時間はかかっても精度を上げることができる、もう1つの方法です。
10~25ミリ秒のディレイへとポートスキャンの速度を落とすことで、同スキャンの精度を上げることができます。
これは、発見試行の間1秒ごとに送信するパケットの数です。この数を増やすとスキャン速度が上がります。しかしパケット数が増えると、渋滞の激しいネットワーク内で除外される可能性が高くなり、スキャン結果が歪曲される場合があります。
注意: デフォルトの帯域制限を有効化するには、ステルス(SYN)スキャン法を選択しなければなりません。 スキャンテンプレートをご参照ください。
無効回数制限(defeat-rst-rate制限とも呼称)と呼ばれる追加の制御により、最低の1秒あたりパケット数が施行されます。これにより、ターゲットホストがポートスキャンへの応答のRST(リセット)回数を制限する場合、スキャン速度が改善されることがあります。しかし、これらの状況の下でパケット設定を施行すると、スキャン中にポートが失われる可能性があり、スキャン精度が落ちます。無効回数制限を無効化すると、ターゲットホストがRST(リセット)回数応答をポートスキャンに制限する場合、最低パケット設定は無視されます。これによりスキャン精度が上がります。
これは、ターゲットホスト宛てに同時に送信する発見接続リクエストの数です。同時リクエストの数を増やすとスキャン速度が上がると考えられますが、ネットワークの帯域幅によります。本設定は、値がスキャンディレイ向けに設定されている場合は効力がありません。