Akar akun adalah akun utama di Linux dan sistem operasi mirip Unix lainnya. Akun ini memiliki akses ke semua perintah dan file pada sistem dengan izin baca, tulis, dan eksekusi penuh. Ini digunakan untuk melakukan segala jenis tugas pada suatu sistem; untuk membuat/memperbarui/mengakses/menghapus akun pengguna lain, menginstal/menghapus/memperbarui paket perangkat lunak, dan banyak lagi.
Karena akar pengguna memiliki kekuatan absolut, tindakan apa pun yang dia lakukan sangat penting pada suatu sistem. Dalam hal ini, kesalahan apa pun oleh root pengguna mungkin memiliki implikasi besar pada operasi normal suatu sistem. Selain itu, akun ini juga dapat disalahgunakan dengan menggunakannya secara tidak semestinya atau tidak tepat baik secara tidak sengaja, jahat, atau melalui ketidaktahuan kebijakan yang dibuat-buat.
Oleh karena itu, disarankan untuk menonaktifkan akses root di server Linux Anda, sebagai gantinya, buat akun administratif yang harus dikonfigurasi untuk mendapatkan hak pengguna root menggunakan perintah sudo, untuk melakukan tugas-tugas penting di server.
Pada artikel ini, kami akan menjelaskan empat cara untuk menonaktifkan login akun pengguna root di Linux.
Perhatian :Sebelum Anda memblokir akses ke root akun, pastikan Anda telah membuat akun administratif, yang mampu menggunakan perintah sudo untuk mendapatkan hak pengguna root, dengan perintah useradd dan berikan akun pengguna ini kata sandi yang kuat. Bendera -m
berarti membuat direktori home pengguna dan -c
memungkinkan untuk menentukan komentar:
# useradd -m -c "Admin User" admin # passwd admin
Selanjutnya, tambahkan pengguna ini ke grup administrator sistem yang sesuai menggunakan perintah usermod, di mana sakelar -a
berarti menambahkan akun pengguna dan -G
menentukan grup untuk menambahkan pengguna (roda atau sudo tergantung pada distribusi Linux Anda):
# usermod -aG wheel admin #CentOS/RHEL # usermod -aG sudo admin #Debian/Ubuntu
Setelah Anda membuat pengguna dengan hak administratif, alihkan ke akun tersebut untuk memblokir akses root.
# su admin
1. Ubah Shell Pengguna root
Metode paling sederhana untuk menonaktifkan login pengguna root adalah dengan mengubah shell-nya dari /bin/bash
atau /bin/bash
(atau shell lain yang mengizinkan login pengguna) ke /sbin/nologin
, di /etc/passwd file, yang dapat Anda buka untuk diedit menggunakan editor baris perintah favorit Anda seperti yang ditunjukkan.
$ sudo vim /etc/passwd
Ubah baris:
root:x:0:0:root:/root:/bin/bash to root:x:0:0:root:/root:/sbin/nologin
Simpan file dan tutup.
Mulai sekarang, saat root pengguna login, dia akan mendapatkan pesan “Akun ini saat ini tidak tersedia. ” Ini adalah pesan default, tetapi, Anda dapat mengubahnya dan menyetel pesan khusus dalam file /etc/nologin.txt .
Metode ini hanya efektif dengan program yang memerlukan shell untuk login pengguna, jika tidak, sudo , ftp dan email klien dapat mengakses akun root.
2. Nonaktifkan Login root melalui Perangkat Konsol (TTY)
Metode kedua menggunakan PAM modul bernama pam_securetty , yang mengizinkan akses root hanya jika pengguna masuk menggunakan TTY “aman” , seperti yang didefinisikan oleh cantuman di /etc/securetty .
File di atas memungkinkan Anda menentukan TTY . yang mana perangkat pengguna root diizinkan untuk login, mengosongkan file ini mencegah login root pada perangkat apa pun yang terhubung ke sistem komputer.
Untuk membuat file kosong, jalankan.
$ sudo mv /etc/securetty /etc/securetty.orig $ sudo touch /etc/securetty $ sudo chmod 600 /etc/securetty
Metode ini memiliki beberapa keterbatasan, hanya mempengaruhi program seperti login, pengelola tampilan (yaitu gdm , kdm dan xdm ) dan layanan jaringan lain yang meluncurkan TTY. Program seperti su, sudo, ssh, dan alat openssh terkait lainnya akan memiliki akses ke akun root.
3. Nonaktifkan Login Root SSH
Cara paling umum untuk mengakses server jarak jauh atau VPS adalah melalui SSH dan untuk memblokir login pengguna root di bawahnya, Anda perlu mengedit /etc/ssh/sshd_config berkas.
$ sudo vim /etc/ssh/sshd_config
Kemudian batalkan komentar (jika dikomentari) arahan PermitRootLogin dan atur nilainya menjadi no
seperti yang ditunjukkan pada tangkapan layar.
Setelah selesai, simpan dan tutup file. Kemudian mulai ulang sshd service untuk menerapkan perubahan konfigurasi terbaru.
$ sudo systemctl restart sshd OR $ sudo service sshd restart
Seperti yang mungkin sudah Anda ketahui, metode ini hanya memengaruhi set alat openssh, program seperti ssh, scp, sftp akan diblokir agar tidak mengakses akun root.
4. Batasi Akses root ke Layanan Melalui PAM
Modul Otentikasi yang Dapat Dicolokkan (PAM singkatnya) adalah metode otentikasi terpusat, pluggable, modular, dan fleksibel pada sistem Linux. PAM, melalui /lib/security/pam_listfile.so modul, memungkinkan fleksibilitas besar dalam membatasi hak istimewa akun tertentu.
Modul di atas dapat digunakan untuk mereferensikan daftar pengguna yang tidak diizinkan masuk melalui beberapa layanan target seperti login, ssh, dan program sadar PAM apa pun.
Dalam hal ini, kami ingin menonaktifkan akses pengguna root ke sistem, dengan membatasi akses ke layanan login dan sshd. Pertama buka dan edit file untuk layanan target di /etc/pam.d/ direktori seperti yang ditunjukkan.
$ sudo vim /etc/pam.d/login OR sudo vim /etc/pam.d/sshd
Selanjutnya, tambahkan konfigurasi di bawah ini di kedua file.
auth required pam_listfile.so \ onerr=succeed item=user sense=deny file=/etc/ssh/deniedusers
Setelah selesai, simpan dan tutup setiap file. Kemudian buat file biasa /etc/ssh/deniedusers yang seharusnya berisi satu item per baris dan tidak dapat dibaca dunia.
Tambahkan nama root di dalamnya, lalu simpan dan tutup.
$ sudo vim /etc/ssh/deniedusers
Juga atur izin yang diperlukan untuk ini.
$ sudo chmod 600 /etc/ssh/deniedusers
Metode ini hanya mempengaruhi program dan layanan yang sadar PAM. Anda dapat memblokir akses root ke sistem melalui ftp dan klien email dan banyak lagi.
Untuk informasi lebih lanjut, lihat halaman manual yang relevan.
$ man pam_securetty $ man sshd_config $ man pam
Itu saja! Pada artikel ini, kami telah menjelaskan empat cara menonaktifkan login (atau akun) pengguna root di Linux. Apakah Anda memiliki komentar, saran, atau pertanyaan, jangan ragu untuk menghubungi kami melalui formulir masukan di bawah.