1. はじめに
近年、企業のIT環境は急速にクラウド化が進んでいます。
クラウドサービスの利用により、柔軟なリソース管理や迅速なサービス展開が可能になり、ビジネスの迅速な立ち上げや、運用効率化、コスト削減などを実現できるようになりました。
しかし、クラウド環境の普及に伴い、新たなセキュリティリスクも顕在化しています。
クラウドシステムは、従来のオンプレミス環境とは異なる特性を持っており、データやアプリケーションが外部のサーバーに存在し、インターネットを介してアクセスするため、セキュリティの考え方も従来とは異なるアプローチが必要です。
クラウド環境を利用するシステムでは、便利さのメリットが大きい反面、データ漏洩、不正アクセス、マルウェア感染など、さまざまな脅威も存在します。
これらのリスクは、高い技術知識を持つエンジニアが適切な対策を講じることで大幅に低減することができますが、多くの企業がクラウドセキュリティの重要性を認識しつつも、情報量の多さや複雑さ、人員確保の難しさから、具体的な対策方法に悩んでいるのが現状です。
本記事では、クラウドシステムにおけるセキュリティリスクの種類と、それらに対する効果的な対策方法について詳しく解説します。
また、セキュリティ対策を推進するための組織体制やツール、先進企業の取り組み事例なども紹介します。クラウドを安全に活用し、ビジネスの成長を加速させるための指針として、ぜひご参考ください。
2. クラウドシステムのセキュリティリスクとは
クラウドシステムのセキュリティリスクには以下のようなものがあります。
不正アクセス
クラウドの基盤となる仮想化技術に脆弱性が存在すると、異なる顧客間でのデータ漏洩や、リソースの不正利用が発生する可能性があります。
2018年に発見された「Meltdown」「Spectre」と呼ばれる脆弱性は、多くのクラウドプロバイダに影響を与えました。
また、クラウドネイティブなシステムではほぼ必須で利用されるコンテナ技術ですが、そのコンテナイメージにもセキュリティリスクが存在しています。コンテナイメージの中に含まれるアプリケーションやOSのバージョンなどを悪用し、攻撃者がコンテナ内のデータやリソースにアクセスできてしまう可能性もあります。
さらに、マイクロサービスシステムなどで複数のサービスが存在している場合、クラウドリソースに対するアクセス元の認証認可の設定や、システム間のアクセス制限を適切に設定していないことによって、様々な経路において不正アクセスを受ける危険性もあります。
設定ミス
クラウドリソースの設定を誤ると、意図せずデータが全世界に公開されたり、意図しない挙動をしてしまう可能性があります。
GitHubなどのソースコードリポジトリ設定や、S3,GCSといったクラウドベンダのバケット設定をパブリック公開にしていたために、企業のデータが流出するといった事故も多く発生しています。
また、監査に必要なログを収集できていなかったり、クラウドストレージのデータ保持期間を適切に設定していなかったために、重要なログやデータが消失してしまったなどのトラブルも起こりやすくなっています。
オペレーションミス
クラウドを利用したシステムでは、手軽にリソースやデータを操作できる反面、オペレーション時の操作ミスも多く発生します。代表的なものでは、データ参照や更新の際に謝って削除してしまう、クラウドベンダのコンソール操作中に意図しないリソース変更をしてしまう例などがあります。そのほかにも、運用者が不正にデータを閲覧したり、持ち出して利用するなどの事件が発生する例もあります。
リモートワーク環境での開発
近年はリモートワークが主流になるなど、働き方の多様化が進み、システムの開発や運用の環境も大きく変化しています。そのような流れの中で、開発者の個人端末からソースコードが流出したり、重要なデータが持ち出されたりする危険性も高まっています。
リモートワークやシェアオフィスなどにおいても、セキュリティガバナンスが効いた開発プラットフォームを利用することや、クラウド利用ルールをしっかりと定めることが欠かせなくなっています。
これらのリスクは、クラウドシステムの特性上、従来のオンプレミス環境よりも影響範囲が広く、被害が大規模化しやすい傾向があります。
また、クラウドサービスの利用者とプロバイダの責任分界点をしっかりと意識し、利用者側がリスク管理を徹底しなければ、セキュリティ対策の漏れが生じやすくなります。
クラウドシステムを安全に運用するためには、これらのリスクを十分に理解し、適切な対策を講じることが不可欠となります。
3. クラウドシステムの代表的なセキュリティ対策
前述したクラウドシステムのセキュリティリスクに対しては、以下のような対策をとることが非常に有効です。
不正アクセス対策
強固な認証・認可の実装
- 多要素認証(MFA)の導入、OAuth 2.0やOpenID Connectなどの標準的な認証プロトコルの採用
- 最小権限の原則に基づくIAM (Identity and Access Management)作成など、クラウドリソースのアクセス制御実装
セキュリティテストの実施
- コンテナイメージのセキュリティスキャン
- システム全体の脆弱性診断テスト実施など
暗号化
- 通信の暗号化(TLS 1.3の採用)
- データベースの暗号化(透過的データ暗号化の利用)
- アプリケーションレベルでの機密データの暗号化
監視通知
- 異常検知のためのオブザーバビリティツール導入
- セキュリティ関連のアップデートや脆弱性情報を迅速にキャッチできるような通知設定を実施
設定ミス対策
ネットワーク保護
- 仮想プライベートクラウド(VPC)の適切な設計
- ファイアウォールとネットワークACLの設定や、WAF(Web Application Firewall)の導入
データ保護
- 公開設定をデフォルトでプライベートにするなど、謝ってパブリック公開にしないように制御
- バックアップ設定やデータ保持期間の設定ルールを作成する
オペレーションミス
ルール整備とレビュー
- 適切な作業手順書作成、クラウド有識者の確実なレビュー体制
リリースや運用の高度な自動化
- CICDやIaCの整備など、高度な運用自動化
リモートワーク環境での開発
共通開発環境の整備
- セキュリティ対策をおこなった高度な共通開発環境(プラットフォーム)の提供
全社的なガバナンス策定
- 全社的なセキュリティガバナンスや、クラウド利用のルール策定
これらの対策を適切に組み合わせることで、クラウドシステムのセキュリティを大幅に向上させることができます。
ただし、セキュリティ対策は一度実施すれば終わりではなく、継続的な改善と監視を行なっていくことが重要です。
4. セキュリティ対策の実施に必要なこと
クラウドセキュリティを効果的に実施するためには、技術的な対策だけでなく、組織全体でセキュリティを重視する文化を醸成し、適切な体制を整備することが重要です。
クラウドセキュリティ対策を成功させるための組織的な取り組みは、大きく分けて「専門組織の設立」「適切な開発・運用手法の導入」の2つが重要となります。
クラウドセキュリティ対策のための専門組織を設立する
CCoE(Cloud Center of Experience)
CCoEは、組織全体のクラウド戦略を策定し、ベストプラクティスを確立する中央組織です。セキュリティの観点からCCoEは以下のような役割を果たします。
- クラウドセキュリティポリシーの策定や、クラウドプロバイダとのセキュリティ要件の調整
- 社内のクラウドセキュリティトレーニングやナレッジ共有の推進
SRE(Site Reliability Engineering)
SREは、システムの信頼性とパフォーマンスを向上させる実践です。セキュリティの観点からSREの重要な取り組みには以下があります。
- CICDや運用の高度な自動化や、セキュリティ対策を講じた開発者プラットフォームの提供
- セキュリティメトリクスの定義と監視や、カオスエンジニアリングによるセキュリティ耐性のテスト実施
CSIRT(Computer Security Incident Response Team)
CSIRTは、セキュリティに関連するインシデント情報収集や分析を行い、非常時の対応方針や対処をリードする専門チームで、主に以下の役割を担います。
- グローバルレベルの脆弱性情報の収集や、自社のシステムに対する影響調査
- 事件発生時の窓口担当から痕跡の分析・調査・復旧に向けてのサポート
クラウドセキュリティ対策に効果的なシステム開発・運用手法を取り入れる
オブザーバビリティの強化
システムの状態を可視化し、異常を迅速に検知するためのオブザーバビリティの整備が重要です。
- 分散トレーシングの導入によるセキュリティイベントの追跡
- リアルタイムダッシュボードによるセキュリティ状況の可視化や、異常検知アルゴリズムを活用した監視通知
DevSecOpsの実践
開発、運用、セキュリティの各チームが協力し、セキュリティをソフトウェア開発ライフサイクルに組み込むDevSecOpsの実践が重要となります。
- CI/CDパイプラインへのセキュリティテストの統合、IaCでインフラのセキュリティスキャン実施
- 共通開発者プラットフォームを利用し、適切なIAMロールでのリソース操作や、VPNを介したアクセスを行う
これらの組織的な取り組みを通じて、クラウドセキュリティを継続的に改善し、新たな脅威に対応できる柔軟な体制を構築することが可能になります。
5. Sreakeでできること
スリーシェイクは高度な技術知識を持ったエンジニアを多数擁し、上記ご紹介したセキュリティ対策のコンサルティングからツール実装までを幅広くご支援することが可能です。
スリーシェイクが提供するSREコンサルティングサービスであるSreake(スリーク)では、セキュリティ面を考慮したクラウドネイティブシステムの設計・構築スキルを持ったエンジニアやアーキテクトも多数在籍し、クラウド利用に関する技術支援も行なっています。
また、これまで多様な業界の多くのお客様に対し、高度な専門組織であるCSIRT、CCoE、SREの組閣なども実施しており、組織コンサルティングからさまざまな運用自動化ツールの導入など、お客様のDXに関する取り組みを全般的にご支援しています。
さらに、スリーシェイクがご提供するWebアプリケーションの自動脆弱性診断ツール「Securify Scan」は、これまで多くのお客様にご利用いただき、簡単で迅速にセキュリティテストを実施できると高い評価をいただいております。
クラウドセキュリティに関するご質問やご相談がございましたら、お気軽にお問い合わせください。