ノート:
- このチュートリアルでは、Oracle Cloudへのアクセスが必要です。無料アカウントにサインアップするには、Oracle Cloud Infrastructure Free Tierの開始を参照してください。
- Oracle Cloud Infrastructureの資格証明、テナンシおよびコンパートメントに例の値を使用します。演習を完了するときは、これらの値をクラウド環境に固有の値に置き換えます。
Zed Attack ProxyとOracle Cloud Infrastructure DevOpsビルド・パイプラインの統合
イントロダクション
Oracle Cloud Infrastructure (OCI) DevOpsサービスは、開発者がソフトウェア開発ライフサイクルを簡略化および自動化できる、完全な継続的統合/継続的デリバリ(CI/CD)プラットフォームです。OCI DevOpsサービスを使用すると、開発者とオペレータは、共同でソフトウェアを開発、構築、テストおよびデプロイできます。DevSecOpsは、ソフトウェアの開発およびデプロイメントの自動化プロセスでセキュリティ・テストを追加する演習です。
Zed Attack Proxy (ZAP)は、以前はOpen Web Application Security Project Zed Attack Proxy (OWASP ZAP)と呼ばれていましたが、オープンソースのWebアプリケーション・セキュリティ・スキャナです。これは、開発者とセキュリティ専門家がWebアプリケーションの脆弱性を検出し検出するのに役立ちます。ZAPは、脆弱性スキャン中に検出された脆弱性と警告に関するレポートを提供します。
目的
- ZAPをOCI DevOpsビルド・パイプラインと統合します。
前提条件
- アプリケーションをビルドおよびデプロイするためのパイプラインを作成および設定します。詳細は、OCI DevOps CI/CDパイプラインを使用したKubernetesへのアプリケーションのデプロイを参照してください。
タスク1: ZAPスキャンのビルド・ステージの設定
-
zap_build_spec.yaml
という名前のZAP統合ステージについて、次の構成を使用してビルド仕様ファイルを作成します。ビルド仕様コマンドのapplication-URL
をデプロイ済アプリケーションURLに置き換えます。ビルド・パラメータを使用して、より動的にすることもできます。ビルド仕様ファイルをリポジトリにアップロードします。version: 0.1 component: build timeoutInSeconds: 10000 runAs: root shell: bash steps: - type: Command timeoutInSeconds: 1200 name: "Zap Scan" command: | docker run -v /docker-vol/agent-dir/ext/${OCI_PRIMARY_SOURCE_NAME}:/zap/wrk/:rw --user root ghcr.io/zaproxy/zaproxy:stable zap-baseline.py -t <application-url> -g gen.conf -d -r report.xml outputArtifacts: - name: zap-report type: BINARY location: ${OCI_PRIMARY_SOURCE_DIR}/report.xml
-
ZAP統合のビルド・ステージを追加します。
-
ビルド・パイプラインの下の「ステージの追加」をクリックし、「ビルド・ステージの管理」を選択します。
-
「Build Spec file path」に
zap_build_spec.yaml
と入力します。 -
ステージ名を入力し、プライマリ・コード・リポジトリを追加します。
-
「接続タイプ」にOCIコード・リポジトリを選択し、
zap_build_spec.yaml
が存在するコード・リポジトリを選択します。
-
-
アーティファクトの追加
-
「アーティファクトの追加」をクリックします。
-
タイプを「一般アーティファクト」として指定します。
-
ZAPレポートが格納されるアーティファクト・レジストリ・リポジトリを選択します。
-
リポジトリから「アーティファクト」を選択します。
-
「追加」をクリックします。
-
-
このステージでは、ZAPレポートをアーティファクト・レジストリにプッシュします。以前に作成したビルド・パイプラインで、「アーティファクトの配信」タイプの別のステージを追加します。
-
「アーティファクトの選択」をクリックし、作成したアーティファクトを選択します。
-
このアーティファクト名を
zap_build_spec.yaml
ファイルに記述したため、ビルド構成/結果アーティファクト名をzap-reportとして指定します。 -
「追加」をクリックします。
-
-
ビルド・パイプラインを次の図に示します。「手動実行の開始」をクリックして、パイプラインを実行します。
-
パイプラインが正常に実行された後、アーティファクト・レジストリからZAPレポートをダウンロードできます。
次のステップ
生成されたZAPレポートは、ZAPスキャン中に検出された脆弱性および警告の理解に役立ちます。このビルド仕様構成はベースライン・スキャンを実行しています。「ZAP - フル・スキャン」を実行することもできます。これは、実際の攻撃を実行し、長時間実行される可能性があります。
ZAPスキャンは、まずテスト環境で実行できます。テスト環境で脆弱性が見つからない場合は、アプリケーションを本番環境にロールアウトできます。
関連リンク
確認
- 著者: Nikhil Khandelwal (エンタープライズ・クラウド・アーキテクト)
その他の学習リソース
docs.oracle.com/learnの他のラボをご覧いただくか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。
製品ドキュメントは、Oracle Help Centerを参照してください。
Integrate Zed Attack Proxy with Oracle Cloud Infrastructure DevOps Build Pipeline
F89773-01
November 2023
Copyright © 2023, Oracle and/or its affiliates.