Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
DevSecOps CI/CDツール導入のススメ
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Tommy(sigma)
December 15, 2023
Programming
1
150
DevSecOps CI/CDツール導入のススメ
セキュリティ勉強会 Sprout 2023年12月
SANS 540でCI/CDの概念やCI/CDの中に組み込めそうなツールについて学んだので実際に使ってみました。
Tommy(sigma)
December 15, 2023
Tweet
Share
More Decks by Tommy(sigma)
See All by Tommy(sigma)
AWSビルダーカードで遊んでみた
ryosukedtomita
1
120
#QiitaBash TDDで(自分の)開発がどう変わったか
ryosukedtomita
1
460
#QiitaBash MCPのセキュリティ
ryosukedtomita
2
1.8k
#QiitaBash TDDでAIに設計イメージを伝える
ryosukedtomita
2
2.1k
#QiitaBash 良い記事は誰かを救う!2025/04/14
ryosukedtomita
0
17
CI/CDのセキュリティ対策にOSSツールを使ってみる
ryosukedtomita
0
52
生成AIの世界で君たちはどう生きるか
ryosukedtomita
0
120
Other Decks in Programming
See All in Programming
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
370
Premier Disciplin for Micro Frontends Multi Version/ Framework Scenarios @OOP 2026, Munic
manfredsteyer
PRO
0
200
今、アーキテクトとして 品質保証にどう関わるか
nealle
0
200
AIコーディングの理想と現実 2026 | AI Coding: Expectations vs. Reality 2026
tomohisa
0
950
CSC307 Lecture 15
javiergs
PRO
0
210
文字コードの話
qnighy
43
17k
手戻りゼロ? Spec Driven Developmentとは@KAG AI week
tmhirai
1
150
浮動小数の比較について
kishikawakatsumi
0
370
LangChain4jとは一味違うLangChain4j-CDI
kazumura
1
140
2026年は Rust 置き換えが流行る! / 20260220-niigata-5min-tech
girigiribauer
0
220
Takumiから考えるSecurity_Maturity_Model.pdf
gessy0129
1
110
CSC307 Lecture 10
javiergs
PRO
1
690
Featured
See All Featured
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
190
We Are The Robots
honzajavorek
0
190
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
78
Balancing Empowerment & Direction
lara
5
930
Facilitating Awesome Meetings
lara
57
6.8k
Six Lessons from altMBA
skipperchong
29
4.2k
GraphQLとの向き合い方2022年版
quramy
50
14k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
470
We Have a Design System, Now What?
morganepeng
55
8k
AI: The stuff that nobody shows you
jnunemaker
PRO
3
350
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.4k
Transcript
Ryosuke Tomita DevSecOpsを 個人開発に取り入れてみた Sigma
最初に言っておこう • 自己研鑽でやったことの紹介に近いかも • 嘘言ってたらすみません • 手抜きで汚いスライド注意! ◦ 発表の見栄えを良くするよりも試行錯誤を優先してしまった
目次 • DevSecOpsとは • 取り入れたセキュリティ対策(ツールの導入) ◦ 環境紹介 ◦ 導入したツールの紹介等 ◦
感想
DevSecOpsとは
DevOpsとは 少人数のチームが全体をまとめてスピード感UP→個人開発と相性良 https://www.nri-secure.co.jp/service/consulting/devsecops
CI/CDパイプラインによる自動化 https://www.networld.co.jp/solution/container_businessmaster/chapter4_3.html
従来型の開発におけるセキュリティ • 基本設計: チェックリスト,ガイドラインの確認 • コーディング: コーディング規約 • リリース前のセキュリティ診断
DevOpsに対するセキュリティ(DevSecOps) DevOpsのセキュリティの問題点 • リリース速度が早く,毎回セキュリティ診断するのは大変 • ガイドラインが技術の変化に追いついていない • チェックリストを手動でチェックする負担大 開発の中にセキュリティを組み込むことが必用→DevSecOps
SHIFT LEFT DevSecOpsでは開発の俊敏性を損なわずにセキュリティ対策したい • 設計段階でセキュリティ対策: 設計評価 • 開発の中にセキュリティテストを組みこむ→ツールによる自動化
https://www.slideshare.net/pumasecurity/devsecops-key-controls-to-modern-security-success
取り入れた セキュリティ対策 やってみせろよマ フィティー
使用した技術 • Reactのアプリを • Dockerでビルドして • AWS ECS on Fargate公開しちゃおう(未完成)
セキュリティなんもわからん
全体構成図 Copilot CLI Code Pipeline ECS(開発) ECS(本番) Extensions Image Scan
コードスキャン 承認後に本番 デプロイ
Pre-Commitフェーズでの セキュリティ対策
Pre-Commit(コミット前の対策) • VSCodeのExtensions • pre-commit hooksによるコミット前の検査 • Rapid-Risk-Assessment • Peer
Code Review 脆弱なコードがリポジトリに取り込まれないようにする
VSCode Extensions • Hadolint: Dockerfileのベストプラクティス • ESLint: JS,TSの構文チェック • Prettier
ESLint: Formatter • (Code Spell Checker) コードを書く時にセキュリティを意識,書き方 を統一!
Rapid Risk Assessment • doc/rapid-risk-assessment.mdを配置 • どんなリスクがあるか洗い出しておく→個人の場合はがんばる
pre-commit hooks • コミット前に簡易的な検査を実行し,違反していたらコミットさせない • git-secrets: APIキーやパスワード等を検知 • 余力があれば,LinterとかFormatterをいれると良い ◦
Hadolint: Docker ◦ Prettier: TSのFormatter ◦ ESLint: ESのLinter ◦ CloudFormationのLinter: cfn_nag ◦ conftest: k8sのmanifestとか
None
Peer Code Review • ぼっちなので無理 • ChatGPTとGithub Copilotに助けてもらおう
Commitフェーズでの セキュリティ対策
Commit(CI) • SAST(Static Application Security Testing) • Unit Test •
Dependency Check: ライブラリのチェック • Image Scan Code Pipeline
SAST,Unit Testの自動化 • Semgrepと単体テストの実行を自動化 • GitHub Actionsを使ってコードをpush時+定期実行
None
None
Dependency Check • Trivyを使う • package.jsonやpom.xml等をスキャンして脆弱なライブラリを指摘して CVEと紐づけしてくれる
Image Scan • AWS Copilot CLIを使ってコンテナビルドを行う関係上, Image ScanはAWS側で行った • mainブランチにマージした時にCode
Pipelineのソースが更新され Image Scanとデプロイが進むようにした AWS Code Pipeline
None
脆弱性が見つかったらDocker Desktopのほうが見やすい
その他の部分 (あんまやれてない)
Acceptance • IaC化 • Config Management • DAST: OWASP ZAPを使う予定だったが取り入れられず。
AWS Copilot CLIが作ってくれた
PRODUCTION • Secrets Management: AWS SSM,Github Actions Secrets? • Safety
checks • Server Hardening • Security Smoke Test なにしたらいいかよくわかってない
OPERATIONS • Continuous Monitoring: AWS ConfigとかCloud Trailとか • Threat Inteligence:
piyokangoさんを見る • Penetration Test: 実施せず • Blameless Postmortems: 誰も攻めない自己分析は大事(組織作り?)
全体を通した感想など • いろいろな実装方法があるので親しみのあるもので環境作成したが, コストとか考えると最適解は難しい ◦ (AWS Copilot CLIの使い勝手がいいのでこれに合わせてしまった) • pre-commitは脆弱なコードをそもそもリポジトリに入れないのは素敵だが,可用性
が落ちるのでどこまでやるか要検討 • 脆弱性に気づけても直せるか,(直す気になるか)は別問題 • 生成AIしかり,ツールの出来が良くなってきているので時代に置いていかれないよ うにがんばりたい →体系的に学ぶだけでなく実践で学ぶ力が必用かも