Snyk導入によりセキュリティリスクの可視化、対策の効率化が可能に
株式会社Gunosy / yamaguchi-tk
EM / SRE / 従業員規模: 101名〜300名 / エンジニア組織: 11名〜50名
利用プラン | ツールの利用規模 | ツールの利用開始時期 |
---|---|---|
エンタープライズ | 11名〜50名 | 2022年12月 |
利用プラン | エンタープライズ |
---|---|
ツールの利用規模 | 11名〜50名 |
ツールの利用開始時期 | 2022年12月 |
導入の背景・解決したかった問題
導入背景
Snyk導入前は、緊急性のある脆弱性に対して、どのリポジトリ・ファイル・Imageが対応する必要があるのかをエンジニア総出で調査する必要がありました。またPRレビューでセキュリティチェックはしていたものの、レビュワーの経験値に依存している状態でした。
そのため、下記2点に対応できる環境を整備するため、ツール導入の検討をスタートしました。
- どこにリスクがあるのか、またそのリスクに対応するために必要な情報が、ダッシュボードで一覧的に入手できる
- CIでのレビュー依存を脱却し、脆弱性が存在する場合は自動でデプロイされない
比較した軸
ツールを比較するに当たっては、
- SREの人数が少ないので、その人数で脆弱性のトリアージができること
- 開発者が対応する際にどのように対応すれば良いかがわかりやすいこと
- CIに組み込めること
の3点を意識して検討をしました。
比較したサービス
- Trivy
- Aqua
- Amazon Inspector
選定理由
Snyk導入の決め手となったのは下記のポイントです。
- ダッシュボードで、セキュリティリスクの状態が分かりやすいという点。特にどのように対応すれば良いのかがわかるサジェスト機能が良かった。
- BaseImageをどれに更新するとどれくらい脆弱性が減るか予め分かる点
- ECRのImageをScanする場合に、Tagで追跡して継続的にScanしてくれる点
- OSSライブラリの脆弱性指摘に対して、Fixの有無や、依存関係先のどこで脆弱性があるのかが分かりやすく表示してくれる点
- VSCode拡張、CIへの組み込み、イメージリポジトリのScan、EKS上のImageのScanと一気通貫で対応できる点
- 全社的なチェックルールが作れる点
- Importして設定するだけで、PR Checkが可能な点
- 課金体系が開発者数単位である点
導入の成果
Snykのダッシュボードによって、セキュリティリスクの可視化は達成できました。
実際に運用をスタートして、対応すべき脆弱性が出てきた時も、対応が必要なリポジトリをスプレッドシートに整理し、エンジニアに周知するまで30分以内に完了できました。
また、PR Checkについても、Importして設定するだけで有効にでき、現在は全てのリポジトリに対して脆弱性チェックができている状態です。
導入時の苦労・悩み
脆弱性がある程度減るまでは、トリアージの量が多く、開発者の工数もかかり、定常運用に乗せるまでが苦労しました。またセキュリティ対応することと通常の開発の優先度調整ができるまでが大変でした。
導入に向けた社内への説明
上長・チームへの説明
経営陣へは、CTOが稟議を上げて調整をしました。
セキュリティ対策は必ずしなければならないものであるという前提の元、ツール導入はセキュリティ専門のエンジニアを一人雇うよりも安く、またSnykであれば網羅的なセキュリティ対策が可能であるという点で説明をしたと聞いています。
社内へのツール展開では、とにかくセキュリティ対応が必要であることの理解を得る為に、根気強く説明をしました。リスクの観点で対応が必要なスコープを絞り優先度をつけて展開したというのと、継続的なセキュリティ対応を実施していくために、セキュリティ対応をする日や時間を設置してもらうようにしました。
活用方法
SREが週次でSnykのダッシュボードを確認し、新たな脆弱性があればJIRAチケットを起票して開発チームに対応を依頼しています。
開発チームはSnykのダッシュボードで、脆弱性への対応方法を確認して対応しています。
よく使う機能
- Snyk WebUI
- PR Check
- Snyk CLI
ツールの良い点
- ダッシュボードが見やすくて使いやすい
- Base Imageを更新したときの脆弱性指摘数のシミュレーションができる
- 脆弱性を修正する際のサジェストがわかりやすくて強力
ツールの課題点
- 孫依存ライブラリに脆弱性がある場合に、直接参照しているライブラリが対応するまでIgnoreすることができない
- JIRAとの連携機能はあるが、脆弱性単位での連携のため、脆弱性を一定以上減らすまではJIRAチケットが爆発してしまうので利用しにくい
- GitHubリポジトリからScan対象ファイルが削除された際に、Snyk上で指摘が残り続ける(自動で削除してくれない)
その他
Snykを使っている中で失敗したエピソード
- GitHubのBranch protection ruleでSnykのPR Checkをrequiredにした場合に、Snyk側に障害があるとマージができなくなりました。一時的にrequiredを外して対応し、Snyk側が回復したタイミングで再度requiredに戻しました。
- 最初はCritical、Highも含めてSREがトリアージしていましたが、対応が回らなくなったのでトリアージ対象をCriticalのみに絞った運用に変更しました
ツールを検討されている方へ
開発者数課金なので、開発組織によって向き不向きがあります。比較的少数の開発者で多くのリポジトリをメンテナンスしている組織では、リソース課金のツールよりも低価格で使えます。
脆弱性指摘の修正方法のサジェストが強力なので、開発者からの抵抗が少ないことや、修正工数の低減が期待できます。
なによりダッシュボードが見やすくて強力なので、兼務でセキュリティ管理をしている組織にとっては使いやすいと思います。
株式会社Gunosy / yamaguchi-tk
EM / SRE / 従業員規模: 101名〜300名 / エンジニア組織: 11名〜50名
NW企業、HW企業、自社製品カスタマイズ企業を経験、リーマンショックでの事業縮小の影響でフリーランスとなり、フリーランスで10年程度インフラエンジニア(OS、M/W、DB担当)を経験後、SaaS企業(AWS、オンプレ)、SIerを経て2022年からGunosyに在籍しています。JAWS-UG千葉支部運営。AWS Community Builder(Security & Identity)/ Snyk Ambassador / Security Hub芸人 / AWS12冠 / Azure8冠 / CKA CKAD CKS
よく見られているレビュー
株式会社Gunosy / yamaguchi-tk
EM / SRE / 従業員規模: 101名〜300名 / エンジニア組織: 11名〜50名
NW企業、HW企業、自社製品カスタマイズ...