MFA を有効にし、AccessKey の代わりに RAM ロールを使用し、認証情報を定期的にローテーションして、不正アクセスを防止します。
セキュリティリスク
Alibaba Cloud アカウントに対する主なセキュリティ脅威には、パスワードへのブルートフォース攻撃や、AccessKey や STS トークンなどの長期的な認証情報の漏洩が含まれます。攻撃者がこれらの認証情報を入手すると、正当なユーザーになりすましてログインし、リソースを管理したり、機密データにアクセスしたりする可能性があります。これにより、以下の事態が発生する可能性があります。
-
不正なリソース使用による直接的な金銭的損失。
-
ビジネスの可用性に影響を与えるインフラストラクチャの損傷やサービスの中断。
-
機密データの漏洩や暗号化による、情報漏洩やランサムウェアのリスク。
-
悪意のあるプログラムやバックドアのインストールによる、システムのセキュリティとデータの整合性に対する長期的な脅威。
ベストプラクティス
アカウントパスワードの保護と MFA の有効化
-
複雑なパスワードの設定:脆弱なパスワードは、アカウント侵害の主な原因です。ブルートフォース攻撃を防ぐため、脆弱なパスワードの使用は避けてください。
-
パスワードの定期的な変更:長期使用による漏洩リスクを低減するため、90 日ごとにパスワードを変更してください。
-
MFA の有効化:Alibaba Cloud アカウントの仮想 MFA デバイスのアタッチまたはデタッチ。MFA は、パスワード認証に加えて、モバイルトークンやハードウェアで保護されたキーなどの動的検証コードを追加のレイヤーとして導入し、不正アクセスを防止します。
AccessKey の代わりに ECS RAM ロールを使用
Elastic Compute Service (ECS) インスタンス上のアプリケーションが、ECS のスケーリングなどで Alibaba Cloud API を呼び出す必要がある場合は、AccessKey の代わりに RAM ロールを使用してください。
RAM ユーザーの作成とロールのアタッチ
インスタンスにロールをアタッチするには、アカウントに sts:AssumeRole 権限が必要です。
コンソール
-
ECS インスタンスに RAM ロールをアタッチします。
インスタンス作成時のロールのアタッチ
インスタンス購入ページでインスタンスを作成するときは、詳細オプション で インスタンス RAM ロール を選択します。
インスタンスの脆弱性や設定エラーによる STS トークンの漏洩を防ぐには、[メタデータアクセスモード] に [セキュリティ強化モード] を選択します。 詳細については、「強制モードを使用してインスタンスメタデータにアクセスする」をご参照ください。
既存インスタンスへのロールのアタッチ
-
ECS コンソール - インスタンス ページに移動し、対象のリージョンを選択します。
-
インスタンス ID をクリックして、インスタンス詳細ページに移動します。
-
「その他の情報」セクションで、[RAM ロールのアタッチ/デタッチ] をクリックします。
-
RAMロールを選択し、OK をクリックします。
重要ECS インスタンスには 1 つの RAM ロールしかアタッチできません。アプリケーションが複数の権限を必要とする場合は、その単一のロールにすべての権限を付与してください。
たとえば、インスタンスにすでに
AliyunECSDiskEncryptDefaultRoleロールがアタッチされており、さらにネットワークインターフェイスの管理権限が必要な場合は、RAM コンソールでそのロールにAliyunECSNetworkInterfaceManagementAccessポリシーを追加してください。 -
API
API を使用して、ロールのアタッチとデタッチが可能です。
-
インスタンス作成時のロールのアタッチ:RunInstances API または CreateInstance API を呼び出す際に、
RamRoleNameパラメーターを指定します。 -
既存インスタンスへのロールのアタッチ:AttachInstanceRamRole API を呼び出します。
-
ロールのデタッチ:DetachInstanceRamRole API を呼び出します。
アプリケーションからの RAM ロールによる Alibaba Cloud サービスへのアクセス
ECS インスタンス上のアプリケーションは、インスタンスメタデータサービスから一時的な STS トークンを取得し、それを使用して Alibaba Cloud API を呼び出すことができます。
AccessKey の保護と漏洩リスクの低減
AccessKey を使用する必要がある場合は、そのライフサイクル (作成、保管、配布、使用) 全体にわたってセキュリティ管理を強化してください。
-
作成:「1 人に 1 つの AccessKey、1 つのアプリケーションに 1 つの AccessKey」の原則に従ってください。複数のユーザーやプログラム間で AccessKey を共有しないでください。これにより、漏洩した場合に責任者を迅速に特定し、影響を限定し、キーをローテーションできます。
-
権限管理:最小権限の原則に従い、必要な権限のみを付与してください。RAM ユーザーを使用し、職責に基づいて権限を割り当ててください。Alibaba Cloud アカウントの AccessKey の使用は避けてください。詳細については、「Alibaba Cloud アカウントの使用を避け、異なる職責を持つ RAM ユーザーに異なる権限を付与する」をご参照ください。
-
安全な保管:AccessKey は、次のような信頼できるデバイスに保管してください。
-
root または特定のユーザーのみが読み取り可能なファイル。
-
アクセス制御を備えたデータベースまたは Key Management Service (KMS)。
-
メモ、コードリポジトリ、チャット履歴、個人の署名などに AccessKey を保管しないでください。
-
-
安全な配布:暗号化された AccessKey ファイルを 1 つのチャネル (メールなど) で送信し、復号パスワードを別のチャネル (テキストメッセージなど) で送信してください。
-
安全な使用:コードに AccessKey をハードコードしないでください。AccessKey は別の設定ファイルに保管し、暗号化して信頼できるサーバーに保存してください。配布後、ファイルを復号し、所有者のみが読み取れるように権限を設定してください。
-
ネットワークアクセス制御:RAM コンソールで AccessKey のネットワークアクセス制御ポリシーを設定してください。
-
定期的なローテーションとクリーンアップ
-
定期的なローテーション:90 日ごとにAccessKey のローテーションを行ってください。新しい AccessKey を生成し、ユーザーに更新を通知してください。
-
定期的なクリーンアップ:RAM コンソールで AccessKey の操作記録を確認し、未使用のキーを無効化してください。詳細については、「RAM ユーザーの AccessKey の削除」をご参照ください。
-
-
AccessKey の漏洩の監視:Security Center の AccessKey 漏洩検出機能を使用して、AccessKey が漏洩していないかを確認してください。この機能はアラート通知をサポートしています。漏洩が発生した場合、Alibaba Cloud はエスカレーションを防ぐために AccessKey に対する制限的保護を提供します。
コンプライアンス
ECS インスタンスが AccessKey を使用しているかどうかの確認
AccessKey ログのクエリを行い、AccessKey に関連付けられているサービス、IP アドレス、リソースを特定します。
前提条件:ActionTrail の追跡の作成を行い、ログを Simple Log Service (SLS) Logstore に配信済みであること。
-
VPC エンドポイントから開始された AccessKey 呼び出しのクエリ:
* | SELECT "event.eventid","event.sourceipaddress", "event.userIdentity.accessKeyId", "event.vpcId" WHERE "event.userIdentity.accessKeyId" LIKE 'LTA%' and "event.vpcId" LIKE 'vpc%'結果の例:

vpcIdとsourceipaddressを使用して呼び出しを開始した ECS インスタンスを特定し、どのプログラムがaccessKeyIdを使用して OpenAPI を呼び出しているかを調査してください。 -
インターネットエンドポイントから開始された AccessKey 呼び出しのクエリ:
* | SELECT "event.eventid","event.sourceipaddress", "event.userIdentity.accessKeyId" WHERE "event.userIdentity.accessKeyId" LIKE 'LTA%' and "event.vpcId" IS NULL結果の例:

sourceipaddressが ECS インスタンスのパブリック IP アドレスであるかどうかを判断します。 アカウントの EIP とパブリック IP アドレスを取得し、sourceipaddressがお客様のものであるかどうかを確認します。 EIP またはパブリック IP アドレスが ECS インスタンスに直接アタッチされている場合は、インスタンスを特定してその設定を変更できます。
AccessKey のインスタンス RAM ロールへの置換
「AccessKey の代わりに ECS RAM ロールを使用」および「AccessKey 漏洩の解決策」をご参照ください。