AWS Backup のセキュリティに関するベストプラクティス
AWSは、コンピューティング、ストレージ、分析などの分野において、いくつかのクラウドベースの製品を提供しています。その中でも、組織がバックアップストレージとしてよく利用しているのが、クラウド上のオブジェクトストレージである"Amazon S3"と、EC2ボリュームおよびそのバックアップを保存するための"Amazon Elastic Block Store (EBS)"の2つです。
クラウドストレージプラットフォームは、"3-2-1"データ保護アプローチの実装に最適です。また、AWSは、異なる地理的リージョンにわたる地理的冗長性により、卓越した可用性と耐障害性を提供するため、ストレージリソースとコンピューティングリソースの両方において優れた選択肢となります。データセンターが所在する地域で災害が発生し、データセンターが機能しなくなることを心配する必要はありません。データのコピーは世界中に分散して保管されているからです。
しかし、新たなサイバー脅威が急速に進化している中、クラウドバックアップにおけるAWSのセキュリティベストプラクティスをどのように実装し、組織側の潜在的なリスクを低減できるかを理解することが重要です。クラウドにおけるセキュリティインシデントの大部分は、クラウドプロバイダーではなく、顧客側の過失によって発生しているからです。この記事を読んで、さまざまなAWSストレージ製品向けのセキュリティオプションのすべてと、それらを最大限に活用する方法について詳しく学びましょう。
AWSの共同責任モデル
AWSのクラウドストレージオプションを利用する場合でも、インフラストラクチャ全体をAmazon EC2に移行する場合でも、AWSのバックアップセキュリティについて誰が責任を負うかを理解するためには、AWSの共同責任モデルを把握しておく必要があります。責任の一部はクラウドプロバイダーが負っており、特にクラウドプラットフォームのセキュリティと可用性に関してはそうです。しかし、ワークロードやデータに対するその他の多くの脅威からの保護については、依然としてお客様、つまり顧客の責任となります。
ほとんどのクラウドプロバイダーと同様に、データセキュリティの責任はAWSとクラウド顧客の間で分担されています。クラウドプロバイダーとして、AmazonはAWSインフラストラクチャのセキュリティに対する責任を負います。プラットフォームのセキュリティは、顧客の重要なデータやアプリケーションを保護するために不可欠です。AWSは不正や悪用を検知し、その事象を顧客に通知します。
一方、顧客は、AWS内で使用する製品のセキュリティ設定について責任を負います。組織内外からの機密データへのアクセスが適切に制限されていることを確認し、推奨されるデータ保護ポリシーを適用する必要があります。
AWS Backup のストレージオプション
AWSは、主に2つのクラウドプラットフォームを提供しています: さまざまなユースケースにおけるAmazon S3とAmazon EC2. Amazon EC2 コンピューティング製品は、Elastic Block Store(EBS)ストレージプラットフォームを利用しています。
- Amazon Simple Storage Service または Amazon S3 これは、Webやモバイルアプリケーション、Webサイト、あるいはIoT(モノのインターネット)センサーからのデータなど、あらゆるソースからのデータを保存するために設計されたオブジェクトストレージプラットフォームです。また、仮想マシンやAmazon EC2インスタンスのバックアップおよびバックアップコピーの保存先としても、非常に人気のある選択肢となっています。
- Amazon Elastic Block Store (EBS) Amazonが設計したもので、Amazon Elastic Cloud(Amazon EC2)上のワークロード向けに永続的なブロックストレージボリュームを提供します。
Amazon EC2 インスタンスのバックアップ戦略では、これら 2 つのバックアップストレージオプションを組み合わせて利用することがよくあります。インスタンスのバックアップを Amazon EBS に送信するとともに、信頼性をさらに高めるために Amazon S3 に保存するバックアップコピーを作成することができます。
バックアップに関するAWSクラウドセキュリティのベストプラクティス
AWSには多種多様なサービスがありますが、主なものはElastic Compute Cloud(EC2)、Amazon S3、そしてパブリッククラウド内でホストされる隔離されたプライベートクラウドであるAmazon Virtual Private Cloud(VPC)です。
前述の通り、共同責任モデルでは、セキュリティ対策の設定に関する全責任が顧客に課されます。AWS上のデータを確実に保護し、その完全性を維持するためには、以下の5つの主要分野におけるベストプラクティスに従ってください:
- セキュリティ監視
- アカウントのセキュリティ
- セキュリティ設定
- 非活動事業体の管理
- アクセス制限
また、個々のAmazonサービスごとに、AWSのセキュリティに関するベストプラクティスを導入することも検討してください:
- Amazon S3
- Amazon EC2
- Amazon VPC
セキュリティ監視
セキュリティ監視は、AWSセキュリティのベストプラクティスの主要な要素の一つです。これは、不審な事象を適時に検知し、データ保護に関連する問題を先手を打って解決できるためです。
- CloudTrail を有効にします。 CloudTrail サービスは、IAM や CloudFront など、特定のリージョンに限定されないサービスを含め、すべての Amazon Web Services に関するログを生成します。
- CloudTrail ログファイルの検証を使用する。 この機能は、ログファイルの整合性を保護するための追加のセキュリティ対策となります。ログファイルの検証を有効にすると、Amazon S3バケットへの配信後にログファイルに加えられた変更はすべて追跡可能になります。
- CloudTrailのマルチリージョンログ記録を有効にする。 CloudTrail は AWS API 呼び出し履歴を提供し、セキュリティアナリストが AWS 環境の変化を追跡したり、コンプライアンスの監査を行ったり、インシデントを調査したり、AWS におけるセキュリティのベストプラクティスが確実に遵守されていることを確認したりできるようにします。すべてのリージョンで CloudTrail を有効化することで、組織は、通常は使用されていないリージョンにおける予期しない、あるいは不審なアクティビティを検知することができます。
- CloudTrail サービスを CloudWatch と連携させる。 CloudWatch コンポーネントは、EC2 インスタンス、CloudTrail、およびその他のソースからのログファイルを継続的に監視します。また、CloudWatch ではメトリクスを収集・追跡することで、脅威を迅速に検知するのに役立ちます。この統合により、ユーザー、API、リソース、IP アドレスに関連するアクティビティのリアルタイムおよび履歴のログ記録が可能になります。異常または不審なアカウントアクティビティに対して、アラームや通知を設定することができます。
- CloudTrailのS3バケットに対するアクセスログの記録を有効にする。 この機能は、攻撃者によるCloudTrail S3バケットへのさらなる侵入を防ぐことを目的としています。これらのログには、CloudTrailによって収集されたログデータが含まれており、アクティビティの監視やインシデントの調査に利用されます。CloudTrail S3バケットへのアクセスログ記録を有効にしておいてください。これにより、アクセス要求を追跡し、不正アクセスの試みを迅速に検知することができます。
- Elastic Load Balancer(ELB)のアクセスログ機能を有効にします。 ELBのアクセスログ機能を有効にすると、ELBは各TCPまたはHTTPリクエストに関する情報を記録・保存できるようになります。このデータは、セキュリティ担当者やトラブルシューティング担当者にとって非常に有用です。たとえば、特定の種類の攻撃を示唆するトラフィックパターンを分析する際、ELBのログデータが役立ちます。
- Redshiftの監査ログ機能を有効にします。 Amazon Redshift は、データベース内で行われたクエリや接続などのユーザーアクティビティに関する詳細を記録する AWS サービスです。Redshift を有効にすることで、特定のデータベースに対して監査を実施したり、インシデント発生後のフォレンジック調査を支援したりすることができます。
- 仮想プライベートクラウド(VPC)のフローロギングを有効にします。 VPC フローロギングは、VPC のネットワークトラフィックを可視化するネットワーク監視サービスです。この機能を利用することで、異常または不審なトラフィックを検出し、セキュリティに関する洞察を得たり、異常なアクティビティについてアラートを受け取ったりすることができます。VPC フローロギングを有効にすることで、異常なデータ転送量、拒否された接続要求、権限設定が緩すぎるセキュリティグループやネットワークアクセス制御リスト(ACL)など、セキュリティやアクセスに関する問題を特定することができます。
AWSアカウントのセキュリティに関するベストプラクティス
ユーザーアカウントが容易に侵害されないよう、アカウントを保護することが重要です。そのためには、以下の AWS アカウントセキュリティのベストプラクティスに従ってください。
- CloudTrail S3 バケットを削除するための多要素認証(MFA)。 AWSアカウントが侵害された場合、攻撃者がまず行う可能性が高いのは、侵入の痕跡を隠蔽し、検知を遅らせるためにCloudTrailのログを削除することです。CloudTrailのログが保存されているS3バケットの削除にMFAを設定することで、ハッカーによるログ削除を大幅に困難にし、その結果、攻撃が気づかれずに済む可能性を低減できます。
- root アカウントの MFA。 AWSへのサインアップ時に最初に作成されるユーザーアカウントは、"ルートアカウント"と呼ばれます。ルートアカウントは最も権限の高いユーザータイプであり、すべてのAWSリソースにアクセスできます。そのため、ルートアカウントについては、できるだけ早くMFAを有効にする必要があります。 ルートアカウントのMFAに関するAWSのセキュリティベストプラクティスの一つとして、認証情報をユーザーの個人用デバイスに登録しないことが挙げられます。このため、遠隔地に保管する専用のモバイルデバイスを用意する必要があります。これにより、保護の層がさらに追加され、誰の個人用デバイスが紛失または破損しても、ルートアカウントに常にアクセスできるようになります。
- IAMユーザー向けのMFA。 アカウントが不正アクセスを受けた場合、多要素認証(MFA)が最後の防衛線となります。アイデンティティおよびアクセス管理(IAM)サービスのコンソールパスワードを所有するすべてのユーザーに対し、MFAの実施を義務付ける必要があります。
- IAMユーザー向けのマルチモードアクセス。 IAM ユーザーに対してマルチモードアクセスを有効にすると、ユーザーを"API アクセス権を持つアプリケーションユーザー"と"コンソールアクセス権を持つ管理者"の 2 つのグループに分けることができます。これにより、IAM ユーザーの認証情報(アクセスキーやパスワード)が漏洩した場合でも、不正アクセスされるリスクを軽減できます。
- グループまたはロールに割り当てられたIAMポリシー。 ポリシーや権限をユーザーに直接割り当てないでください。代わりに、グループやロールのレベルでユーザーの権限を付与してください。この方法により、権限の管理がより簡単かつ便利になります。また、個々のユーザーが誤って過剰な権限や特権を付与されてしまうリスクも軽減できます。
- IAMアクセスキーを定期的に更新する。 アクセスキーのペアを頻繁に更新すればするほど、キーの紛失や盗難によってデータが不正にアクセスされるリスクは低くなります。
- 厳格なパスワードポリシー。 当然のことながら、ユーザーは過度に単純なパスワードを設定しがちです。これは、自分にとって覚えやすいものを求めているためです。しかし、そのようなパスワードは、他者にも容易に推測されてしまうことがよくあります。 厳格なパスワードポリシーを導入・維持することは、ブルートフォース攻撃からアカウントを保護するための、AWSセキュリティのベストプラクティスの一つです。ポリシーの詳細は異なる場合がありますが、パスワードには少なくとも大文字1文字、小文字1文字、数字1桁、記号1つを含め、かつ文字数を14文字以上とすることを義務付ける必要があります。
AWSにおけるセキュリティのベストプラクティスの設定
バックアップを含め、AWS上のデータを保護するためのセキュリティ設定を行ってください。
- CloudTrail S3 バケットへのアクセスを制限する。 いかなるユーザーアカウントや管理者アカウントに対しても、CloudTrailログへのアクセスを許可しないでください。その理由は、これらのアカウントは常にフィッシング攻撃の標的となるリスクがあるからです。アクセスを、業務上その機能が必要なユーザーのみに限定してください。そうすることで、不必要なアクセスが発生する可能性を低減できます。
- CloudTrail ログファイルの暗号化. 保存中のCloudTrailログファイルを復号するには、2つの要件があります。まず、顧客マスターキーポリシーによって復号権限が設定されている必要があります。次に、Amazon S3バケットへのアクセス権限が付与されている必要があります。これらの権限の両方を付与されるのは、関連する職務を担うユーザーに限るべきです。
- EBSデータベースの暗号化。 EBSデータベースを暗号化することで、さらなる保護層が確保されます。なお、これはEBSボリュームの作成時にのみ実行可能であり、後から暗号化を有効にすることはできません。したがって、暗号化されていないボリュームがある場合は、新しい暗号化ボリュームを作成し、暗号化されていないボリュームからデータを移行する必要があります。
- EC2セキュリティグループの開放ポートの範囲を縮小する。 開いているポートの数が多ければ多いほど、ポートスキャンを行う攻撃者に対してより多くの脆弱性をさらすことになる。
- アクセスを制限するためのEC2セキュリティグループの設定。 EC2インスタンスへのアクセス権限を過度に付与することは避けるべきです。EC2インスタンスへのアクセスに広範囲のIPアドレス範囲を許可してはいけません。その代わりに、アクセスリストには具体的なIPアドレスのみを指定するようにしてください。以下の手順に従ってください。 AWS セキュリティグループのベストプラクティス.
- rootユーザーアカウントの使用を避ける。 AWSアカウントに登録すると、登録時に使用したメールアドレスとパスワードが自動的にルートユーザーアカウントとなります。ルートユーザーはシステム内で最も権限の高いユーザーであり、AWSアカウント内のすべてのサービスおよびリソースに例外なくアクセスできます。ベストプラクティスとしては、最初のIAMユーザーを作成する際にのみこのアカウントを使用し、その後はルートユーザーの認証情報を安全な場所に保管し、誰もアクセスできないようにしておくことが推奨されます。
- 安全なSSLバージョンおよび暗号スイートを使用する。 クライアントとElastic Load Balancing(ELB)システム間の接続を確立する際は、古いバージョンのSSLや非推奨の暗号スイートの使用を避けてください。これらを使用すると、クライアントとロードバランサー間の接続のセキュリティが損なわれる可能性があります。
- Amazon Relational Database Service (RDS) の暗号化。 Amazon RDS を暗号化することで、保護の層がさらに1つ追加されます。以下の使用を推奨します。 AWS RDS のセキュリティに関するベストプラクティス.
- rootアカウントでのアクセスキーの使用を避ける。 権限とアクセスキーが制限された、ロールベースのアカウントを作成してください。ルートアカウントでアクセスキーを使用することは絶対に避けてください。そうしないと、アカウントが侵害される原因となります。
- SSHキーを定期的に更新する。 SSHキーを定期的に更新してください。このAWSのセキュリティに関するベストプラクティスにより、従業員が誤って、あるいは不注意によってSSHキーを共有してしまうことによるリスクを軽減できます。
- 個別のセキュリティグループの数を最小限に抑える。 組織は、個別のセキュリティグループの数を可能な限り少なく抑えるべきです。これにより、設定ミスのリスクを低減でき、アカウントの乗っ取りを防ぐことができます。これは、AWSセキュリティグループのベストプラクティスの1つです。
非活動事業体の管理
非アクティブなエンティティの管理および削除は重要です。なぜなら、こうしたエンティティが第三者によって不正アクセスに悪用される可能性があるからです。
- IAMグループの数を最小限に抑える. 使用されていない、または古くなったIAMグループを削除することで、古いセキュリティ設定が適用された状態で誤って新しいエンティティをプロビジョニングしてしまうリスクを軽減できます。
- 未使用のアクセスキーの削除. AWSのセキュリティに関するベストプラクティスでは、30日以上未使用のアクセスキーは削除すべきとされています。未使用のアクセスキーを長期間放置しておくと、アカウントの不正利用や内部者による脅威のリスクが必然的に高まります。
- 非アクティブなIAMユーザーのアクセス権を無効にする。 同様に、90日以上ログインしていないIAMユーザーのアカウントは無効化すべきです。これにより、放置されたり未使用のアカウントが侵害されるリスクを低減できます。
- 使用されていないSSH公開鍵の削除。 使用されていないSSH公開鍵を削除し、制限のない場所からのSSHによる不正アクセスのリスクを低減してください。
アクセス制限
アクセス制限は、AWSのセキュリティに関するベストプラクティスのひとつであり、AWSに保存されているデータが侵害される可能性を最小限に抑え、セキュリティレベルを向上させることができます。
- Amazon Machine Image(AMI)へのアクセスを制限する。 Amazon Machine Image(AMI)へのアクセスを無制限に公開すると、そのAMIは"コミュニティAMI"として利用可能になります。そこでは、AWSアカウントを持つコミュニティのメンバーなら誰でも、そのAMIを使用してEC2インスタンスを起動することができます。AMIには、多くの場合、設定情報やアプリケーションデータを含む、組織固有のアプリケーションのスナップショットが含まれています。AMIへのアクセスは慎重に制限することを強く推奨します。
- あまり使用されないポートへのインバウンドアクセスを制限する。 あまり使用されないポートへのアクセスは制限してください。これらのポートは、悪意のある活動(ブルートフォース攻撃、ハッキング、DDoS攻撃など)の潜在的な弱点となる可能性があるためです。
- EC2セキュリティグループへのアクセスを制限する。 EC2のセキュリティグループへのアクセスは制限する必要があります。これにより、悪意のある活動へのさらされるリスクをさらに防ぐことができます。
- RDSインスタンスへのアクセスを制限する。 RDSインスタンスへのアクセスが許可されていると、インターネット上のエンティティがお客様のデータベースに接続できるようになります。無制限のアクセスを許可すると、SQLインジェクション、ブルートフォース攻撃、ハッキングなどの悪意のある行為の標的となるリスクが高まります。
- 外部へのアクセスを制限する。 ポートからの制限のない外部へのアクセスは、組織をサイバー脅威にさらす恐れがあります。アクセスを許可するのは、特定のポートや特定の宛先など、指定された対象に限定する必要があります。
- よく知られたプロトコルポートへのアクセスを制限する。 よく知られたポートへのアクセスは制限する必要があります。これらを管理せずに放置すると、組織が不正なデータアクセスにさらされることになります。例えば、ポート 445 経由の CIFS、ポート 20/21 経由の FTP、ポート 3306 経由の MySQL などです。
AWS S3 のセキュリティに関するベストプラクティス
バックアップの保存先として最も一般的なクラウドストレージの種類の一つとして、以下の点を理解しておく必要があります Amazon S3の仕組み また、AWS S3のセキュリティに関するベストプラクティスを考慮してください。
- バージョン管理を有効にします。 バージョン管理は、オブジェクトに変更を加えた後も、S3バケット内にそのオブジェクトの複数のバージョンを保持するために使用されます。バケット内のオブジェクトに意図しない変更が加えられた場合でも、以前のバージョンのオブジェクトを復元することができます。
- 不変(WORM)ストレージを使用しています。 Amazon S3 は、S3 バケット内のデータにアクセスするための WORM(Write Once, Read Many)モデルをサポートしています。このアプローチにより、ユーザーによる誤った削除や、ランサムウェアやその他のマルウェアによる意図的な削除からデータを保護することができます。バックアップを不変ストレージに保存することで、AWS バックアップのセキュリティが大幅に向上します。
- Amazon S3のパブリックバケットをブロックする。 AWS S3に保存しているバックアップを含むデータへの不正アクセスを防ぐため、S3バケットへのパブリックアクセスをブロックしてください。この設定は、アカウントレベルおよび個々のバケットごとに設定できます。
AWS EC2 のセキュリティに関するベストプラクティス
さまざまなAWS EC2インスタンス EBSボリュームを使用したバックアップは、Amazonクラウドにバックアップを保存するもう1つの方法です。AWS EC2クラウドで作成したバックアップを保護するために、これらのAWS EC2セキュリティのベストプラクティスを参考にしてください。
- アクセスキーペアの保護。 Amazon EC2 インスタンスへのアクセス用に生成された鍵ペア(AWS EC2 における認証情報となる公開鍵と秘密鍵)を保護してください。これらの認証情報にアクセスでき、かつインスタンス ID を知っている者であれば、誰でもそのインスタンスおよびそこに格納されているデータにアクセスできてしまいます。また、この鍵は EC2 インスタンスの作成時に 1 回のみダウンロード可能であり、AWS 内には秘密鍵のコピーは保存されない点にもご注意ください。ダウンロード後は、この鍵を安全な場所に保管してください。
- 更新プログラムのインストール中です。 Amazon EC2インスタンス上で実行されているWindowsなどのゲストOSに、セキュリティ更新プログラムを適用し、ドライバを更新します。
- 個別のEBSボリュームを使用する。 EBSボリュームとは、AWSのEC2インスタンス用の仮想ディスクのことです。オペレーティングシステムの実行用とバックアップの保存用には、それぞれ別のEBSボリュームを使用してください。バックアップデータが格納されたEBSボリュームは、EC2インスタンスの終了後も確実に保持されるようにしてください。
- 一時的なアクセス権の設定。 一時的なアクセス権限を付与するために、EC2インスタンスやAMIにセキュリティキーを配置しないでください。一時的なアクセス権限を付与する必要がある場合は、有効期間が短い一時的なアクセス資格情報を使用してください。インスタンスロールを使用してください。
AWS VPC のセキュリティに関するベストプラクティス
Amazon Virtual Private Cloud(VPC)は、指定したネットワーク構成によって隔離できるクラウド環境です。AWS 内のこの論理的に隔離された環境(非パブリッククラウド)は、より高いセキュリティレベルでバックアップを保存するために利用できます。
VPC に保存されたバックアップを保護するには、以下の AWS VPC セキュリティのベストプラクティスを参照してください。
- VPCにサブネットを追加する際は、高可用性を確保するために複数のアベイラビリティゾーンを使用してください。
- サブネットへのアクセスを制御するには、ネットワークアクセス制御リスト(ACL)を使用します。
- セキュリティグループを使用して、サブネット内のEC2インスタンスへのトラフィックを制御します。
- VCフローログを使用して、VPC内で生成されたイベントを確認します。
- Dev、Test、Backup などの VPC 環境を分離してください。
AWSにおけるクラウドデータセキュリティに関するその他のベストプラクティス
他にも、複数のカテゴリにまたがって一度に実施できるAWSのセキュリティに関するベストプラクティスがいくつかあります:
- 統合セキュリティアプローチの活用。 AWSクラウドとオンプレミスサーバーのセキュリティには、統一されたアプローチを採用してください。AWS環境とオンプレミス環境のセキュリティ対策に違いがあると、いずれか一方にセキュリティ上の脆弱性が生じる可能性があります。その結果、両環境はネットワークを介して相互に接続されているため、双方とも脆弱な状態になってしまいます。
- バックアップジョブの自動化。 専用のデータ保護ソフトウェアを使用して、データをAWSに自動的にバックアップします。AWSのバックアップセキュリティを最大限に高めるには、バックアップとバックアップコピーを定期的に実行するようスケジュールし、Amazon S3バケットに保存するようにしてください。
NAKIVO Backup & Replication は、以下をサポートする汎用的なソリューションです。 Amazon EC2のバックアップ/レプリケーション そして Amazon S3へのバックアップ:
- Amazon EC2インスタンスの段階的かつ一貫性のあるバックアップ
- ポリシーベースのバックアップ/レプリケーション、高度なスケジューリング、およびバックアップチェーン機能など、さまざまな自動化機能を備えており、プライマリバックアップが正常に完了した際に、Amazon S3 へ自動的にバックアップコピーを作成します。
- S3 Object Lockと連携し、Amazon S3バケット内に不変でランサムウェアに強いバックアップを作成します


