Skip to main content

Contrastクローラーの設定

Contrastクローラーの設定ファイルを作成するには、本項のテンプレートを使用できます。

手順

  1. 以下のテンプレートを使用して、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_apiapplicationのルートノードは必須です。これらは、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_scripttrueに設定します。この設定は、クローラーの質問に返答するユーザがいないため、CI 環境でアプリケーションをクロールするために必要です。

    • telemetrycrawl_configdebugノードは必須ではないので、省略できます。

      何らかの理由でこれらのノードの設定値を変更したい場合、クローラーは、同じレベルで最初にコメントアウトされた設定までの子ノードの設定しか認識しないことに注意してください。たとえば、以下の設定では、2回目のクロールは実行されません。

      debug:
        single_crawl: true
        # auth_only: true 

      一方で、以下の設定は2回目のクロールに何の影響も与えません。

      debug:
        # auth_only: true   
        single_crawl: true
  2. 必要に応じて、環境変数を設定して、設定ファイル内の設定を上書きまたは補足してください。

    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