Gunakan ecs-user alih-alih root untuk mengurangi permukaan serangan dan memungkinkan peningkatan hak istimewa yang dapat diaudit.
Risiko keamanan
Akun root memiliki izin sistem tanpa batas. Jika kredensial root (password atau kunci SSH) dikompromikan, penyerang akan mendapatkan kendali penuh atas server. Konsekuensinya meliputi:
Penghancuran data: menghapus data bisnis, log, dan backup.
Instalasi malware: menginstal ransomware, program penambangan, atau backdoor.
Pencurian informasi sensitif: mencuri kode bisnis, data pelanggan, dan informasi pembayaran.
Pergerakan lateral: menggunakan server sebagai titik awal untuk menyerang server lain di jaringan internal Anda.
Menghapus jejak operasional: memodifikasi atau menghapus file log, sehingga menyulitkan investigasi event keamanan.
Praktik terbaik
Buat instans dengan ecs-user untuk login harian. Hal ini membatasi permukaan serangan dan memastikan semua operasi berhak istimewa dilakukan melalui sudo, sehingga meninggalkan jejak audit yang jelas.
Konsol
Pada Instance Buy page, atur Logon Username menjadi ecs-user.
Penggunaecs-userhanya didukung pada versi gambar Linux tertentu. Jika gambar Anda tidak mendukungnya, buat penggunaecs-userdan berikan izinsudo. Lihat Login remote multi-pengguna.
API
Panggil RunInstances atau CreateInstance dengan ImageOptions.LoginAsNonRoot diatur ke true. Instans tersebut kemudian menggunakan ecs-user alih-alih root, dan password root tidak dapat direset.
Jika Anda tidak memiliki pasangan kunci, panggil CreateKeyPair untuk membuat satu.
Kepatuhan
Periksa: temukan instans Linux yang menggunakan login root
Buka ECS Insight.
Pilih tab Security dan klik Use of Non-root Users for Logons to Linux ECS Instances untuk melihat instans yang menggunakan login root.
Blokir: mencegah operasi akun root seperti pembuatan instans
Gunakan kebijakan RAM untuk memblokir operasi akun root seperti membuat instans Linux. Terapkan kebijakan tersebut di tingkat organisasi atau akun.
Pengguna perusahaan:
Login ke Konsol Resource Directory dengan Akun Alibaba Cloud Anda. Di panel navigasi, klik Control Policies. Buat kebijakan kustom dan tempel konten JSON berikut.
Kebijakan ini menolak operasi dengan identitas
rootseperti 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 Resource Directory, pilih node yang sesuai dan sambungkan kebijakan tersebut. Kebijakan ini memblokir operasi yang ditentukan untuk semua akun dalam direktori.
Pengguna non-perusahaan:
Login ke Konsol RAM dengan Akun Alibaba Cloud Anda. Di panel navigasi, klik Permission Policy. Buat kebijakan kustom dengan konten yang sama.
Sambungkan kebijakan tersebut ke Pengguna RAM, Grup pengguna RAM, atau Peran RAM. Lihat Manage access policies.
Perbaiki: nonaktifkan login akun root
Buat pengguna reguler untuk login SSH. Lihat Login remote multi-pengguna.
Login ke instans sebagai root atau pengguna reguler.
Nonaktifkan login SSH untuk root. Jalankan skrip berikut untuk memodifikasi konfigurasi SSH:
#!/bin/bash # Cadangkan file konfigurasi asli cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak_$(date +%F) # Nonaktifkan login SSH untuk pengguna root: Ubah parameter PermitRootLogin menjadi no sed -i 's/^#*PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config # Restart layanan SSH agar konfigurasi berlaku # Catatan: Nama layanan SSH dapat berbeda tergantung distribusi (misalnya, sshd atau ssh). Sesuaikan jika diperlukan. systemctl restart sshd || service sshd restartVerifikasi perubahan. Biarkan sesi saat ini tetap terbuka dan buka terminal baru. Pastikan login root gagal dan pengguna reguler Anda dapat login serta menjalankan perintah
sudo. Setelah itu, putuskan semua sesi.Setelah verifikasi, hasil periksa mungkin tidak segera diperbarui. Anda dapat mengabaikan penundaan ini.