Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
DevSecOps CI/CDツール導入のススメ
Search
Tommy(sigma)
December 15, 2023
Programming
200
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
DevSecOps CI/CDツール導入のススメ
セキュリティ勉強会 Sprout 2023年12月
SANS 540でCI/CDの概念やCI/CDの中に組み込めそうなツールについて学んだので実際に使ってみました。
Tommy(sigma)
December 15, 2023
More Decks by Tommy(sigma)
See All by Tommy(sigma)
なぜHaskellは美しいと言われるのか?
ryosukedtomita
1
13
AWSビルダーカードで遊んでみた
ryosukedtomita
1
150
#QiitaBash TDDで(自分の)開発がどう変わったか
ryosukedtomita
1
500
#QiitaBash MCPのセキュリティ
ryosukedtomita
2
1.8k
#QiitaBash TDDでAIに設計イメージを伝える
ryosukedtomita
2
2.2k
#QiitaBash 良い記事は誰かを救う!2025/04/14
ryosukedtomita
0
38
CI/CDのセキュリティ対策にOSSツールを使ってみる
ryosukedtomita
0
82
生成AIの世界で君たちはどう生きるか
ryosukedtomita
0
140
Other Decks in Programming
See All in Programming
APNsからLive Activityを開始する話
yumnumm
0
160
wkhtmltopdfの次どうするか問題2026
willnet
2
1.9k
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
740
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
8
2.1k
カツオ、ご期待ください
suneo3476
0
160
Turning Architecture into Unit Tests in the AI Era (NSSpain XIV)
steliosf
PRO
1
140
速習iPhone Duo対応
yuukiw00w
2
970
複雑なUIコンポーネントとの ⻑い付き合い⽅:波及するバグからテスト戦略を経て、安全な再設計へ
mixplace
0
280
contenteditable と日本語入力に向き合う
colorful12
0
180
気持ちぃ〜角丸 Squircle
ryu1013
0
160
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
470
Agents on Rails - Rails at Scale 2026
irinanazarova
0
520
Featured
See All Featured
Building an army of robots
kneath
307
47k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
77k
Product Roadmaps are Hard
iamctodd
55
13k
How STYLIGHT went responsive
nonsquared
100
6.3k
Test your architecture with Archunit
thirion
2
2.4k
Building Flexible Design Systems
yeseniaperezcruz
330
41k
4 Signs Your Business is Dying
shpigford
187
23k
For a Future-Friendly Web
brad_frost
184
10k
Designing Powerful Visuals for Engaging Learning
tmiket
1
600
The Mindset for Success: Future Career Progression
greggifford
PRO
0
530
Producing Creativity
orderedlist
PRO
348
41k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
2
350
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しかり,ツールの出来が良くなってきているので時代に置いていかれないよ うにがんばりたい →体系的に学ぶだけでなく実践で学ぶ力が必用かも