インスタンス・メタデータ・サービスのセキュリティーのベスト・プラクティス
IBM はデータ・セキュリティーを重要視しており、インスタンス・メタデータの保護レベルを最大化するために、以下のベスト・プラクティスに従うことをお客様にお勧めしています。
概要
このトピックでは、以下の操作を行うことによって、メタデータを保護するようにセキュリティー安全機能を構成する方法を説明します。
- インスタンスまたはアカウントのメタデータサービスを無効にする。
- コンピュートリソースのアイデンティティに対して、信頼されたプロファイルを制限するか、割り当てない。
- ネットワーク・セキュリティーの強化。
インスタンスまたはアカウントでのメタデータ・サービスの無効化
サービスが有効になっている既存のインスタンスでサービスを無効にすることができます。 『インスタンス・メタデータ・サービスの有効化または無効化』を参照してください。
iptables
ファイアウォールを使用して、以下のアクセスを制限する。 Linux
iptables
Linux ファイアウォールユーティリティを使用して、メタデータサービスのリンクローカルアドレス(信頼できるネットワーク)とインターネット(信頼できないネットワーク)の間にバリアを作成します。 どのトラフィックを許可してどのトラフィックをブロックするかを制御するルールを定義します。
以下の例では、 Linux iptables
と、そのデフォルトのインストー ル Apache IDに基づくオーナー・モジュールを使って、 Apache Webサーバーがメタデータ・リンク・ローカル・アドレス( 169.254.169.254 )にアクセスできないようにしている。 拒否ルールを使用して、そのユーザーとして実行されているプロセスからのすべてのインスタンス・メタデータ・リクエストを拒否する。
sudo iptables --append OUTPUT --proto tcp --destination 169.254.169.254 --match owner --uid-owner apache --jump REJECT
このエンドポイントは、仮想サーバーインスタンス内で実行されているすべてのコマンド、プロセス、およびソフトウェアアプリケーションからアクセス可能です。 API エンドポイントには、仮想サーバー・インスタンス外部からはアクセスできません。 この手順により、新たなレベルのセキュリティーが追加されます。
別の方法として、許可ルールを使用して特定のユーザーまたはグループにアクセスを定義することもできます。 許可ルールでは、どのソフトウェアがインスタンスのメタデータにアクセスする必要があるかを決定する必要があります。 ルールを定義することで、後でインスタンス上のソフトウェアや構成を変更した場合に、ソフトウェアが誤ってメタデータ・サービスにアクセスするのを防ぐことができます。
グループでの許可ルールの使用を定義することもできます。 ファイアウォールルールを変更することなく、許可されたグループからユーザーを追加および削除する。
以下の例では、ユーザー・アカウント trustworthy-user
で実行されているプロセスを除くすべてのプロセスから、インスタンス・ メタデータ・サービスへのアクセスを禁止している:
sudo iptables --append OUTPUT --proto tcp --destination 169.254.169.254 --match owner ! --uid-owner trustworthy-user --jump REJECT
コンピュート・リソース ID のトラステッド・プロファイルの制限
コンピュートリソースのIDに作成する信頼されたプロファイルを制限します。 インスタンスにコンピュート・リソース ID を割り当ないことにする、という選択肢もあります。
信頼できるプロファイルを削除する'信頼できるプロファイルを削除する'信頼できるプロファイルを削除するを実行すると、コンピュートリソースと連携ユーザーはプロファイルからリンク解除され、信頼されたプロファイルIDを適用できなくなります。
また、信頼関係を再定義し、アクセス・ポリシーを割り当て、セッション限度を更新することによって、既存のトラステッド・プロファイルを更新することもできます。 詳しくは、トラステッド・プロファイルの更新を参照してください。
追加のネットワーク・セキュリティー対策
仮想サーバー・インスタンスへのネットワーク・トラフィックを制御するための以下のオプションについて検討します。
-
セキュリティー・グループ を使用して、インスタンスへのアクセスを制限します。
-
インスタンス応答ホップ限界が正しく構成されていることを確認してください。 構成が不適切であると、サービスに到達しようとしたときにタイムアウト・エラーが発生する可能性があります。 詳しくは、 UI を使用したメタデータ・ホップ限界の設定 を参照してください。
-
アクセス制御リスト(ACL) をセットアップして、 IBM Cloud® Virtual Private Cloud内のすべての着信トラフィックと発信トラフィックを制御します。 ACL は、セキュリティー・グループに似た、組み込みの仮想ファイアウォールです。 セキュリティー・グループとは異なり、ACL のルールは、インスタンスとの間のトラフィックではなく、サブネットとの間のトラフィックを制御します。
-
Virtual Private Network (VPN) for VPC、リモートネットワークからVPCへのプライベート接続を確立します。
-
IBM Cloud® VPE(Virtual Private Endpoints for VPC)を使用すると、VPC内のサブネットから割り当てられた任意のIPアドレスを使用して、VPCネットワークからサポートされている IBM Cloud サービスに接続できます。 VPE は、サービスごと、またはサービス・インスタンスごとに作成されるエンドポイント・ゲートウェイにバインドされた仮想 IP インターフェースです。
-
VPC で IBM Cloud のフロー・ログを使用して、インスタンスに到達するトラフィックをモニターする。
-
インスタンス・メタデータ・サービスへの セキュア・アクセスを有効にします。 セキュアアクセスを有効にすると、メタデータサービスは暗号化された HTTP セキュアプロトコル ( HTTPS ) によって、仮想サーバーインスタンスにのみアクセスできるようになります。
VPC インフラストラクチャー・サービスのセキュリティーとコンプライアンスの管理
Security and Compliance Center は、VPCインフラストラクチャを監視して、アカウント内のリソース構成をプロファイルに照らして検証し、潜在的な問題が発生した場合に特定するのに役立ちます。