mengapa akses root harus dinonaktifkan untuk ssh? Saya selalu mendengar itu untuk alasan keamanan. Tapi saya tidak mengerti. Apa bedanya login sebagai non-root sudo su -
? Apa cara yang disukai untuk menangani tugas-tugas yang memerlukan izin istimewa?
Terima kasih
Thomas
Jawaban:
Sudo adalah cara yang lebih disukai ketika Anda perlu mendelegasikan tugas admin karena kemampuan audit dan rinciannya. Sudo memungkinkan semua perintah untuk dicatat dan memungkinkan adminstrator untuk mengatur profil sudo yang berbeda untuk individu atau grup.
Akses su atau root adalah semua atau tidak sama sekali
sumber
sudo -s
atausudo bash
. Kecuali jika Anda berbicara tentang membatasi set perintah/etc/sudoers
, yang belum pernah saya lihat digunakan di lingkungan produksi di mana sudo digunakan secara interaktif. Ketika sudo diaktifkan, perangkat lunak berbahaya (mis. Dijalankan dengan mengetikmake
ataupython setup.py
dalam repositori acak yang baru saja Anda kloning dari GitHub) secara efektif memiliki izin root. Bandingkan dengan skenario di mana sudo dinonaktifkan dan alih-alih koneksi SSH terpisah digunakan untuk mengeksekusi perintah sebagai root.Root adalah satu akun yang dijamin aktif dan diaktifkan pada setiap mesin unix tunggal, jadi tidak perlu repot untuk mengambilnya untuk mencoba memaksa paksa kata sandi. Tanpa alat eksternal (pembungkus yang membunuh pemindai yang jelas, Perangkat Pencegahan Penyusup, hal semacam itu) hanya masalah waktu sebelum kata sandi diketahui. Bahkan dengan alat eksternal yang mencegah perilaku semacam ini, masih merupakan ide bagus untuk memaksa pengguna yang masuk untuk masuk sebagai pengguna normal dan kemudian su / sudo / pfexec hingga privasi yang ditingkatkan. Ya, ini merupakan langkah ekstra, dan itu berarti Anda harus membuat akun pengguna di mesin yang dibagikan di antara pengguna root, tapi itu adalah penghalang lain antara penyerang dan kontrol kotak yang tidak dibatasi.
sumber
Perbedaan utama adalah bahwa penyerang juga harus menebak nama pengguna. Jika Anda membiarkan root untuk login, maka dia hanya perlu menebak kata sandinya.
Ia juga dapat memalsukan login seorang pengguna yang mendapatkan kunci ssh atau mengirim kembali data menggunakan pendekatan man-in-the-middle dan ia dapat masuk ke sistem tanpa harus mengetikkan kata sandi. Tetapi jika dia login sebagai pengguna, dia harus melakukan sudo-ize perintah dan dengan demikian dia terpaksa mengetikkan kata sandi secara manual. Jika dia login sebagai root, dia tidak perlu melakukan sudo-ize, jadi ini adalah satu langkah yang kurang aman.
sumber
Ada ratusan ribu mesin yang memindai sshd dan memaksa mereka. "root" adalah akun yang bagus untuk dicoba dulu karena jika rusak maka Anda benar-benar memiliki mesin. Ini juga merupakan akun umum pada semua sistem * nix, kecuali jika Anda menonaktifkan login root . Ini adalah praktik keamanan yang sangat baik untuk melakukan ini.
sumber
Keuntungan utama untuk ini adalah memungkinkan kontrol akses yang lebih fleksibel: Jika pengguna memiliki hak root melalui sudo, mudah untuk memberikan hak root atau mengambilnya sesuai keperluan. Sebaliknya, jika Anda benar-benar menyerahkan pw root kepada orang lain, Anda tidak dapat mengambilnya (kecuali jika Anda adalah Men In Black ;-)), Anda hanya dapat mengubah pw root, yang akan berdampak pada semua orang.
Dalam konteks itu, login root langsung tidak perlu b / c tidak ada yang memiliki root pw.
(Anda masih memerlukan root root untuk akses darurat di konsol dalam mode pengguna tunggal, tetapi harus ada ketentuan khusus untuk itu).
sumber
Tetapi HP-UX tidak pernah memaksakan tidak dapat diaksesnya root melalui ssh, mengapa?
sumber