はじめに
こんにちは、株式会社Flatt Securityプロダクトマネージャーの小島です。Shisho Cloud というソフトウェアサプライチェーンに関するセキュリティ上の問題の発見から修正までを包括的にサポートする開発者向けセキュリティツールを開発しています。
本日はこのサービスに関連して、GitHub Organizationを安全に運用していくためのベストプラクティス、そしてそのベストプラクティスがきちんと開発組織の中で運用されているかをモニタリングする方法についてまとめたスライドを公開しました。
スライドは下記のSpeakerdeckのURLより無料/登録不要で閲覧/ダウンロードいただけます。
https://speakerdeck.com/flatt_security/2022-github-org-best-practices
この記事では、そのスライドを公開のお知らせを兼ねて、公開の背景や概要について紹介できればと思います。
スライド公開の背景
Flatt Securityが近日リリース予定のShisho Cloud (https://shisho.dev/jp)では、ソフトウェアサプライチェーンに関するセキュリティリスクの発見/修正機能を提供しており、GitHub Organizationの管理/設定のリスク検知もその機能の一部として提供しています。
この機能を提供している背景には、GitHub上の資産が侵害されたときのリスクが甚大であることが挙げられます。GitHubはソースコードの管理だけでなく、インフラストラクチャの設定の集約や GitHub Actionsによるプロダクトの継続的なデリバリーなどの役割を持つ、現代のソフトウェアの開発組織におけるワークスペースとなっているためです。
しかし、GitHub運用のセキュリティを取り巻く現状には以下のような課題があると考えてます。
-
開発体験を保ちながらGitHubをセキュアに運用をしたいが、何がベストプラクティスか分からない。
-
Organizationの設定項目が多岐に渡るため、開発者にとってそれぞれの設定に対する具体的なメリットが分かりづらい。
-
機能や公式ドキュメントの内容が多く、セキュリティの観点で必要な機能や情報を探しづらい。
そこで、本スライドでは開発組織に役立てていただくことを目的に、GitHubのOrganizationの安全な運用についての観点とモニタリングの方法についての情報をまとめて公開しました。(※)
またサービスの宣伝にはなりますが、GitHub Organizationの安全な運用に対してShisho Cloudが提供しているサービスについても末尾でご紹介しています。
(※注: 本スライドの内容についてGitHub社は一切関与しておらず、公式のドキュメントなどの内容を元に株式会社Flatt Securityが独自に作成した内容になります)
TL;DR (スライドのまとめ)
GitHubのOrganizationを安全に運用するためには、構成するメンバー管理やアクセス管理を徹底した上で、Organizationレベル・リポジトリレベルのそれぞれで利用できる統制のための設定を管理していきましょう (1~3)。その上で、インシデントの影響を最小化するための取り組み (4) や、GitHub が備える発展的な機能の利用 (5) まで取り組めると理想的です。
- Organizationへのアクセスを統制する
- Organizationレベルの設定を堅牢に保つ
- リポジトリレベルの設定を堅牢に保つ
- センシティブデータの混入を防ぐ
- GitHubのセキュリティ関連機能を活用する
また、このようなベストプラクティスには、設定するだけでは不十分で運用実態を注視する必要があるものや、セキュリティ担当者が全リポジトリに一括で設定できないようなもの(例: Branch Protection Rule)も含まれています。実際に社内でそれらが正しく運用されているかどうかは以下のようなGitHubの機能やツールを活用することで継続的にモニタリングしていきましょう。
-
GitHubのAudit Logを記録・確認する
-
継続的な監査のための基盤を自作する
-
Allstarによる継続的なチェックを行う
-
Shisho Cloudによる継続的なチェック・管理を行う
スライド内容の抜粋
スライドの雰囲気をお伝えできるように、内容を一部抜粋して掲載します。詳細な内容はスライド本文にてご覧ください。
最後に
弊社ではソフトウェア開発に関するセキュリティの発信をしていますが、今後はソフトウェアサプライチェーンのセキュリティに関する発信も合わせて続けていければと思っています。まだまだインターネット上での情報が多くないので、少しでも世の中の開発者の方の助けになれば嬉しいです。
また、本スライドを通じてShisho Cloudについて興味を持ってくださった方は、下記URLよりお気軽にお問い合わせください!サービス導入の相談という形でなくても、30分程度のご相談からでも受け付けています。
特に「スライドのようにGitHubの運用を統制してみたいが、その方法について悩んでいる」「GitHubの運用に限らず、OPA/Regoを活用したポリシーマネジメントの基盤をつくりたい」といった課題感に対してお応えしやすいかなと思います。興味をお持ちの方はぜひ、以下ページのフォームよりご連絡ください!
ここまでお読みいただきありがとうございました。