c3.10 DevSecOps パイプラインを構築する
DevSecOps は、開発・セキュリティ・運用が自動化された継続的デリバリーのパイプラインで協働し、リリースの最初からセキュリティを組み込む(後付けしない)ことを意味します。ハードニング、セキュリティテスト、保護的な統制をパイプラインに組み込みます。
実装ガイダンス
継続的デリバリーにセキュリティを自動で組み込む
ビルド、プロビジョニング、品質テスト、セキュリティテスト、監視が自動化された継続的デリバリーのパイプラインを採用し、セキュリティをリリースの最初から(最後ではなく)考慮します。
AWS のガイダンスとアクセラレーターから始める
DevSecOps は方法論であり、「オンにする」単一の AWS サービスではありません。パイプラインを設計・標準化するには、AWS の規範的な資料から始めます。
- Designing a DevSecOps mechanism: 仕組みを構築するための規範的ガイダンス。
- AWS DevOps Pipeline Accelerator(DPA): アプリケーションやインフラ向けに、完全で標準化された CI/CD パイプラインを構築するテンプレート。
- AWS Well-Architected DevOps Guidance: セキュリティを組み込んだ開発ライフサイクルを備えた、ベストプラクティスのフレームワーク。
AWS DevOps Agent は、運用側でパイプラインを補完します。リリースの準備状況とテストをレビューし、AWS・マルチクラウド・オンプレミスにわたるインシデント対応と信頼性のための自律的なオンコールエンジニアとして機能する AI エージェントです。DevSecOps の「Ops」を強化するために使います。より深い適合は運用・インシデント対応の統制にあります(重要なプレイブックの自動化と高度なセキュリティ自動化を参照)。以下のパイプラインのセキュリティテスト(依然として SAST/DAST/SCA とシークレットスキャン)を置き換えるものではありません。
パイプラインでベースをハードニングする
インスタンスにデプロイする場合:
- EC2 Image Builder を使い、最新のパッチでベースイメージを定期的に再構築します。
- Amazon Inspector エージェントを追加し、OS とアプリの脆弱性をインスタンスで継続的に確認します。
- OS のハードニング(たとえば CIS ベンチマーク)を適用します。Inspector が整合を確認できます。
アプリをテストし、重大な検出でブロックする
パイプラインの一部として SAST と DAST にソフトウェア構成分析を加えて実行し、高または重大の脆弱性が見つかったら本番への昇格を止めます。欠陥は早く捕捉するほど修正が安価です。AWS CodePipeline がこれらのステージをオーケストレーションできます。
保護的な統制をコードとしてデプロイする
既知の脆弱性をまだ修正できない場合(たとえばサードパーティの依存関係)、修正が出るまでの間、補償的な統制(カスタムの AWS WAF ルールなど)をパイプラインの一部としてデプロイします。CI/CD で AWS セキュリティサービスを Terraform でデプロイする方法を参照してください。
全体像
動画を見る
How to validate
- パイプラインはアプリの脆弱性をスキャンしますか(SAST/DAST/SCA)?
- コードにコミットされたシークレットをスキャンしますか?
- 重大な脆弱性が見つかったとき本番への昇格をブロックしますか?
- ベースイメージはパイプラインで定期的にハードニングされ再構築されますか?
Threats addressed
- 公開された Web アプリケーションは脆弱性を攻撃者の手の届く範囲に置きます。パイプラインにセキュリティゲートがないと、欠陥のあるコードが本番に到達します。
- 開発チームがセキュリティの専門家であることはまれで、それを強制する自動化なしにセキュアコーディングを優先する時間もありません。
AWS サービス
Framework mappings
AWS CAF
Well-Architected
NIST CSF
References
- docs.aws.amazon.com/prescriptive-guidance/latest/designing-a-devsecops-mechanism
- docs.aws.amazon.com/prescriptive-guidance/latest/devops-pipeline-accelerator/introduction.html
- docs.aws.amazon.com/wellarchitected/latest/devops-guidance/devops-guidance.html
- aws.amazon.com/devops-agent
- aws.amazon.com/codepipeline
- www.cisecurity.org/cis-benchmarks
- aws.amazon.com/blogs/security/how-use-ci-cd-deploy-configure-aws-security-services-terraform
Cloud Security Maturity Model