インスタンスを作成するときは、そのセキュリティグループの O&M ポートへのすべてのソース IP アドレスからのアクセスを許可しないでください。必要なポートのみを開き、指定された IP アドレスへのアクセスを制限する必要があります。
セキュリティリスク
Linux の Secure Shell (SSH) ポート 22 や Windows の Remote Desktop Protocol (RDP) ポート 3389 など、Elastic Compute Service (ECS) インスタンスの O&M ポートは、管理者がサーバーをリモートで管理するためのゲートウェイです。セキュリティグループでこれらのポートのアクセス権限をすべての IP アドレス (0.0.0.0/0) に設定すると、このゲートウェイがインターネット全体に公開されます。
ブルートフォース攻撃: 攻撃者は自動化ツールを使用して、一般的なユーザー名とパスワードの組み合わせを継続的に試行し、サーバーにログインしようとします。成功すると、サーバーを完全に制御できるようになります。
データ漏洩と改ざん: 侵入者はサーバー上のコアビジネスデータを盗んだり、変更したりする可能性があります。これにより、直接的なビジネス上の損失が発生する可能性があります。
マルウェア感染: サーバーはボットネット (ゾンビ) の一部として使用され、DDoS 攻撃を開始したり、マイニングを実行したり、他のネットワークを攻撃するための踏み台として機能したりする可能性があります。
ベストプラクティス
セキュリティグループを使用して、必要なポートのみを開き、指定されたソース IP アドレスへのアクセスを制限します。
コンソール
セキュリティグループを作成し、すべての IP アドレス (0.0.0.0/0) からの O&M ポートへのアクセスを許可しないインバウンドルールを設定します。
インスタンス購入ページでインスタンスを作成するときに、作成したセキュリティグループを選択します。
API
CreateSecurityGroup API 操作を呼び出して新しいセキュリティグループを作成し、次に AuthorizeSecurityGroup API 操作を呼び出して必要なインバウンドルールを追加します。
SourceCidrIpパラメーターを指定して、ソース IP アドレスを制限できます。RunInstances または CreateInstance API 操作を呼び出してインスタンスを作成するときに、
SecurityGroupIdパラメーターを指定してインスタンスをセキュリティグループに追加します。
コンプライアンス機能
チェック: O&M ポートをすべての IP アドレスに開放しているセキュリティグループを検索する
ECS Insight
ECS Insight に移動します。
[セキュリティ] タブをクリックします。次に、チェック項目 [特定のセキュリティグループポートへの無制限アクセス] をクリックして、任意の IP アドレス (0.0.0.0/0) から特定のポートへのアクセスを許可するインスタンスを表示します。
Security Center
Security Center コンソールに移動します。
左側のナビゲーションウィンドウで、 を選択します。[クラウド製品設定リスク] タブを選択します。[任意の IP アドレスからポート 22 およびポート 3389 へのアクセスを禁止] チェック項目を見つけ、[アクション] 列の [スキャン] ボタンをクリックします。
ステータスが [失敗] の場合、これは任意の IP アドレスからポート 22 または 3389 へのアクセスを許可するインスタンスがあることを示します。[詳細] をクリックして表示できます。
ブロック: 禁止 O&M ポートへの任意の IP アドレスからのアクセスを許可するインスタンス作成操作
組織またはアカウントレベルで RAM ポリシーを使用して、任意の IP アドレスからのアクセスを許可するセキュリティグループルールをブロックします。
エンタープライズユーザーの場合:
Alibaba Cloud アカウントを使用して リソースディレクトリコンソールにログインします。左側のメニューバーで、[コントロールポリシー] をクリックします。次に、カスタムポリシーを作成し、次の JSON コンテンツを貼り付けます。
このポリシーは、インスタンスを作成する操作、または任意の IP アドレスからのアクセスを許可するセキュリティグループを作成または変更する操作を拒否します。
{ "Version": "1", "Statement": [ { "Effect": "Deny", "Action": [ "ecs:AuthorizeSecurityGroup", "ecs:ConfigureSecurityGroupPermissions", "ecs:ModifySecurityGroupRule" ], "Resource": "*", "Condition": { "StringLike": { "ecs:SecurityGroupIpProtocols": [ "TCP" ] }, "CIDRInRange": { "ecs:SecurityGroupSourceCidrIps": [ "0.0.0.0/0" ] } } }, { "Effect": "Deny", "Action": [ "ecs:CreateInstance", "ecs:RunInstances" ], "Resource": "*", "Condition": { "Bool": { "ecs:NotSpecifySecureGroupId": [ "true" ] } } } ] }リソースディレクトリで、適切なノードを選択してポリシーをアタッチします。ポリシーは、そのノード配下のすべてのアカウントに対してこれらの操作をブロックします。
非エンタープライズユーザーの場合:
Alibaba Cloud アカウントを使用して RAM コンソールにログインします。左側のナビゲーションウィンドウで、[ポリシー] をクリックします。次に、前のセクションで説明したのと同じ内容でカスタムポリシーを作成します。
RAM ユーザー、RAM ユーザーグループ、または RAM ロールにアクセスポリシーを付与します。詳細については、「アクセスポリシーの権限付与の管理」をご参照ください。
修復: セキュリティグループルールを変更する
既存のセキュリティグループルールを変更します。権限付与オブジェクトを 0.0.0.0/0 から特定の信頼できる IP アドレス範囲に変更します。
安全でないルールの特定: [チェック] セクションで説明されている方法を使用して、脅威をもたらすセキュリティグループとルールを見つけます。
ルールの変更:
ECS コンソール - セキュリティグループ ページに移動します。ターゲットのセキュリティグループを見つけ、[操作] 列の [ルールの管理] をクリックします。
ポート 22 のルールなど、権限付与オブジェクトとして 0.0.0.0/0 を使用する関連ルールを見つけます。[変更] をクリックします。権限付与オブジェクトを信頼できるソース IP アドレスに更新し、[保存] をクリックします。
Alibaba Cloud Workbench を使用してインスタンスにリモート接続する場合は、次の表に示すようにセキュリティグループの [インバウンド] ルールを設定します。
権限付与ポリシー | 優先度 | プロトコルタイプ | ポート範囲 | 権限付与オブジェクト |
許可 | 1 | カスタム TCP |
|
|
セキュリティと安定性のために、オフィスのネットワーク出口 IP などのパブリック IP アドレスに O&M ポートを公開しないことをお勧めします。代わりに、VPC 内の内部 IP アドレスからのアクセスを許可してください。詳細については、「セキュリティグループの適用ガイドと例」をご参照ください。