AWSセキュリティのベストプラクティス8選
2022年10月18日
0 分で読めますAWSのセキュリティ管理は、決して簡単ではありません。サービスとしてのインフラストラクチャ(IaaS)、サービスとしてのプラットフォーム(PaaS)、サービスとしてのソフトウェア(SaaS)が提供されているため、AWSを利用する組織には、設定と保護が必要なアプリケーションやクラウドサービスが幅広く、数多く存在する可能性があります。
さらに複雑なのは、こうしたリソースが、オンプレミスやほかのクラウドプラットフォームと共存するマルチクラウドまたはハイブリッド環境で稼働し、安全な方法で連携してデータを転送する必要があることです。
ただし、社内外のポリシー、基準、プラクティスを整備し、一貫して順守・徹底できていれば、AWSのセキュリティ管理は難しくありません。これには、AWSの共有責任モデルをIT組織全体で包括的に理解し、業界で認められたベストプラクティスを浸透させることも含まれます。
この記事では、AWS共有責任モデルにおける責任の意味と分担を解説し、AWSのサイバーセキュリティ戦略に欠かせない要素を確認したうえで、データ、コード、クラウドワークロードを保護するための8つのベストプラクティスをご紹介します。
AWS共有責任モデルを理解する
クラウドプロバイダーが自社の環境をホストしているため、包括的なセキュリティ対策も提供してくれると思い込む企業は少なくありません。規模を問わず、セキュリティチームがAWS共有責任モデルを理解することは非常に重要です。このモデルでは、インフラストラクチャのセキュリティはAWSが担い、そのインフラストラクチャ内にあるすべてのもののセキュリティはお客様が担うと定められています。
具体的にはどういうことでしょうか。組織には、S3バケットの設定、アクセス管理、ネットワークトラフィックの保護、そしてコードが開発ライフサイクル全体で安全であることの確認が求められます。AWSがインフラストラクチャを保護していても、構築するすべてのものを安全に設定するための先回りした対策を講じなければ、さまざまな問題が起こり得ます。
では、どうすればよいのでしょうか。まず、AWSクラウドセキュリティ戦略を策定しましょう。
AWSセキュリティ戦略を策定する
おそらく、組織には全体的なセキュリティ戦略があるでしょう(まだ策定していない場合は、TechTargetのステップごとのガイドをご覧ください)。インフラストラクチャ全体をAWS上に構築しているなら、戦略にはAWS特有のさまざまな要素が含まれているはずです。一方、最近AWSを導入した場合、移行を行った場合、またはハイブリッド環境やマルチクラウド環境を運用している場合は、AWSのセキュリティベストプラクティスを戦略に組み込む必要があります。
クラウドセキュリティ、特にAWSクラウドセキュリティは、独自の対策が求められる分野です。クラウドの利点は、柔軟性と拡張性に優れ、必要に応じてリソースを立ち上げたり停止したり、自由な形で構築できることです。その反面、オンプレミスシステムよりもセキュリティが複雑になります。従来型のサイバーセキュリティ戦略ではAWSリソースを適切に保護できないため、クラウドを活用する多様な方法に対応できる戦略を策定するために、時間と労力をかけましょう。
戦略には、次のような要素を盛り込む必要があります。
クラウド環境全体の可視性
ゼロトラストのポリシーと手順
クラウドネイティブのセキュリティツールとプラットフォーム
セキュリティを開発ワークフローに組み込むDevSecOps戦略
すべてのテクノロジーに対する定期的なパッチ適用とアップデート
可能な限りセキュリティ自動化とクラウド自動化を活用
「侵害されていることを前提とする」考え方
多層防御によるサイバーセキュリティ
戦略を策定したら、AWSのセキュリティベストプラクティスを実践に移しましょう。以下のリストは網羅的なものではありませんが、クラウドを利用する企業にとって特に有効だと考えられるAWSのベストプラクティスを8つご紹介します。
1. クラウドセキュリティ制御を実装し、徹底する
AWS環境で導入すべき最も基本的かつ重要なセキュリティ制御は、アクセス制御です。組織内で必要とする人に最小権限のクラウドアクセスを付与し、必要のない人、特に組織外の人からアクセス権を制限または削除することは、適切なアイデンティティ・アクセス管理(IAM)の基本です。
次の方法で実現できます。
多要素認証(MFA)を必須にする
シングルサインオン(SSO)を有効にする
AWSアカウントのルートユーザー認証情報を共有するのではなく、IAMユーザーを作成する
大文字と小文字、数字、記号を組み合わせた14文字以上の強力なパスワードを必須にする
また、アクセス権限を定期的に見直し、誰にも必要以上または必要以下のアクセス権が付与されていないことを確認しましょう。
2. 脅威およびインシデント対応計画
「侵害されていることを前提とする」という考え方は、10年以上にわたってサイバーセキュリティ担当者の合言葉となってきました(残念ながら、近年では文字どおりの意味にもなっています)。Forbesの最近の記事で、著者のYaki Faitelson氏は、「あらゆるシステム、アカウント、個人が、いつでも攻撃経路になり得る。攻撃対象領域がこれほど広い以上、攻撃者は少なくとも1つの経路を突破すると想定する必要がある。すでに突破されている可能性もある」と説明しています。
これは、徹底したインシデント対応計画を策定する緊急性を示しています。強固な計画があれば、サイバー攻撃による二次被害、Faitelson氏の言う「被害範囲」を抑えられます。侵害を完全に防ぐのが理想ですが、包括的なインシデント対応計画では、侵害が最も起こりやすいタイミングと場所、できるだけ迅速に検知する方法、封じ込めに必要な対応、組織の復旧方法を明確に定めます。どのような問題に備えるべきかについては、AWSのセキュリティリスクに関する記事をご覧ください。
3. 検知、モニタリング、アラート
脅威にはさまざまな形態があるため、堅牢な検知、モニタリング、アラートのプロセスとソリューションを確立することは、AWSアプリケーションセキュリティに不可欠です。戦略の構築に役立つAWSの各種ツールには、次のようなものがあります。
Amazon GuardDuty - ワークロードを監視し、悪意のある活動を示す可能性のある異常な動きを検出するマネージド脅威検出サービスです。
Amazon Macie - AIを活用して環境内の機密データを検出、分類、保護し、不正アクセスが疑われる場合にアラートを送信します。
AWS Config Rules - リソースの設定をあらかじめ定めた設定ルールと照合し、コンプライアンス上の問題の可能性を特定できるツールです。
Amazon CloudWatch - AWSリソースと、AWS上で実行するアプリケーションのモニタリングサービスです。
AWS Security Hub - Amazon GuardDuty、Amazon Inspector、Amazon MacieなどのAWSサービスや、その他のサードパーティソリューションからのセキュリティアラートを優先順位付けし、環境全体を包括的に把握できます。
4. 暗号化でデータを保護する
多くの状況で規制当局が暗号化を義務付けていますが、暗号化は保存データをさらに保護する役割も果たします。アクセス制御に不備があった場合も、動機を問わず、データを入手した人から情報を守ることができます。
AWSでは、ほぼすべてのサービスで暗号化を利用できます。また、柔軟なキー管理機能も提供されているため、キー管理をAWSに任せるか、自社で完全に管理するかを選択できます。どちらを選ぶ場合でも、暗号化データと復号キーを別々に保管し、安全で厳格なプロトコルに従って管理できるよう、暗号化とキー管理のシステムを設計または導入しましょう。
5. データをバックアップする
悪意のある攻撃者がシステムに侵入した場合、データの削除や窃取から、システムの停止まで、あらゆる被害が起こり得ます。どのような結果になっても、失われた情報を復元できるようにデータをバックアップしておくことが重要です。
データを安全に保ち、復元可能な状態にしておくには、AWS Backupが最も簡単なソリューションです。Amazon EC2の無料利用枠で利用できるほか、S3バケット、EBSボリューム、DynamoDBテーブルなど、幅広いサービスに対応しています。コンソールからバックアップを簡単に自動化し、バックアップポリシーと要件を作成して、タグ付けシステムを使ってほかのAWSリソースにも適用できます。
6. AWSを最新の状態に保つ
クラウド環境のセキュリティにパッチやアップデートの適用が不可欠なのは、ほぼ言うまでもありません。しかし、一部のITリーダーは、より差し迫った課題を優先して適用を先延ばしにしたり、優先度を下げたりしています。組織でそのようなことが起きないようにしましょう。
AWSサーバーは、パブリックに公開していない場合でも、必ずパッチを適用してください。古いインフラストラクチャはハッカーの侵入口となります。セキュリティパッチの適用漏れという単純な問題が、サイバーセキュリティ上の平穏な一日と侵害の分かれ目になる事態は避けたいものです。時間が限られている場合は、AWS Patch Managerを活用してOSやアプリケーション全体へのパッチ適用を自動化するか、サービスプロバイダーに支援を依頼しましょう。この基本的なベストプラクティスを常に徹底することは、譲れない要件です。
7. 規制コンプライアンスに備える
医療、金融サービス、政府機関など、規制の厳しい業界では特に、個人を特定できる情報(PII)、金融データ、データプライバシーに関するプライバシー法とセキュリティ法を順守する必要があります。
AWSは、HIPAA/HITECH、FedRAMP、GDPR、FIPS 140-2などのセキュリティおよびコンプライアンス基準に対応しています。もちろん、共有責任モデルのもとでは、規制当局のガイドラインに従ってデータ、クラウドワークロード、インフラストラクチャの設定を維持し、クラウドコンプライアンスを確保する責任はお客様にあります。
8. 開発ワークフロー全体にセキュリティを拡張する
クラウドインフラストラクチャだけを対象とするAWSセキュリティ戦略では不十分です。インフラストラクチャのコード化からアプリケーションのコーディング、ランタイムに至るまで、開発の全段階を網羅する戦略を構築することも同様に重要です。
Infrastructure as Codeや、Snykのようなコードスキャンソリューションを活用すれば、AWSの開発ワークフローに効果的なセキュリティを組み込めます。SnykのAWSスキャンを使うと、開発者がコーディングしている段階でセキュリティ上の不備やミスを検出できるため、アプリケーションが本番環境に到達する前に問題を特定し、解決できます。
クラウドネイティブのセキュリティソリューションを導入する
オンプレミスのインフラストラクチャが過去のものとなりつつある中、クラウドネイティブセキュリティは現代の組織において中心的な役割を担うようになります。クラウドネイティブアプリケーションセキュリティ(CNAS)レポートでは、回答者の99%が、クラウドネイティブ戦略の一環としてセキュリティを認識していました。
NSAは、設定ミスもクラウドネイティブセキュリティにおける重要な課題の一つだと指摘しています。「CSPはクラウド設定の管理を支援するツールを提供することが多いものの、クラウドリソースの設定ミスは、依然として最も一般的なクラウドの脆弱性である」。SnykのCNASレポート回答者の56%超が、AWSを含むクラウドネイティブアプリケーションに関する設定ミス、または既知の未修正脆弱性のインシデントを経験しています。そのため、Snyk IaCのようなIaCセキュリティソリューションを使って、本番環境に反映される前に設定ミスを検出すれば、セキュリティをさらに強化できます。
今日のクラウドセキュリティの課題に真に対処するには、クラウドネイティブセキュリティソリューションを導入する必要があります。これにより、開発プロセスの開始から本番環境までセキュリティを組み込み、多層的な保護と、新たな脆弱性を検出するための継続的な監視を実現できます。
今日の組織が直面するサイバーセキュリティ上の課題は、かつてないほど大きくなっています。強固なAWSセキュリティ戦略を構築し、クラウドネイティブセキュリティソリューションを導入して、この記事で紹介する8つのベストプラクティスを実践することで、あらゆる脅威からアプリケーションと組織を守るための体制を整えられます。
AWSセキュリティのベストプラクティスやAWSセキュリティツールの活用方法について詳しくはこちら。
