Elastic Compute Service (ECS) インスタンスへのログインには、弱いパスワード (簡単なパスワード) の使用を避けてください。キーペア認証、強力なパスワード認証、または Workbench を使用したパスワード不要の接続 を使用してください。認証情報を定期的に変更して、インスタンスのアクセスセキュリティを向上させ、弱いパスワードによるセキュリティリスクを排除します。
セキュリティリスク
サーバーへのログインにユーザー名とパスワードを使用するのは、便利ですがリスクの高い認証方式です。弱いパスワードは、最も一般的で悪用されやすい脆弱性の 1 つです。多くのユーザーは、覚えやすいという理由で、123456 や admin@123 などの弱いパスワードを設定します。この習慣は、以下のセキュリティリスクをもたらします:
ブルートフォース攻撃: 攻撃者は、Hydra や John the Ripper などの自動化ツールを使用して、一般的なパスワードの組み合わせを素早く試します。これにより、短い時間で弱いパスワードを解読できます。
データ漏洩: パスワードを解読した後、攻撃者は個人情報や財務情報などの機密データを盗んだり、ユーザーになりすまして詐欺を働いたりする可能性があります。
ラテラルムーブメント攻撃: 攻撃者は、弱いパスワードを使用して、一般従業員のメールボックスなどの低権限アカウントを侵害します。その後、内部ネットワーク内で水平に移動して、管理者権限や主要なシステムのコントロールを取得する可能性があります。
辞書攻撃: ユーザーが異なるプラットフォームで同じ弱いパスワードを再利用すると、このリスクは増大します。あるプラットフォームでデータ漏洩が発生した場合、攻撃者は漏洩した認証情報を使用して、ユーザーの他のアカウントへのアクセスを試みる可能性があります。
ベストプラクティス
Linux インスタンス
キーペア認証を使用してください。これはパスワード認証よりも安全です。
コンソール
インスタンス購入ページでインスタンスを作成する際、[ログイン認証情報] を [キーペア] に設定します。次に、既存の [キーペア] を選択します。
キーペアがない場合は、[キーペアの作成] をクリックして作成し、それを選択します。
API
RunInstances または CreateInstance 操作を呼び出してインスタンスを作成する際、KeyPairName パラメーターを指定します。この場合、パスワードパラメーターは無視されます。
キーペアがない場合は、CreateKeyPair 操作を呼び出して作成します。
Windows インスタンス
強力なパスワード認証を使用してください。キーペア認証はサポートされていません。
インスタンス購入ページでインスタンスを作成する際、[ログイン認証情報] を [カスタムパスワード] に設定します。次に、プロンプトに従って、複雑な (強力な) [ログインパスワード] を設定します:
複雑なパスワードは、次の要件を満たす必要があります:
パスワードは 8 文字以上である必要があります。
大文字 (A–Z)、小文字 (a–z)、数字 (0–9)、特殊文字 (~, !, @, $, %, ^, &, *, -, _, =, +, #, /, ?) のうち、3 種類以上の文字タイプを含める必要があります。
パスワードは、ユーザー名またはユーザー名を逆にした文字列であってはなりません。
次のような、一般的または公知の弱いパスワードは使用しないでください:
abcd1234、admin、root、admin@123 などの公知の弱いパスワード。
123456、abcdef、123abc、qwerty、1qaz2wsx などの、連続したまたは混合した数字と文字のシーケンス、またはキーボード上の連続したキー。
5201314 や woaini1314 などのフレーズベースのパスワード。
会社名、誕生日、名前、ID 番号、電話番号、メールアドレス、ユーザー ID、および年。
パスワードを定期的に変更してください。
パスワードは 90 日ごとに変更することをお勧めします。
コンプライアンス機能
チェック: キーペア認証を使用していない Linux インスタンスを検索する
ECS 使用成熟度評価とインサイト
ECS 使用成熟度評価とインサイトに移動します。
[セキュリティ機能] タブを選択します。[キーペアの使用 (Linux のみ)] チェック項目をクリックして、キーペア認証を使用していない Linux インスタンスを表示します。
セキュリティセンター
セキュリティセンターコンソールに移動します。
左側のナビゲーションウィンドウで、 を選択します。[クラウド製品構成リスク] タブを選択します。[ログインに SSH キーペアを使用] という名前のチェック項目を見つけ、[アクション] 列の [スキャン] をクリックします。
ステータスが「失敗」の場合、キーペア認証を使用していない Linux インスタンスが 1 つ以上存在します。[詳細] をクリックしてインスタンスを表示します。
ブロック: Linux インスタンスの作成またはその他の操作実行時のパスワード認証を禁止する
組織またはアカウントレベルで Resource Access Management (RAM) ポリシーを使用して、Linux インスタンスのパスワードを設定するアクションをブロックします。
エンタープライズユーザーの場合:
Alibaba Cloud アカウントで リソースディレクトリコンソールにログインします。左側のナビゲーションウィンドウで、[コントロールポリシー] をクリックします。カスタムポリシーを作成し、次の JSON コンテンツを貼り付けます。
このポリシーは、インスタンスの作成、システムディスクのアタッチ、システムディスクの置き換え、インスタンス属性の変更、またはパスワードの変更時にパスワード認証の使用を拒否します。
{ "Version": "1", "Statement": [ { "Action": [ "ecs:RunInstances", "ecs:CreateInstance", "ecs:ReplaceSystemDisk" ], "Resource": "*", "Condition": { "Bool": { "ecs:PasswordCustomized": [ "true" ] }, "StringEquals": { "ecs:ImagePlatform": "linux" } }, "Effect": "Deny" }, { "Action": [ "ecs:ModifyInstanceAttribute", "ecs:InvokeCommand", "ecs:AttachDisk" ], "Resource": "*", "Condition": { "Bool": { "ecs:PasswordCustomized": [ "true" ] } }, "Effect": "Deny" } ] }リソースディレクトリ内の適切なノードにポリシーをアタッチします。これにより、そのノード配下のすべてのアカウントに対して指定されたアクションがブロックされます。
非エンタープライズユーザーの場合:
Alibaba Cloud アカウントで RAM コンソールにログインします。左側のナビゲーションウィンドウで、[ポリシー] をクリックします。上記のポリシーと同じ内容のカスタムポリシーを作成します。
RAM ユーザー、RAM ユーザーグループ、または RAM ロールにポリシーをアタッチします。詳細については、「RAM ユーザーに権限を付与する」をご参照ください。
修正: 既存のインスタンスをキーペアログインに切り替える
チェックによってパスワードログインを使用している既存の Linux インスタンスが見つかった場合は、キーペア認証に切り替えます。
キーペアのアタッチ: 既存のキーペアをアタッチするか、新しいキーペアを作成してインスタンスにアタッチします。
キーペアをアタッチした後、新しいキーペアでインスタンスにログインしてみて、インスタンスにアクセスできることを確認します。
パスワードログインの無効化: インスタンスにログインし、次のスクリプトを実行して Secure Shell Protocol (SSH) サービス構成ファイルを変更します。
#!/bin/bash # 元の構成ファイルをバックアップします cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak_$(date +%F) # パスワード認証を無効化: PasswordAuthentication パラメーターを no に変更します sed -i 's/^#*PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config # 構成を有効にするために SSH サービスを再起動します # コマンドはオペレーティングシステムによって sshd または ssh の場合があります systemctl restart sshd || service sshd restart検証: 操作が完了したら、インスタンスを再起動します。パスワード認証を使用してインスタンスにログインしてみてください。ログイン試行は失敗するはずです。次に、キーペアを使用してログインし、キーペアでのログインが成功することを確認します。