Tüm Ürünler
Search
Belge Merkezi

Elastic Compute Service:Avoid root logon for Linux instances

Son Güncelleme:Sep 30, 2026

Saldırı yüzeyini azaltmak ve denetlenebilir yetki yükseltme sağlamak için root yerine ecs-user kullanın.

Güvenlik riskleri

Root hesabı sınırsız sistem izinlerine sahiptir. Root kimlik bilgileri (parola veya SSH anahtarı) ele geçirilirse saldırgan sunucunun tam kontrolünü elde eder. Bunun sonuçları şunlardır:

  • Veri yok etme: İş verilerini, günlükleri ve yedeklemeleri silme.

  • Kötü amaçlı yazılım yükleme: Fidye yazılımları, kripto para madencilik programları veya arka kapılar yükleme.

  • Hassas bilgi hırsızlığı: İş kodlarını, müşteri verilerini ve ödeme bilgilerini çalma.

  • Yanal hareket: Sunucuyu iç ağınızdaki diğer sunuculara saldırı başlatmak için bir sıçrama tahtası olarak kullanma.

  • Operasyonel izlerin silinmesi: Güvenlik olaylarının soruşturulmasını zorlaştırmak amacıyla günlük dosyalarını değiştirme veya silme.

En iyi uygulamalar

Günlük oturum açma işlemleri için ecs-user ile örnekler oluşturun. Bu yaklaşım saldırı yüzeyini kısıtlar ve tüm ayrıcalıklı işlemlerin sudo üzerinden yapılmasını sağlayarak net bir denetim izi bırakır.

Konsol

Örnek Satın Alma sayfasında, Logon Username değerini ecs-user olarak ayarlayın.

ecs-user kullanıcısı yalnızca belirli Linux görüntü sürümlerinde desteklenir. Görüntünüz bu kullanıcıyı desteklemiyorsa ecs-user kullanıcısını oluşturun ve sudo izinlerini verin. Bkz. Çok kullanıcılı uzaktan oturum açma .

API

ImageOptions.LoginAsNonRoot parametresini true olarak ayarlayarak RunInstances veya CreateInstance çağrısı yapın. Örnek daha sonra root yerine ecs-user kullanır ve root parolası sıfırlanamaz.

Bir anahtar çiftiniz yoksa CreateKeyPair çağrısı yaparak yeni bir anahtar çifti oluşturun.

Uyumluluk

Kontrol: Root oturumu kullanan Linux örneklerini bulma

  1. ECS Insight konsoluna gidin.

  2. Security sekmesini seçin ve root oturumu kullanan örnekleri görüntülemek için Use of Non-root Users for Logons to Linux ECS Instances seçeneğine tıklayın.

Engelleme: Örnek oluşturma gibi root hesap işlemlerini önleme

Linux örnekleri oluşturma gibi root hesap işlemlerini engellemek için bir RAM ilkesi kullanın. İlkeyi organizasyon veya hesap düzeyinde uygulayın.

  • Kurumsal kullanıcılar:

    1. Alibaba Cloud hesabınızla Kaynak Dizini konsoluna giriş yapın. Sol gezinme bölmesinde Control Policies seçeneğine tıklayın. Özel ilke oluşturma adımlarını izleyerek aşağıdaki JSON içeriğini yapıştırın.

      Bu ilke, örnek oluşturma, sistem diskleri ekleme ve sistem disklerini değiştirme gibi root kimliğiyle yapılan işlemleri reddeder.

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": [
                      "ecs:RunInstances",
                      "ecs:CreateInstance",
                      "ecs:ReplaceSystemDisk",
                      "ecs:AttachDisk",
                      "ecs:InvokeCommand"
                  ],
                  "Resource": "*",
                  "Condition": {
                      "Bool": {
                          "ecs:LoginAsNonRoot": [
                              "false"
                          ]
                      }
                  },
                  "Effect": "Deny"
              }
          ]
      }
    2. Kaynak Dizini'nde uygun bir düğüm seçin ve ilkeyi ekleyin. Bu ilke, dizindeki tüm hesaplar için belirtilen işlemleri engeller.

  • Kurumsal olmayan kullanıcılar:

    1. Alibaba Cloud hesabınızla RAM konsoluna giriş yapın. Sol gezinme bölmesinde Permission Policy seçeneğine tıklayın. Aynı içerikle özel bir ilke oluşturun.

    2. İlkeyi RAM kullanıcılarına, RAM kullanıcı gruplarına veya RAM rollerine ekleyin. Bkz. Erişim ilkelerini yönetme.

Düzeltme: Root hesabı ile oturum açmayı devre dışı bırakma

  1. SSH oturumu için düzenli bir kullanıcı oluşturun. Bkz. Çok kullanıcılı uzaktan oturum açma.

  2. Örneğe root veya düzenli bir kullanıcı olarak giriş yapın.

  3. Root SSH oturum açmayı devre dışı bırakın. SSH yapılandırmasını değiştirmek için aşağıdaki betiği çalıştırın:

    #!/bin/bash
    # Back up the original configuration file
    cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak_$(date +%F)
    
    # Disable SSH logon for the root user: Change the PermitRootLogin parameter to no
    sed -i 's/^#*PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config
    
    # Restart the SSH service for the configuration to take effect
    # Note: The SSH service name may vary by distribution (for example, sshd or ssh). Modify it as needed.
    systemctl restart sshd || service sshd restart
  4. Değişikliği doğrulayın. Mevcut oturumu açık tutun ve yeni bir terminal açın. Root oturumunun başarısız olduğunu ve düzenli kullanıcınızın giriş yapıp sudo komutlarını çalıştırabildiğini onaylayın. Ardından tüm oturumları kapatın.

    Doğrulama işleminden sonra kontrol sonucu hemen güncellenmeyebilir. Bu gecikmeyi göz ardı edebilirsiniz.