Contrastクローラーの設定
Contrastクローラーの設定ファイルを作成するには、本項のテンプレートを使用できます。
手順
以下のテンプレートを使用して、YAMLファイルを作成します。
user_api: enable: true url: NEEDS_TO_BE_SET api_key: NEEDS_TO_BE_SET service_key: NEEDS_TO_BE_SET user_name: NEEDS_TO_BE_SET org_id: NEEDS_TO_BE_SET application: name: NEEDS_TO_BE_SET url: NEEDS_TO_BE_SET authentication: enable: false auth_script_file: NEEDS_TO_BE_SET # keep_auth_script: false # no_logged_out_indicator: false # no_logged_in_indicator: false # crawl_config: # headless: false # max_requests_per_crawl: 10 # max_request_retries: 2 # max_concurrency: 1 # debug: # auth_only: true # single_crawl: true # unauth_only: true # just_url: http://localhost:8080/owners/1/edit # dont_enqueue: true # just_url_repeats: 200 # dont_seed_crawler: true
このテンプレートで、値が
NEEDS_TO_BE_SET
になっている設定は、ユーザ固有の設定を指定する必要があることを表しています。ただし、client_api.enabled
またはauthentication.enabled
のいずれかを「false」に設定した場合は、これらのノードの残りの設定に値を指定する必要はありません。デフォルト値が含まれているテンプレート内の設定は、その値が許容できるものであれば省略することができます。一部の設定にはデフォルト値はありませんが、必須ではありません。これらの設定は、省略することも、値を指定することもできます。
user_api
とapplication
のルートノードは必須です。これらは、Contrastからルートと脆弱性情報を取得するために使用されます。user_api
ノードの設定は、ユーザのAPI認証情報です(エージェントのAPI認証情報とは異なります)。認証情報は、Contrastからルートと脆弱性情報を取得するために使用されます。または、client_api.enabledにfalseを設定している場合、認証情報は必要ありません。これにより、クローラーでルートのURLはシードされず、アプリケーションのホームページから検出可能なURLのみがリクエストされます。アプリケーションによっては、これにより、疎通されたルートの数が減る場合があります。
application.name
の設定は、Contrastで認識されているアプリケーションの名前と一致していなければなりません。application.url
の設定は、テスト対象のアプリケーションのベースURLです。例:http://localhost:8080
アプリケーションで認証が必要ではない場合は、
authentication
の設定を変更しないでください。認証アプリケーションをクロールする必要がある場合は、以下の設定を使用してください。authentication.enabled: true authentication.auth_script_file: <path to recorded authentication script>.js
認証スクリプトを記録し、確認の表示なしでそのスクリプトを使い続けたい場合は、
authentication.keep_auth_script
をtrue
に設定します。この設定は、クローラーの質問に返答するユーザがいないため、CI 環境でアプリケーションをクロールするために必要です。telemetry
、crawl_config
、debug
ノードは必須ではないので、省略できます。何らかの理由でこれらのノードの設定値を変更したい場合、クローラーは、同じレベルで最初にコメントアウトされた設定までの子ノードの設定しか認識しないことに注意してください。たとえば、以下の設定では、2回目のクロールは実行されません。
debug: single_crawl: true # auth_only: true
一方で、以下の設定は2回目のクロールに何の影響も与えません。
debug: # auth_only: true single_crawl: true
必要に応じて、環境変数を設定して、設定ファイル内の設定を上書きまたは補足してください。
YAML設定
環境変数
user_api.url
CONTRAST__CRAWLER__USER_API__URL
user_api.api_key
CONTRAST__CRAWLER__USER_API__API_KEY
user_api.service_key
CONTRAST__CRAWLER__USER_API__SERVICE_KEY
user_api.user_name
CONTRAST__CRAWLER__USER_API__USER_NAME
user_api.org_id
CONTRAST__CRAWLER__USER_API__ORG_ID
application.name
CONTRAST__CRAWLER__APPLICATION__NAME
application.url
CONTRAST__CRAWLER__APPLICATION__URL
authentication.enabled
CONTRAST__CRAWLER__AUTHENTICATION__ENABLED
authentication.auth_script_file
CONTRAST__CRAWLER__AUTHENTICATION__AUTH_SCRIPT_FILE
authentication.keep_auth_script
CONTRAST__CRAWLER__AUTHENTICATION__KEEP_AUTH_SCRIPT
authentication.no_logged_out_indicator
CONTRAST__CRAWLER__AUTHENTICATION__NO_LOGGED_OUT_INDICATOR
authentication.no_logged_in_indicator
CONTRAST__CRAWLER__AUTHENTICATION__NO_LOGGED_IN_INDICATOR