DAST のデプロイ

本章で扱う DAST フェーズが、リリースパイプラインの最後になります。このラボでは、パイプラインを更新して、OWASP Zed攻撃プロキシ を使用し、コードを更新するたびに 動的アプリケーションセキュリティテスト (DAST) を自動的に実行します。他にもDASTソリューションもありますが、ここで紹介する概念はどのツールにも適用できるはずです。

このセクションの終わりまでに、リリースパイプラインが End State に到達するはずです。

pipeline-part5

それでは始めましょう!

  1. DAST ツールを実行する CodeBuild プロジェクトは、提供されている CDK コンストラクトですでに定義されています。先ほどダウンロードしたpipelineフォルダにあるconfig.yamlファイルのDASTを有効にしてください。Cloud9 IDE に移動し config.yaml を開きます。 config-yaml

  2. dast セクションで、enabled の値を True に設定してください。この時までに、config.yamlは次のようになります。

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    
    ### Staging Auto-Deploy
    auto_deploy_staging: True
    
    ### Static Application Security Testing (SAST) Step
    sast:
      enabled: True
      sonarqube:
        image: public.ecr.aws/adelagon/sonarqube:lts-community
        token: 1ecf.......60f2
    
    ### Software Composition Analysis (SCA) Step
    sca:
      enabled: True
    
    ### License Checker Step
    license:
      enabled: True
    
    ### Dynamic Application Security Testing (DAST) Step
    dast:
      enabled: True
      zaproxy:
        instance_type: t2.medium
        api_key: SomeRandomString

  3. CDK によってデプロイされる新しい AWS リソースに関する情報を確認するには、ターミナルウィンドウに移動して次のように入力します。

    cd ~/environment/pipeline
    cdk diff
    
  4. 以下で変更をデプロイすることができます。

    cdk deploy
    
  5. CDK のデプロイが成功したら、AWS CodePipeline をチェックして、DeployToStaging ステージの後に導入された DAST という名前の新しいステージがあることを確認します。DASTは、Webアプリケーションを起動して実行する必要があるため、DeployToStagingの後に来る必要があります。 dast-codepipeline