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
GitHub と Azure でアプリケーションとインフラストラクチャの守りを固めるDevSe...
Search
Kazumi IWANAGA
June 05, 2023
Technology
1
180
GitHub と Azure でアプリケーションとインフラストラクチャの守りを固めるDevSecOps
「開発を加速するGitHub x Azure 最新開発ベストプラクティス vol.3」でお話した資料です。
Kazumi IWANAGA
June 05, 2023
Tweet
Share
More Decks by Kazumi IWANAGA
See All by Kazumi IWANAGA
【再】#2 GitHub Copilot Enterprise&GitHub Actionsナレッジ オープニング資料
dzeyelid
0
63
GitHub最新情報キャッチアップ 2024年3月
dzeyelid
17
5k
GitHub dockyardコミュニティ 竣工イベント!オープニング資料
dzeyelid
0
250
地味だけど劇的に便利になるGitHubリポジトリ設定あれこれ
dzeyelid
1
1.8k
GitHub最新情報キャッチアップ 2023年6月
dzeyelid
2
2.8k
高さ比べじゃない、キャリアは歩んできた道
dzeyelid
0
480
GitHub Copilotとともに次の開発体験へ
dzeyelid
1
350
突如登場したAzure Developer CLIでなにができるのか?検証してみる
dzeyelid
0
100
GitHub Actions と Azure PaaS でプルリクエストごとに環境を ~ Azure Static Web Apps と Container Apps
dzeyelid
0
160
Other Decks in Technology
See All in Technology
Evangelismo técnico: ¿qué, cómo y por qué?
trishagee
0
360
マルチプロダクトな開発組織で 「開発生産性」に向き合うために試みたこと / Improving Multi-Product Dev Productivity
sugamasao
1
300
100 名超が参加した日経グループ横断の競技型 AWS 学習イベント「Nikkei Group AWS GameDay」の紹介/mediajaws202411
nikkei_engineer_recruiting
1
170
Security-JAWS【第35回】勉強会クラウドにおけるマルウェアやコンテンツ改ざんへの対策
4su_para
0
170
[CV勉強会@関東 ECCV2024 読み会] オンラインマッピング x トラッキング MapTracker: Tracking with Strided Memory Fusion for Consistent Vector HD Mapping (Chen+, ECCV24)
abemii
0
220
BLADE: An Attempt to Automate Penetration Testing Using Autonomous AI Agents
bbrbbq
0
290
Lambda10周年!Lambdaは何をもたらしたか
smt7174
2
110
スクラムチームを立ち上げる〜チーム開発で得られたもの・得られなかったもの〜
ohnoeight
2
350
Making your applications cross-environment - OSCG 2024 NA
salaboy
0
180
【Startup CTO of the Year 2024 / Audience Award】アセンド取締役CTO 丹羽健
niwatakeru
0
950
これまでの計測・開発・デプロイ方法全部見せます! / Findy ISUCON 2024-11-14
tohutohu
3
360
New Relicを活用したSREの最初のステップ / NRUG OKINAWA VOL.3
isaoshimizu
2
580
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1030
460k
The Invisible Side of Design
smashingmag
298
50k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Agile that works and the tools we love
rasmusluckow
327
21k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
47
2.1k
Optimizing for Happiness
mojombo
376
70k
4 Signs Your Business is Dying
shpigford
180
21k
Making the Leap to Tech Lead
cromwellryan
133
8.9k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
120
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
10 Git Anti Patterns You Should be Aware of
lemiorhan
654
59k
Transcript
GitHub と Azure でアプリ ケーションとインフラストラクチャ の守りを固める DevSecOps 開発を加速するGitHub x Azure
最新開発ベストプラクティス vol.3
岩永かづみ / Kazumi IWANAGA • Microsoft MVP for Azure •
ZEN Architects 所属 • GitHub公認トレーナー • 得意な領域 • Infrastructure as Code • GitHub Actions による自動化 • 技術コミュニティ • Code Polaris / Hack Everything. • @dz_ • @dzeyelid • @dzeyelid • dzeyelid
ぶっちゃけ、セキュリティに割いて いる時間はないの。
シフトレフトで早めにセキュリティに対応することが有用なのは、 めちゃくちゃ賛同! だけど、その時間がないんだよなぁ~
セキュリティのための時間とお金 時間 お金
GitHub 使ってますか?
GitHub 使ってますか? GitHub ですぐできるセキュリティ対策、 教えちゃいます
GitHub でできるセキュリティ対策 Code scanning プルリクエスト Dependabot GitHub Actions Secret scanning
Secret scanning デフォルトブランチ 作業ブランチ push push
参考 • GitHub セキュリティを備えた DevSecOps - Azure Architecture Center |
Microsoft Learn • コードとしてのインフラストラクチャ (IaC) 向け DevSecOps - Azure Architecture Center | Microsoft Learn
GitHubで始める ゼロ"コスト" セキュリティ対策 Dependabot
Dependabot GitHubで始める ゼロ"コスト" セキュリティ対策
Dependabot Code scanning プルリクエスト Dependabot GitHub Actions Secret scanning Secret
scanning デフォルトブランチ 作業ブランチ push push
Dependabot は無料ですぐ使える • 依存関係のスキャン、脆弱性の検出を行う • パブリック、プライベートリポジトリで無料で使える • 検出の対象は、デフォルトブランチ
Dependabot 関連機能一覧 機能(無料で使える) 説明 Dependency graph 依存関係の一覧を表示する Dependabot alerts 依存関係の中に脆弱性を検出した場合、通知する
Dependabot security updates 検出された脆弱性のある依存関係を対処するための提案を行う(プルリ クエストが作成される) Dependabot version updates 依存関係のうち、新しいバージョンがあれば通知し、提案を行う(プルリク エストが作成される) 機能(※) 説明 Dependency review 依存関係をスキャンし、脆弱性を検出する機能が GitHub Actions の アクションとして提供されている = デフォルトブランチにマージする前に脆弱性を検出できる ※ パブリックリポジトリ、または GitHub Advanced Security(GHAS) が適用されたプライベートリポジトリでしか利用できない
Dependabot デモ • Dependency graph を確認してみる • Dependabot alerts, security
updates の有効化 • Dependebot alerts を確認してみる • Dependabot security updates によるプルリクエストを確認して みる • Dependabot version updates の有効化、設定
Dependabot 参考 • サプライ チェーンのセキュリティについて - GitHub Docs • 依存関係グラフについて
- GitHub Docs • Dependabot アラートについて - GitHub Docs • Dependabot のセキュリティ アップデート - GitHub Docs • GitHub Dependabot のバージョンアップデートについて - GitHub Docs • 依存関係レビューの構成 - GitHub Docs
GitHubで始める ゼロ"タイム" セキュリティ対策 Secret scanning, Code scanning: CodeQL
Secret scanning GitHubで始める ゼロ"タイム" セキュリティ対策
Secret scanning Code scanning プルリクエスト Dependabot GitHub Actions Secret scanning
Secret scanning デフォルトブランチ 作業ブランチ push push
Secret scanning(パブリックリポジトリ) • パートナープログラムで提供されているシークレットパターンが検出さ れる • シークレットが検出されると、そのパートナーに通知され、シークレット の無効化などが対応される • リポジトリ管理者への通知は設定で有効化できる
• 検出の契機は、push 時(どのブランチでも) • パブリックリポジトリの場合は無料で利用できる
Secret scanning 機能一覧 パブリックリポジトリ プライベートリポジトリ プライベートリポジトリ (GHASあり) パートナーへの通知(防御実施) 必ず行われる 利用不可
有効 or 無効 GitHub上での通知表示 有効 or 無効 利用不可 有効 or 無効 Push protection 利用不可 利用不可 有効 or 無効 カスタムパターン 利用不可 利用不可 追加できる(最大100) ※ GHAS = GitHub Advanced Security
Secret scanning(GHASあり) • プライベートリポジトリで Secret scanning を利用したい場合は、 GHAS が必要 •
パブリックリポジトリでできることに加え、Push protectionやカスタ ムパターンによる検出を行える
Secret scanning(GHASあり) Code scanning プルリクエスト Dependabot GitHub Actions Secret scanning
Secret scanning デフォルトブランチ 作業ブランチ push push Push protection
Secret scanning - Push protection
Secret scanning デモ • Secret scanning alerts を確認してみる • パブリックリポジトリでの設定
• GitHub Enterprise 配下の設定
Secret scanning 参考 • シークレット スキャンについて - GitHub Docs •
secret scanning パターン - GitHub Docs • Secret scanning partner program - GitHub Docs • シークレット スキャンによるプッシュの保護 - GitHub Enterprise Cloud Docs(GitHub Enterprise) • シークレット スキャンのカスタム パターンの定義 - GitHub Enterprise Cloud Docs(GitHub Enterprise)
Code scanning GitHubで始める ゼロ"タイム" セキュリティ対策
GitHub でできるセキュリティ対策 Code scanning プルリクエスト Dependabot GitHub Actions Secret scanning
Secret scanning デフォルトブランチ 作業ブランチ push push
GitHubが提供する静的解析をすぐ使える • 設定から静的解析をすぐ適用できる • より柔軟に設定したい場合は、GitHub Actions のワークフローを出力し、カ スタマイズができる • パブリックリポジトリの場合は無料で利用できる
• プライベートリポジトリで利用したい場合は、GitHub Advanced Security(GHAS) が必要 • 解析は GitHub が提供する CodeQL を用いており、様々な言語や フレームワークに対応しており、クエリを自作することもできる
CodeQL analysis 導入デモ • Setup の操作 • Advanced を選択した場合のワークフロー •
検出されたアラートを確認してみる
CodeQL のセットアップは簡単
CodeQL デフォルト設定は自動判別 リポジトリにあるコードの言語を検出して、対応した言語を設定してくれる
検出結果をGitHub上で確認できる
検出結果詳細 コードの位置や、関連する脆弱性などの情報を確認できる
アプリケーションだけでなく、 インフラの脆弱性も Code scanning: Overview
サードパーティツールの結果を取り込める • Code Scanning は、SARIF 形式の解析結果をアップロードすると Overview で統合して扱える
サードパーティーツールによる解析 デモ • tfsec アクションの紹介 • microsoft/security-devops-action アクションの紹介 • github/codeql-action/upload-sarif
によるアップロード
tfsec • Terraform のコードを解析をしてくれる • Azure などの主要なプラットフォームプロバイダのインフラ構成の解 析もサポートしている • aquasecurity/tfsec:
Security scanner for your Terraform code (github.com)
microsoft/security-devops-action • オープンソースの解析ツールを統合してスキャンを実行してくれる • Bandit, BinSkim, Eslint – Python, バイナリ,
JavaScript など解析 • Template Analyzer - ARMテンプレート、Bicep の解析 • Terrascan – Terraform やコンテナ周りの解析 • Trivy – コンテナ周りの解析 • microsoft/security-devops-action: Microsoft Security DevOps for GitHub Actions.
GitHub でのセキュリティ対策、 漏れはない? Microsoft Defender for GitHub
Microsoft Defender for DevOps
Defender for DevOps 資料 • Microsoft Defender for DevOps -
利点と機能 | Microsoft Learn • Microsoft Security DevOps GitHub アクションを構成する | Microsoft Learn
まとめ
GitHubセキュリティ関連の利用可否まとめ パブリックリポジトリ プライベートリポジトリ プライベートリポジトリ (GHASあり) Dependency graph 〇 〇 〇
Dependabot alerts 〇 〇 〇 Dependabot security updates 〇 〇 〇 Dependabot version updates 〇 〇 〇 Dependency review 〇 × 〇 Secret scanning 〇 × 〇 Secret scanning(Push protection, カスタムパターン) × × 〇 Code scanning 〇 × 〇
GitHub Advanced Security とは • GitHub Enterprise Cloud または Server
のライセンスに付与す る追加ライセンス • 前述のように、プライベートリポジトリでセキュリティ関連の機能をフル に利用するために必要
Thank you so much🍩.