AWSの責任共有モデル
クラウド本体のセキュリティ
AWSはクラウド本体のセキュリティ部分を担当する。
ハードウェアをはじめとした、AWSグローバルインフラストラクチャに含まれるリージョンやアベイラビリティゾーン、エッジロケーションといったデータセンターの地域、そしてマネージドなサービスのソフトウェアおよび、それに含まれる各種サービスの管理(アップデートやセキュリティパッチのインストール)がAWSの担当。
クラウド内のセキュリティ
ユーザーはクラウド内のセキュリティを担当する。
ユーザーの責任範囲としては、従来のデータセンターの場合と同じようにゲストオペレーティングシステムの管理(アップデートやセキュリティパッチのインストール)、そして関連アプリケーションソフトウェアの管理や、AWSより提要されるセキュリティグループファイアウォールの設定など。
AWSが用意するセキュリティサービスを適切に活用して、ユーザーはクラウド内のセキュリティを管理できる。
AWSクラウドのセキュリティ
AWSセキュリティの利点
- データの保護
- コンプライアンスの要件に準拠
- コスト削減
- 迅速なスケーリング
AWSが責任を持つ範囲の考え方
物理的なセキュリティ
AWSの責任共有モデルにおいてAWSはクラウド本体のセキュリティを担当するので、AWSのデータセンターのセキュリティの範囲はAWSの担当。
- 環境レイヤー
- 物理的な境界防御レイヤー
- インフラストラクチャレイヤー
- データレイヤー
ハイパーバイザーのセキュリティ管理
仮想化を実現するハイパーバイザーのセキュリティの範囲はAWSの担当。AWSを利用する上で、各インスタンスは別のインスタンスのメモリを読み取ることも、AWSハイパーバイザーのメモリを読み取ることもできません。ハイパーバイザーをターゲットとしたセキュリティ対策はAWSが行います。VMエスケープやクラウドバーストVMエスケープ、VMホッピングなどのハイパーバイザーをターゲットとした各種攻撃に関してはAWSが対応。
管理プレーンの保護
管理プレーンの保護に関するセキュリティの範囲はユーザーの担当。管理プレーンとしては、以下がある。
IDとパスワード
IDとパスワードはユーザーが適切に管理する。権限が強いアカウントにはMFAを組み合わせて利用する。
キーペア
キーペアはユーザーが適切に管理する。
APIキーの管理
APIキーはユーザーが適切に管理する。必要最低限の権限のみを付与する。ルートアカウントのAPIキーは作成しない。
アクセス制御と権限管理
アクセス制御と権限管理
- マネージドでないサービスのセキュリティの責任については、ユーザーが操作できる部分はすべてユーザーの責任。
- ユーザーが操作できるマネージドでない部分は、オンプレミスのシステムで行ってきたことと同等。
- Amazon EC2などのコンピューティングサービスは、OS層以上はユーザーの責任。
- ファイアウォール(セキュリティグループ)の設定内容は、ユーザーの責任。
マネージドなサービスのセキュリティ
- マネージドなサービスの責任は、ユーザーとAWSでそれぞれが分担。
- サービスのプラットフォーム部分はAWSの責任。
- サービスのプラットフォーム上のデータや、その上に置くアプリケーションはユーザーの責任。
- サービスにアクセスするためのアクセスコントロール設定とアカウント認証情報の保護は、ユーザーの責任。
- マネージドでないサービスより、ユーザーのセキュリティに関する負担は軽減。
セキュリティのベストプラクティス
転送中のデータの保護
転送中データを保護するには、適切なプロトコルおよび暗号化アルゴリズムを選択する。
蓄積データの保護
蓄積データを保護するには、コンプライアンス要件に従い暗号化を行う。AWSの提供する暗号化オプションを活用する。
AWS資格情報の保護
AWS資格情報を保護するには、適切なユーザーの作成と、必要最低限の権限設定を行う。
アプリケーションの安全性の保護
アプリケーションの安全性を確保するには、定期的な脆弱性診断と脆弱性情報の確認、アプリケーションの改善を行う。
第三者認証
ユーザーは、AWSのデータセンターやオフィスを訪問して、インフラストラクチャが保護されている様子を直接見ることはできない。しかしAWSは、コンピュータのセキュリティに関する様々な規格や規制に準拠しているかどうかについて、第三者の監査機関による検査を受けており、そのレポートをユーザーに提供している。
IAM
IAMとは、「AWS Identity and Access Mnagement」の頭文字をとったもので、ユーザーのAWSクラウドリソースへのアクセス管理サービス。IAMを使用すると、AWSのユーザーとグループを作成および管理し、アクセス権を使用してAWSリソースへのアクセスを許可および拒否できる。AWSサインアップ時に作成したアカウントはルートアカウントと呼ばれ、すべての権限をもっている。日常的にこのアカウントを利用するのは好ましくない。そこでIAMでは、AWSアカウント内にIAMユーザーやIAMグループを作成することができる。IAMユーザーごとに、AWSの各種リソースに対するアクセス権を設定でき、IAMユーザーに対してAPIキーも作成できる。
- 各IAMユーザー、IAMグループには、必要最低限の権限を付与する。
- IAMポリシーが相反する時は、拒否が優先される。
- IAMユーザーには、最大2つのAPIキーが発行できる。
セキュリティグループ
セキュリティグループは、1つ以上のインスタンスのトラフィックを制御する仮想ファイアウォール。
セキュリティグループ設定は、その名のとおりグループとして利用でき、同一の目的で利用するサーバー郡に対して同一の設定を適用することも可能。セキュリティグループでは次のような設定が行える。
- 許可ルールの指定が可能
- 拒否ルールの指定は不可能
- インバウンドトラフィックとアウトバウンドトラフィックのルールを個別に指定可能
AWS ShieldとAWS WAF
AWS Shield
AWS Shieldはマネージド型の分散サービス妨害(DDoS攻撃)に対する保護サービス。AWSで実行しているWebアプリケーションを保護してくれる。
※DDoS攻撃=Distributed Denial of Service attackの略。ネットワークのトラフィックを増大させ、通信を処理しているコンピューティングリソースに負荷をかけることによって、サービスを利用困難にしたり、ダウンさせたりする攻撃のこと。DoS攻撃を発展させたものであり、攻撃元が他の複数のコンピュータを乗っ取り、ターゲットに対して一斉に攻撃するのが特徴。
- AWS Shieldはマネージド型のDDoS攻撃に対する保護サービス。
- AWS Shield Standardは一般的なDDoS攻撃からAWS上のシステムを保護する。
- AWS Shield Advancedは、Standardに加えて、DDoS Response Teamによる緩和策を実施し、攻撃を可視化する。
- AWS Shield Advancedでは、AWS WAFが無償で無制限に利用可能。
AWS WAF
AWS WAFは、アプリケーションの可用性低下、セキュリティの侵害、リソースの過剰消費などの一般的なWebの脆弱性からWebアプリケーションを保護する、マネージド型のWebアプリケーションファイアウォール。
- AWS WAFはマネージド型のWebアプリケーションファイアウォールサービス。
- AWS WAFの基本利用料は無料。Webセキュリティルールに基づき課金される。
- AWS WAFのWebセキュリティルールはユーザーが設定する必要がある。
- WEB ACLの適用サービスは、CloudFront、Application Load Balancer、API Gatewayから選択する。
Inspector
Amazon Inspectorは、AWSのEC2上にデプロイされたアプリケーションのセキュリティとコンプライアンスを向上させるための、脆弱性診断を自動で行うことができるサービス。Inspectorによって診断が行える事項をまとめると次のようになる。「一般的な脆弱性や漏洩」「ネットワークセキュリティにおけるベストプラクティス」「認証におけるベストプラクティス」「OSのセキュリティにおけるベストプラクティス」「アプリケーションセキュリティにおけるベストプラクティス」「PCI DSS 3.0アセスメント」
- Amazon Inspectorは脆弱性診断を自動で行うことができるサービス。
- EC2上にデプロイされたアプリケーションに対応。
- 各種ルールパッケージはAWSが最新のものにアップデート。
- スケジューリング設定により、完全に自動でチェック可能。
AWS関連の記事を以下にまとめました。ぜひご覧ください!