アナライザーを有効にする
DASTスキャンを実行するには:
- DASTスキャンを実行するためのrequirements条件をお読みください。
- CI/CDパイプラインでDASTジョブを作成します。
- アプリケーションで必要な場合は、ユーザーとして認証する。
DASTジョブは、DAST CI/CDテンプレートファイルのimageキーワードで定義されたDockerコンテナで実行されます。ジョブを実行すると、DASTはDAST_TARGET_URL変数で指定されたターゲットアプリケーションに接続し、埋め込みブラウザを使用してサイトをクロールします。
DAST CI/CDジョブを作成します
アプリケーションにDASTスキャンを追加するには、GitLab DAST CI/CDテンプレートファイルで定義されているDASTジョブを使用します。テンプレートの更新はGitLabのアップグレードで提供され、改善点や追加点を利用できます。
CI/CDジョブを作成するには:
適切なCI/CDテンプレートを含めます:
DAST.gitlab-ci.yml: DAST CI/CDテンプレートの安定したバージョン。DAST.latest.gitlab-ci.yml: DASTテンプレートの最新バージョン。
最新バージョンのテンプレートには、破壊的な変更が含まれている可能性があります。最新のテンプレートでのみ提供される機能が必要な場合を除き、安定したテンプレートを使用してください。
GitLab CI/CDステージ構成に
dastステージを追加します。次のいずれかの方法を使用して、DASTでスキャンするURLを定義します:
DAST_TARGET_URLCI/CD変数をセットします。設定されている場合、この値が優先されます。プロジェクトのルートにある
environment_url.txtファイルにURLを追加すると、動的環境でのテストに最適です。GitLab CI/CDパイプライン中に動的に作成されたアプリケーションに対してDASTを実行するには、アプリケーションのURLをenvironment_url.txtファイルに書き込みます。DASTはURLを自動的に読み取り、スキャンのターゲットを検索します。これは、Auto DevOps CI YAMLの例で確認できます。
例:
stages:
- dast
include:
- template: Security/DAST.gitlab-ci.yml
dast:
variables:
DAST_TARGET_URL: "https://example.com"
DAST_AUTH_USERNAME: "test_user"
DAST_AUTH_USERNAME_FIELD: "name:user[login]"
DAST_AUTH_PASSWORD_FIELD: "name:user[password]"