3min. read

クラウド環境の展開時にセキュリティを確保するための17の方法

 

クラウドを利用する企業が確実に保護されるための鍵となるのは、クラウド スタックのコンポーネントを構成するレイヤーについての理解です(下図参照)。これらの各レイヤー(サービス、ID、アプリケーション エッジ、ロード バランサー、コンピューティング、ストレージ)は、複数の潜在的な標的を生み出します。詳しい人から見ると、それぞれが潜在的な脅威から保護可能なクラウド環境の一部を表しています。

ID管理を厳重に保護する。ID管理とアクセス管理によって、ユーザーがクラウド スタックのどの部分にアクセスでき、そこで何ができるのかが決定されます。攻撃者が正規の資格情報を用いてシステムにアクセスできた場合、侵害はまず避けられません。以下の対策が必要です。

 

1. 安全なパスワードを要求する。システムで許可される最長のパスワードまたはパスフレーズを使用するか、英数字と記号の組み合わせを含む複雑なパスワードを使用します。

2. 多要素認証(MFA)を随所に実装する。強力なパスワードを使用するだけでは十分とは言えません。企業には多層防御が必要です。別の検証または認証方法を使用すれば、ユーザー ログインの防御層が1つ追加されます。

3. 最小権限のロールを作成する。ユーザーには、アカウントとシステムに対して生産的に業務を行うのに必要な最小限のアクセス権のみを付与します。そうすることで、誤りを犯した場合や攻撃者がアカウントへのアクセス権を手に入れた場合の損害が抑えられます。

4. 非アクティブ アカウントを無効にする。従業員が退職する際は、すべてのシステムに対するそのアクセス権とアクセス キーを直ちに無効にする必要があります。非アクティブ アカウントはより多くのエンドポイントを無防備な状態にさらすことに加え、その活動は通常アクティブなアカウントのようには監視されません。

5. ユーザーの疑わしい振る舞いや認証情報の侵害を監視する。機械学習や分析を活用したリアルタイムのモニタリングを使用して、疑わしいアクティビティやアカウント認証情報の侵害の可能性を特定します。

コンピューティング レイヤーを保護する。組織は、システムやデータの可用性を確保し、攻撃者がその処理能力を利用して企業やインターネットにマルウェアをさらに拡散することを防ぐために、コンピューティング レイヤーを保護する対策を講じる必要があります。以下の対策が必要です。

6. オペレーティング システムを堅固にする。攻撃対象領域の拡大を招くだけの不要なプログラムを削除します。サービス パックやパッチを適用して可能な限り最新の状態に維持します。

7. 設定ミスや異常を絶えずチェックする。自動化されたツールを使用して、異常動作だけでなく環境全体での変化も検出します。

8. 安全なログインを実現する。個々のユーザーにSecure Shell (SSH)キーを発行します。そうすることで、セキュリティ保護されていないネットワーク間を移動する際にも資産を保護できます。

9. インバウンドおよびアウトバウンドのファイアウォール ルールを実装する。誰がどのインバウンドおよびアウトバウンド データをどれだけ送信、受信、およびアクセスできるのかについて明確なルールを設定します。多くの企業はアウトバウンド ルールを設定するのを渋りますが、攻撃者は機密データや知的財産を窃取(持ち出し)しようとするため、アウトバウンド ルールの明確な定義を徹底することが重要です。ファイアウォール ルールは、トランスポート レイヤーまたはネットワーク レイヤー(IPおよびポート情報)ではなく、アプリケーション レイヤーで作成する必要があります。これは、攻撃者が開いているポート(ポート53のドメイン ネーム システム(DNS)など)からピギーバックするのを防止するためです。

10. 信頼できるイメージのみを使用する。イメージまたはテンプレートは、最初から構築するか、AWSやMicrosoft Azureなどの信頼できるソースから入手します。Stack Overflow、または偶然見つけた掲示板やユーザー コミュニティから取得したイメージは使用しないでください。

ストレージを保護する。攻撃者がストレージ レイヤーにアクセスした場合、データをバケットまたはBLOBごと削除したり漏洩したりする可能性があります。以下の対策が必要です。

11. データ アクセスを管理する。IDおよびアクセス管理(IAM)ポリシーおよびアクセス制御リスト(ACL)は、ストレージに対する許可の制御を一元化するのに役立ちます。セキュリティ ポリシーにより、アカウントやユーザー別に、または日付、IPアドレスなどの特定の条件に基づいて、あるいは要求がSecure Sockets Layer (SSL)暗号化セッション経由かどうかに従って、アクセスを許可または拒否できます。

12. データを分類する。データを自動分類してどのタイプのデータがどこに保存されるかを把握します。データ分類ポリシーはセキュリティ ポリシーと合わせる必要があり、違反があればフラグを付けるか、自動的に修正する必要があります。

13. 暗号化を徹底する。転送中および保存中のどちらのデータも暗号化します。ただし、メタデータは暗号化されないことが多いため、機密情報はクラウド ストレージのメタデータに保存しないでください。

14. バージョン管理とロギングを有効にする。バージョン管理を使用すると、データを保存しておき、何か問題があれば読み出して復元することができます。バージョン管理を有効にすれば、脅威またはアプリケーションの障害によってデータが喪失した場合に、そのデータの古いバージョンから復元できます。アクセス ログを維持しておくと、システムへの侵入が発生した場合に監査証跡が得られます。

15. 削除権限を付与しない(または削除の際にMFAを要求する)。クラウド インフラストラクチャ内には、ユーザーにデータの削除を許可しないロールを設定する必要があります。多くのクラウド ストレージ ソリューションは、ストレージ レイヤーに保存されるどのバージョンのデータを削除する際にもMFAを要求する機能を備えています。

16. 設定ミスや異常を絶えずチェックする。自動化されたツールを使用して、異常なファイル アクセス動作のほか、ストレージや権限の設定の誤りも検出します。

クラウド サービスを保護する。境界を保護し、スマート ポリシーを適用したら、クラウド内のサービス専用のセキュリティに注目する必要があります。

17. ソース管理を使用してバージョン、ビルドへのアクセス、およびデプロイメント インスタンスを保護します。そうすることでコードの攻撃対象領域が狭まり、ネットワーク全体に対する攻撃の可能性が抑えられます。