Saat membuat instans Linux, hindari masuk sebagai pengguna root. Sebagai gantinya, gunakan ecs-user.
Risiko keamanan
Akun root memiliki izin tertinggi dalam sistem, yang memudahkan administrasi tetapi juga meningkatkan risiko keamanan secara signifikan. Jika kredensial akun root, seperti kata sandi atau kunci Protokol Secure Shell (SSH), disusupi, penyerang dapat mengambil alih kendali penuh atas server Anda. Hal ini dapat menyebabkan:
Penghapusan data: Penyerang dapat menghapus semua data bisnis, log, dan cadangan.
Instalasi malware: Penyerang dapat menginstal malware seperti ransomware, program penambangan, atau pintu belakang.
Pencurian informasi sensitif: Aset inti seperti kode bisnis, data pelanggan, dan informasi pembayaran dapat dicuri.
Serangan pergerakan lateral: Penyerang dapat menggunakan server sebagai landasan untuk menyerang server lain di jaringan internal Anda, menyebabkan kerusakan luas.
Menghapus jejak operasional: Penyerang dapat dengan mudah memodifikasi atau menghapus file log, sehingga lebih sulit untuk melacak insiden keamanan setelah terjadi.
Praktik terbaik
Gunakan ecs-user untuk masuk harian dan manajemen saat membuat instans. Ini membatasi permukaan serangan potensial serta memastikan bahwa semua operasi istimewa dilakukan menggunakan sudo, meninggalkan catatan operasi yang jelas, dapat diaudit, dan menjelaskan tanggung jawab untuk setiap aksi.
Konsol
Saat membuat instans pada Halaman Pembelian Instans, atur Username menjadi ecs-user.
Penggunaecs-userhanya didukung pada versi tertentu dari citra Linux. Jika citra Anda tidak mendukung pengguna ini, buatlah penggunaecs-userdan berikan izinsudo. Untuk informasi lebih lanjut, lihat Masuk Jarak Jauh Multi-pengguna
API
Saat memanggil operasi API RunInstances atau CreateInstance untuk membuat instans, Anda dapat menetapkan parameter ImageOptions.LoginAsNonRoot menjadi true. Dengan pengaturan ini, instans akan menggunakan nama pengguna ecs-user sebagai ganti root. Anda tidak dapat mengatur ulang kata sandi untuk nama pengguna root.
Jika Anda tidak memiliki pasangan kunci, panggil operasi API CreateKeyPair untuk membuat satu.
Kemampuan kepatuhan
Pemeriksaan: Temukan instans Linux yang menggunakan akun root untuk masuk
Pilih tab Security Capabilities. Klik pemeriksaan Log On To Linux Instances As A Non-root User untuk melihat instans Linux yang menggunakan akun root untuk masuk.
Blokir: Cegah penggunaan akun root untuk operasi seperti membuat instans
Gunakan kebijakan Resource Access Management (RAM) untuk memblokir penggunaan akun root dalam operasi seperti membuat instans Linux baru. Kebijakan ini dapat diterapkan di tingkat organisasi atau akun.
Untuk pengguna perusahaan:
Masuk ke Konsol Direktori Sumber Daya dengan Akun Alibaba Cloud Anda. Di panel navigasi sebelah kiri, klik Control Policies. Buat kebijakan kustom dan tempelkan konten JSON berikut.
Kebijakan ini menolak penggunaan identitas
rootuntuk operasi seperti membuat instans, menyambungkan disk sistem, dan mengganti disk sistem.{ "Version": "1", "Statement": [ { "Action": [ "ecs:RunInstances", "ecs:CreateInstance", "ecs:ReplaceSystemDisk", "ecs:AttachDisk", "ecs:InvokeCommand" ], "Resource": "*", "Condition": { "Bool": { "ecs:LoginAsNonRoot": [ "false" ] } }, "Effect": "Deny" } ] }Di Direktori Sumber Daya, pilih node yang sesuai dan sambungkan kebijakan tersebut. Kebijakan ini kemudian akan memblokir operasi yang ditentukan untuk semua akun di direktori.
Untuk pengguna non-perusahaan:
Masuk ke Konsol RAM dengan Akun Alibaba Cloud Anda. Di panel navigasi sebelah kiri, klik Policies. Buat kebijakan kustom dengan konten yang sama seperti yang ditunjukkan di atas.
Berikan izin dengan menyambungkan kebijakan tersebut ke pengguna RAM, grup pengguna RAM, atau peran RAM. Untuk informasi lebih lanjut, lihat Kelola kebijakan akses.
Remediasi: Nonaktifkan logon akun root
Buat pengguna biasa: Buat pengguna biasa untuk digunakan dalam masuk SSH. Untuk informasi lebih lanjut, lihat Masuk Jarak Jauh Multi-pengguna.
Masuk ke instans: Masuk ke instans Linux Anda sebagai pengguna root atau pengguna biasa.
Nonaktifkan akun root masuk: Masuk ke instans dan jalankan skrip berikut untuk memodifikasi file konfigurasi layanan SSH.
#!/bin/bash # Cadangkan file konfigurasi asli cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak_$(date +%F) # Nonaktifkan masuk SSH untuk pengguna root: Ubah parameter PermitRootLogin menjadi no sed -i 's/^#*PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config # Mulai ulang layanan SSH agar konfigurasi berlaku # Catatan: Nama layanan SSH mungkin bervariasi berdasarkan distribusi (misalnya, sshd atau ssh). Modifikasi sesuai kebutuhan. systemctl restart sshd || service sshd restartVerifikasi perubahan: Setelah operasi selesai, biarkan sesi saat ini tetap terbuka. Buka jendela terminal baru dan coba masuk sebagai pengguna root. Verifikasi bahwa upaya masuk gagal. Kemudian, coba masuk sebagai pengguna biasa Anda. Pastikan Anda dapat masuk dengan sukses dan menjalankan perintah istimewa menggunakan
sudo. Setelah verifikasi berhasil, Anda dapat dengan aman memutuskan semua sesi.Setelah Anda memverifikasi perubahan, hasil dari pemeriksaan mungkin tidak segera diperbarui. Anda dapat mengabaikan penundaan ini.