Well-Architected Frameworkの柱「セキュリティ」を読み解いてみた
ご機嫌いかがでしょうか、豊崎です。
最近Well-Architectedにご縁があり、連続して記事を書いています。今回はWell-Architectedのセキュリティの柱についてご紹介をしたいと思います。
何度か書いていますが、Well-Architectedとは何か?どういうシステムに使ってもらいたいか?については以下をご覧いただければと思います。
さて、改めての記載となるのですが、Well-Architected Framework には5つの観点があります。
- 運用の優秀性
- セキュリティ
- 信頼性
- パフォーマンス効率
- コスト最適化
5 つの柱などと表現されたりします。
それぞれの柱に対話形式の質問が用意されています。
ここでは実際にどのような質問があるのか、またそれに対してどのような観点を持ってアプローチを行うことが望ましいかを確認していきたいと思います。
そのために各柱の設計原則、定義、ベストプラクティス、キーとなるAWSサービスについて確認していきたいと思います。内容がたっぷりあるので、柱ごとに確認をしていきます。
今回はセキュリティの柱 について確認していきたいと思います。
セキュリティの柱
セキュリティの柱について
セキュリティの柱にはリスク評価とリスク軽減を通してビジネス価値を提供しながら情報、システム、資産を守る機能が含まれています。
設計原則(Design Principles)
ID管理基盤を実装
AWSリソースとのやりとり単位で最小限の権限を付与する。また、適切な承認を得て職務分離を矯正します。権限の管理を一元化して長期的な認証情報への依存を減らす、または無くします。
トレーサビリティを有効にする
リアルタイムに環境に対する行動や変化を監視し、アラート通知および監査を行います。ログとメトリックをシステムと統合して自動的にレスポンスしたり対処したりします。
全てのレイヤーにセキュリティを適用する
1箇所に焦点を当てた保護ではなく、セキュリティには防御に対する複数のアプローチを行う。また、全てのレイヤーにおいて実施をする。
セキュリティのベストプラクティスを自動化する
自動化されたセキュリティソフトウェアにより素早く費用対効果の高い方法で安全に拡張する能力が向上します。
転送中および保存中のデータ保護
データの機密レベルを定義、分類し、必要に応じて暗号化やトークン化、またアクセス制御などを行う。
人をデータから遠ざける
データへ直接アクセスを行なったり手動作業を行う必要性を減らす、またはなくすための仕組みとツールを作成する。
セキュリティイベントに対する準備をする
組織の要件に応じてインシデントの管理プロセスを用意してセキュリティインシデントの発生に備えます。インシデント対応に対してテストを行い、自動化されたツールを使用して、検出、調査、復旧のスピードを向上させる。
定義(Definition)
セキュリティの柱には以下の5つのベストプラクティス分野があります。これらは以下にあるBest Practicesの項目にある質問およびKey AWS Services とマッピングされた形で確認されます。
- アイデンティティとアクセス管理
- 発見的コントロール(※1)
- インフラの保護
- データの保護
- セキュリティインシデント対応
※1:予防することが難しい事態が発生した(または発生しそうな)ら、早い段階で検知、対応する
ベストプラクティス(Best Practices)
ベストプラクティスを確認するために以下のような質問が用意されています。
- アイデンティティとアクセス管理
- SEC1:クレデンシャルと認証をどのように管理しますか?
- SEC2:どのように人のアクセスを制御しますか?
- SEC3:どのようにプログラムからのアクセスを制御しますか?
- 発見的コントロール
- SEC4:どのようにセキュリティイベントを検出、調査しますか?
- SEC5:どのように新たなセキュリティの脅威からどのように防御しますか?
- インフラの保護
- SEC6:どのようにネットワークを保護しますか?
- SEC7:どのようにコンピュータリソースを保護しますか?
- データの保護
- SEC8:データをどのように分類しますか?
- SEC9:どのように保存されたデータの保護をしますか?
- SEC10:どのように送信中のデータの保護をしますか?
- セキュリティインシデント対応
- SEC11:どのようにセキュリティインシデントに対応しますか?
Key AWS Service
セキュリティの観点での最重要サービスはIAMです。これによりユーザのAWSサービスやリソースへのアクセスを安全に制御することが可能です。
- アイデンティティとアクセス管理
- IAM
- MFA
- AWS Organizations
- 発見的コントロール
- AWS CloudTrail
- AWS Config
- Amazon GuardDuty
- Amazon CloudWatch
- Amazon CloudWatch Events
- インフラの保護
- VPC
- CloudFront + AWS Shield
- AWS WAF +(CloudFront/ALB)
- データの保護
- Encryption(暗号化可能なサービス)
- ELB
- EBS
- S3
- RDS
- etc...
- Amazon Macie
- AWS Key Management Service
- Encryption(暗号化可能なサービス)
- セキュリティインシデント対応
- IAM
- CloudFormation(調査環境の作成として)
- Amazon CloudWatch Events + AWS Lambda
まとめ
セキュリティの柱について定義の各内容に対する観点をまとめていきます。
アイデンティティとアクセス管理
- 各実行ユーザ、グループ、サービス、ロールに合わせたポリシーで権限を管理する
- MFAを利用する
- 認証情報のシェアは行わない
発見的コントロール
- ログ、イベントの管理を行う
- 監視、モニタリングを行う
- AWS API呼び出しをログとして保存する
- GuardDutyを利用し驚異の検出を行う
- 保存したログを分析し潜在的なセキュリティインシデントの特定が可能にする
インフラの保護
- VPCを利用する
- 全てのレイヤで多層防御を行う
データの保護
- 必要に応じてデータの暗号化を行う
- S3などの耐久性が高く設計されたストレージの選択を検討する
- 保存されたデータと送信中のデータについて暗号化を検討する
セキュリティインシデント対応
- ファイルアクセスや変更などのログ取得を行う
- セキュリティイベントに対するアクションの自動化
- CloudFormationを利用した隔離されたフォレンジック用の環境の作成
さいごに
セキュリティの柱についてまとめてみました。システムにおいてセキュリティは重要な観点です。この柱から行う人も多いのではないでしょうか?
もしこの記事が誰かのお役に立てば幸いです。