Saya cukup baru dalam administrasi server, dan saya telah melihat banyak situs yang merekomendasikan untuk memberikan hak sudo kepada pengguna yang dibuat oleh pengguna root dan memberikan kata sandi yang sangat panjang kepada pengguna root untuk peningkatan keamanan.
Jika pengguna yang baru dibuat dapat melakukan fungsi yang sama dengan pengguna root, apa manfaat sebenarnya dari melakukan ini sama sekali?
Jawaban:
Ada beberapa manfaat menggunakan
sudo
terlalu banyak membagikan kata sandi root. Tanpa urutan tertentu:Anda tidak memberikan kata sandi root Anda.
Sebagai aturan umum, jika seseorang meninggalkan perusahaan Anda dan mereka tahu kata sandi root, Anda sekarang harus mengganti kata sandi itu di mana-mana. Dengan manajemen konfigurasi yang tepat, ini adalah gangguan kecil. Tanpanya itu adalah tugas besar.
Anda tidak memberikan kunci kerajaan
sudo
memungkinkan Anda menentukan daftar perintah terbatas yang dapat dijalankan pengguna, jadi jika Anda memutuskan bahwa Alice hanya membutuhkan kemampuan untuk berhenti dan memulai Apache, tetapi Bob membutuhkan hak root penuh, Anda dapat mengatur mereka sesuai.Anda dapat mengelola otorisasi secara terpusat
sudo
mendukung konfigurasi LDAP, yang berarti setiap sistem di perusahaan Anda dapat melihat server LDAP pusat untuk menentukan siapa yang diizinkan melakukan apa.Perlu mengotorisasi (atau membatalkan otorisasi) seseorang? Ubah konfigurasi sudoers di LDAP dan semua sistem Anda diperbarui sekaligus.
Ada jejak audit
Dengan pengecualian dari pengguna yang diizinkan untuk melakukan
sudo su -
,sudo sh
atau sesuatu yang setara,sudo
akan menghasilkan jejak audit yang pengguna ran perintah apa.(Ini juga akan menghasilkan daftar orang-orang yang memberi diri mereka sendiri root shell yang tidak di-log, sehingga Anda dapat mengarahkan jari Anda pada mereka dan mendesis dengan ketidaksetujuan.)
sudo
baik untuk lebih dari sekadar root. Semua orang berkonsentrasisudo
sebagai cara untuk melakukan hal - hal sebagai su peruser, tapi itu tidak semua bagus untuk itu.Katakanlah Alice bertanggung jawab atas pembuatan perangkat lunak tertentu, tetapi Bob harus dapat menjalankan skrip pembuatan juga. Anda bisa memberi Bob entri dalam sudoers yang memungkinkannya menjalankan skrip build sebagai pengguna Alice. (Ya, tentu, ada banyak cara yang lebih baik untuk menangani kasus khusus ini, tetapi prinsip
Let user A run a program as user B
dapat bermanfaat ...).Anda juga mendapatkan semua manfaat jejak audit yang sama yang saya sebutkan di atas saat melakukan ini ...
sumber
sudo
lawansu
adalah perbedaan akademik - Anda harus melompat melalui satu lingkaran atau yang lain. Menggunakansudo
menawarkan Anda kesempatan untuk menerapkan prinsip privilege paling tidak (poin terakhir saya) di mana praktis, dan itu selalu sesuatu untuk dipertimbangkan secara serius.sudo vi
bisa:! bash
sekali di dalam vi.NOEXEC
Tag membantu dalam kasus itu.Perbedaan utama adalah bahwa pengguna mengotentikasi untuk
sudo
menggunakan kata sandi mereka sendiri , sedangkan dengansu
atau login root langsung kata sandi root digunakan.Ini berarti bahwa Anda tidak harus membagikan kata sandi root dengan semua orang , dan bahwa jika Anda perlu menonaktifkan akses root untuk satu atau dua pengguna di masa mendatang, Anda dapat menonaktifkannya untuk mereka, daripada harus mengubah kata sandi root.
sudo
juga mampu membatasi perintah mana yang dapat dijalankan oleh setiap pengguna sebagai root, sehingga pengguna tertentu dapat diberikan akses hanya ke tugas yang perlu mereka lakukan, jika mereka tidak memerlukan akses root penuh.sumber
Selain jawaban yang diberikan, yang valid, jangan lupa bahwa pengguna yang login sebagai root berpotensi merusak sistem di setiap perintah. Jika Anda memaksa mereka mengetikkan sudo sebelum melakukan sesuatu yang berpotensi berbahaya, setidaknya Anda membuat mereka sadar bahwa mereka perlu memeriksa ulang sebelum melakukan perintah tertentu.
sumber
Ya memang - dari perspektif kontrol dan logging, sudo jauh lebih baik.
Misalnya - jika Anda su satu-satunya peristiwa yang ditangkap dalam log adalah Anda menuntut. Apa pun setelah itu berjalan sebagai root. Dan jika Anda pernah melihat log di Unix / Linux Anda tahu root melakukan banyak hal.
Sudo di sisi lain mencatat hampir semua SEBAGAI pengguna yang berasal.
sumber
Menggunakan sudo mempersulit pengguna jahat untuk mendapatkan akses ke sistem. Ketika ada akun root yang tidak dikunci, pengguna jahat tahu nama pengguna akun yang ingin ia crack sebelum mulai. Ketika akun root dikunci, pengguna harus menentukan nama pengguna dan kata sandi untuk membobol sistem.
sumber