外資就活ドットコム・外資就活ネクストの、インフラや開発環境の改善などプラットフォームエンジニアリングをしている Product Engineering チームです。
昨今、大手企業のサービスがハッキングされ、長期間にわたりサービスが提供できなくなるといった深刻なサイバー犯罪が特段目立つようになってきました。攻撃者はひとつの穴を見つけるだけで良いという圧倒的に防御側が不利な構造で、ひとつの脆弱な点が致命傷になりかないのが怖いところです。
社でも当然セキュリティは意識しているものの、より強固な環境を構築するために、本チームでは第 3 回めの開発 Days のテーマとして、普段集中して取り組みづらいセキュリティリスクの洗い出しをおこないました。
方針
今回のチェック対象はアプリケーションの脆弱性ではなく主にクラウドインフラの設定まわりとしました。セキュリティのベストプラクティスに沿って現状を見直し、以下の観点で整理しました。
- 発生可能性 : 弱点を突いて侵害される可能性。パスワードなどの単純な文字列の漏洩だけで侵害が可能なのか、複雑な手順が必要であったり、確率に左右されるものか。
- 重篤度 : その弱点が侵害された場合、サービスにどの程度影響を及ぼす可能性か。侵害自体が困難で確率がいくら低くても、いざ侵害された場合にシステム停止や復旧が不可能になるリスクは絶対に避けなければなりません。
分析
以下の 4 つのカテゴリーに集計、分析をおこないました。
認証情報
固定の認証情報を長期間使用し続けていないか、認証情報の保管、管理が適切かどうかを確認しました。認証情報はその管理を厳密にしても、漏洩する可能性はゼロにはなりません。
権限
各ユーザーやサービスに付与した権限が必要最小限になっているかどうかを確認しました。開発中に設定して最終的に不要になった権限や、過去に使用を検討して外部サービスに与えていた権限を整理しました。
アクセス制限
不要なサービスに対して通信可能な状態になっていないかどうかを確認しました。基本的には外部公開しているサービス以外はプライベートネットワーク内のみに閉じた通信にはなっていますが、一部が侵害され内部に侵入された場合を考慮するとこれも最小権限にしておく必要があります。
脆弱性
使用しているライブラリの脆弱性について、アップデートが必要なものがないかを確認しました。
まとめ
セキュリティを意識して設計していても、アップデートが必要な箇所や、さらに多層で守るためのアイディアまで 40 件ほどのリスク要因が洗い出せました。
セキュリティ対応には調査、対応、運用にコストがかかる上に、理論上 100% 鉄壁ということはありえません。そしてその成果が計れるのがやられたときでは遅い。存在するリスクを評価し、計ることでまずは現状を知り、これからの成果を見えるようにすることで改めてスタート地点に立った気持ちになりました。
洗い出したリスクはこれをもとに計画し、これからも継続的に対応していく予定です。
弊社では、一緒に技術的な課題に取り組んでくれるエンジニアを募集中です!
現在募集中の採用情報の詳細は下記をご覧ください。