beberapa waktu lalu saya memberi root kata sandi sehingga saya bisa login sebagai root dan menyelesaikan beberapa hal. Sekarang saya ingin menonaktifkan login root untuk memperketat keamanan, karena saya akan mengekspos servis saya ke internet. Saya telah melihat beberapa cara untuk melakukan ini ( sudo passwd -l root
, mengutak-atik /etc/shadow
, dan sebagainya), tetapi tidak ada yang mengatakan apa cara terbaik / paling masuk akal untuk melakukannya. Saya sudah melakukannya sudo passwd -l root
tetapi saya telah melihat saran yang mengatakan ini dapat memengaruhi skrip init, dan itu tidak seaman kelihatannya karena masih meminta kata sandi jika Anda mencoba masuk, alih-alih menolak akses. Jadi apa cara untuk mencapai itu?
EDIT: untuk memperjelas, ini untuk login lokal sebagai root; Saya sudah menonaktifkan login jarak jauh melalui SSH. Meskipun mencoba masuk sebagai root melalui SSH masih meminta kata sandi root (yang selalu gagal). Apakah itu buruk?
rm
perintah salah tempat atau semacamnya. Sesuatu yang saya pelajari dengan cara yang sulit. Ya, seseorang TIDAK bisa login sebagai root, tetapi menonaktifkannya masuk akal dari sudut pandang sys admin.Jawaban:
Bagi saya, masih bisa diperdebatkan bahwa menonaktifkan root sepadan dengan potensi masalah. Saya belum pernah menguji server yang dikonfigurasi sedemikian rupa. Preferensi saya adalah mengizinkan akses root saja. Jika penyerang memiliki akses fisik ke server Anda, Anda bisa melupakan semua yang telah Anda lakukan untuk "mengamankan" instalasi Anda.
Nonaktifkan
ssh
akses root dengan mengedit/etc/ssh/sshd_config
mengandung:Mengotak-atik
/etc/shadow
,chsh -s /bin/false root
semua bisa dibatalkan dengan CD / thumbdrive bootable sederhana.Perbarui per komentar Anda:
Dari help.ubuntu.com : "Secara default, kata sandi akun root terkunci di Ubuntu ". Silakan lihat bagian "Menonaktifkan kembali akun root Anda" secara khusus. Untuk mengatur ulang status akun root, untuk menginstal-default, gunakan perintah berikut:
sumber
Saya berasumsi Anda merujuk ke login jarak jauh melalui ssh. Tambahkan baris berikut ke
/etc/ssh/sshd_config
:dan restart layanan ssh
Itu harus melakukan pekerjaan dan Anda dapat menjaga akun root Anda apa adanya (atau mencoba untuk menonaktifkannya jika Anda merasa itu perlu).
sumber
Pertanyaan utama telah dijawab beberapa kali, tetapi pertanyaan kedua belum dijawab. SSH meminta kata sandi setelah memasukkan root setelah dinonaktifkan sebagai fitur keamanan. Ini juga akan memicu jika Anda mencoba masuk sebagai lkjfiejlksji.
Ini untuk mencegah seseorang menguji setumpuk nama pengguna, untuk mencoba dan mencari tahu mana yang valid pada sistem Anda. Namun, dari sudut pandang keamanan, jika Anda telah menonaktifkan root melalui SSH, saya juga menyiapkan program deteksi bruteforce (seperti fail2ban), dan mengaturnya sehingga jika seseorang bahkan mencoba masuk sebagai root, ia memblokir mereka dari mencoba serangan tambahan apa pun.
sumber
Mengganti kata sandi terenkripsi dengan * di / etc / shadow (bidang kedua, setelah yang pertama ':') adalah cara terbaik, IMHO. Juga, nonaktifkan login root untuk ssh (cara ini tidak mungkin untuk login melalui ssh sebagai root) dan mungkin membatasi ssh untuk login sertifikat, yang jauh lebih aman daripada login berbasis kata sandi.
Dalam kebanyakan kasus, SSH harus menjadi satu-satunya layanan yang dapat diakses dari luar yang berpotensi memungkinkan login root, sehingga pintu ini akan dikunci.
Untuk membatasi ini lebih lanjut, Anda dapat menginstal sesuatu seperti fail2ban, yang melarang alamat IP untuk jangka waktu tertentu setelah sejumlah upaya login yang gagal.
sumber
JR et al,
AllowUsers Anda menuntun saya ke https://help.ubuntu.com/community/SSH/OpenSSH/Configuring ini
sudo vi / etc / ssh / sshd_config
PermitRootLogin ya (diubah menjadi tidak)
(tambahkan baris di bagian bawah file) DenyUsers user1 user2
simpan dan keluar lalu
sudo service ssh restart
Memecahkan masalah saya. Terimakasih untuk semua.
sumber
Jika Anda ingin menonaktifkan login root lokal, Anda dapat mencoba memodifikasi / etc / passwd dan mengganti / bin / bash dengan / bin / false. NAMUN, karena saya belum mengujinya, saya akan mengatakan membiarkan sesi root terbuka di samping, mengujinya, dan jika ada efek samping yang aneh, ubah kembali.
sumber
Re: Keamanan.
IMHO hanya ada begitu banyak yang dapat Anda lakukan, keamanan bijaksana, singkat mencabut kotak, melepaskannya dari jaringan, dan mengelasnya di dalam kotak baja karbida-baja tebal 3 ".
Pikirkan seperti ini - jika orang bisa meretas Departemen Pertahanan, CIA, FBI, dan Citibank - kita semua manusia biasa tidak bisa berbuat lebih baik.
Re: keamanan SSH.
Saya tidak hanya melarang akses root melalui ssh, saya juga mengatur parameter "AllowUsers" menjadi nama pengguna saya, dan hanya saya. Dengan cara ini, tidak ada seorang pun selain pengguna saya yang dapat masuk melalui ssh. Ini mungkin berlebihan seperti dalam kasus saya sendiri, saya hanya membuat SATU pengguna non-root.
Sayangnya, seperti yang orang lain katakan berkali-kali sebelumnya, segera setelah seseorang mendapatkan akses fisik ke kotak, semua taruhan MATI!
Pertukaran sertifikat untuk login ssh? Hmmmm. . . . kedengarannya bagus. Bagaimana Anda melakukannya?
Jim (JR)
sumber