Mengapa Ubuntu memiliki akun root yang dinonaktifkan?

57

Ubuntu menonaktifkan login root untuk "alasan keamanan". Namun menurut saya itu sama sekali tidak membantu keamanan.

Jika penyusup berhasil mendapatkan kata sandi login Anda untuk Ubuntu, maka ia juga memiliki kata sandi pengguna super, karena sama dengan kata sandi login.

Namun jika password root diperlukan, maka hanya dengan login saja tidak akan banyak membantu pengganggu - itu benar bukan?

Jadi pada dasarnya, yang ingin saya ketahui adalah: Mengapa Ubuntu memilih untuk menonaktifkan kata sandi root? Apa alasan keamanannya?

Tolong jangan jawab sesuai dengan apa yang Anda "pikirkan" adalah alasannya - saya mencari jawaban dari sumber resmi, atau ditautkan dengan mereka.

TellMeWhy
sumber
6
Lihat apakah ini membantu.
Mitch
5
Alasan menggunakan sudo, sama dengan alasan sudo dibuat di tempat pertama.
Thorbjørn Ravn Andersen
2
Canonical merasa itu adalah keseimbangan terdekat antara kegunaan dan keamanan untuk pengguna Windows dan OSX yang tidak memiliki latar belakang dalam administrasi sistem. Inti dari memiliki distro desktop adalah untuk menarik orang yang tidak ingin belajar tentang Linux, tetapi ingin dapat menemukan hal-hal yang ingin mereka jalankan, klik, dan jalankan. Saat seorang pengguna "normal" ingin tahu tentang melakukan lebih dari sekadar web / mail / pr0n / permainan tiba-tiba Ubuntu dapat menjadi pintu gerbang ke semua hal keren yang belum pernah mereka dengar (termasuk "mengaktifkan" root - selalu ada di sana , coba sudo su).
zxq9
1
Jika seseorang memasang akun Anda, mereka dapat menangkap kata sandi root saat Anda mengetiknya, jika Anda pernah sudari akun Anda untuk melakukan rooting. Poin Anda tentang peningkatan hak istimewa hanya berlaku jika Anda login sebagai root pada konsol terpisah, dan tidak pernah melakukan apa pun sebagai root yang mempercayai file apa pun yang memiliki akses tertulis untuk akun normal Anda. Seperti jawaban yang ada katakan, salah satu alasan utama adalah untuk mencegah pemula dari memikirkan root sebagai akun yang harus Anda masuki dan gunakan.
Peter Cordes
2
Juga lihat Mana cara teraman untuk mendapatkan hak akses root: sudo, su atau login? di Unix / Linux Stack Exchange.
mattdm

Jawaban:

81

Mitch memposting tautan yang bagus dalam komentar: Mengapa login sebagai root itu buruk? dan situs Debian memiliki manfaat utama yang tercantum dalam wiki mereka :

Mengapa sudo?

Menggunakan sudolebih baik (lebih aman) daripada membuka sesi sebagai root karena sejumlah alasan, termasuk:

  • Tidak ada yang perlu mengetahui kata sandi root ( sudomeminta kata sandi pengguna saat ini). Hak istimewa ekstra dapat diberikan kepada pengguna individu sementara, dan kemudian diambil tanpa perlu perubahan kata sandi.

  • Sangat mudah untuk menjalankan hanya perintah yang membutuhkan hak istimewa khusus melalui sudo; sisa waktu, Anda bekerja sebagai pengguna yang tidak terjangkau, yang mengurangi kerusakan yang disebabkan oleh kesalahan.

  • Auditing / logging: ketika suatu sudoperintah dieksekusi, nama pengguna asli dan perintah tersebut dicatat.

Karena alasan di atas, beralih ke root menggunakan sudo -i(atau sudo su) biasanya tidak digunakan lagi karena membatalkan fitur di atas.

Mengenai Ubuntu Keuntungan dan kerugiannya tercantum di wiki kami :

Manfaat menggunakan sudo

Ada sejumlah manfaat untuk Ubuntu sehingga login root dinonaktifkan secara default, termasuk:

  • Pemasang memiliki lebih sedikit pertanyaan untuk ditanyakan. Pengguna tidak perlu mengingat kata sandi tambahan untuk penggunaan sesekali (yaitu kata sandi root). Jika mereka melakukannya, mereka mungkin akan melupakannya (atau merekamnya dengan tidak aman, memungkinkan siapa saja dengan mudah masuk ke sistem mereka).

  • Ini menghindari login interaktif "Saya bisa melakukan apa saja" secara default. Anda akan diminta kata sandi sebelum perubahan besar dapat terjadi, yang seharusnya membuat Anda berpikir tentang konsekuensi dari apa yang Anda lakukan.

  • sudo menambahkan entri log dari perintah run (in /var/log/auth.log). Jika Anda berantakan, Anda dapat kembali dan melihat perintah apa yang dijalankan.

  • Di server, setiap cracker yang mencoba memaksa masuk akan mengetahui bahwa ia memiliki akun bernama root dan akan mencobanya terlebih dahulu. Apa yang mereka tidak tahu adalah apa nama pengguna pengguna Anda yang lain. Karena kata sandi akun root dikunci, serangan ini pada dasarnya menjadi tidak berarti, karena pada awalnya tidak ada kata sandi untuk dipecahkan atau ditebak.

  • Mengizinkan transfer mudah untuk hak admin dengan menambahkan dan menghapus pengguna dari grup. Saat Anda menggunakan kata sandi root tunggal, satu-satunya cara untuk membatalkan otorisasi pengguna adalah dengan mengubah kata sandi root.
  • sudo dapat diatur dengan kebijakan keamanan yang jauh lebih baik. Kata sandi akun root tidak perlu dibagikan dengan semua orang yang perlu melakukan beberapa jenis tugas administratif pada sistem (lihat butir sebelumnya).

  • Otentikasi secara otomatis berakhir setelah waktu singkat (yang dapat diatur sesedikit yang diinginkan atau 0); jadi jika Anda berjalan menjauh dari terminal setelah menjalankan perintah sebagai root menggunakan sudo, Anda tidak akan membiarkan terminal root terbuka tanpa batas.

Kerugian menggunakan sudo

Meskipun untuk desktop manfaat menggunakan sudo sangat bagus, ada beberapa masalah yang perlu diperhatikan:

  • Mengarahkan output dari perintah yang dijalankan dengan sudo memerlukan pendekatan yang berbeda. Misalnya, menganggap sudo ls > /root/somefile tidak akan berfungsi karena shell yang mencoba menulis ke file itu. Anda dapat menggunakan ls | sudo tee -a /root/somefileuntuk menambahkan, atau ls | sudo tee /root/somefileuntuk menimpa konten. Anda juga bisa meneruskan seluruh perintah ke proses shell yang dijalankan di bawah sudo agar file ditulis dengan izin root, seperti sudo sh -c "ls > /root/somefile".

  • Di banyak lingkungan kantor, HANYA pengguna lokal pada sistem adalah root. Semua pengguna lain diimpor menggunakan teknik NSS seperti nss-ldap. Untuk mengatur workstation, atau memperbaikinya, dalam kasus kegagalan jaringan di mana nss-ldap rusak, root diperlukan. Ini cenderung membuat sistem tidak dapat digunakan kecuali retak. Pengguna lokal tambahan, atau kata sandi root yang diaktifkan diperlukan di sini. Akun pengguna lokal seharusnya memiliki $ HOME di disk lokal, bukanpada NFS (atau sistem file jaringan lainnya), dan .profile / .bashrc yang tidak merujuk file apa pun pada NFS mounts. Ini biasanya berlaku untuk root, tetapi jika menambahkan akun penyelamatan non-root, Anda harus mengambil tindakan pencegahan ini secara manual. Namun keuntungan menggunakan pengguna lokal dengan sudo adalah bahwa perintah dapat dengan mudah dilacak, sebagaimana disebutkan dalam manfaat di atas.

Dan kami selalu memilikinya (dari rilis pertama).


Referensi terlama yang saya temukan berbicara tentang 4,10 yang memiliki "sudo"

SHUTTLEWORTH MELUNCURKAN LINUX UBUNTU BERBASIS-DEBIAN

... Linux Ubuntu berbasis Debian mencakup Gnome 2.8, kernel 2.6.8.1, OpenOffice.org 1.1.2 dan dilengkapi dengan prosedur instalasi berbasis teks, tetapi mudah. Ubuntu telah menonaktifkan pengguna root yang lebih suka menggunakan sudo seperti halnya Mac OSX ...

Rinzwind
sumber
Kehilangan beberapa fitur keamanan dari manfaat : (i.) (Untuk GUI) Tidak ada yang bisa mendapatkan 'hak istimewa yang ditinggikan' tanpa akses lokal interaktif (mengetik kata sandi di keyboard); (ii.) The 'ditinggikan hak istimewa' yang diberikan adalah untuk perintah sudo'd (s) saja, tidak setiap tugas / benang untuk pengguna (atau root).
david6
Ini tampaknya mengabaikan poin yang diajukan dalam pertanyaan asli dan mengaburkannya dengan banyak informasi lain mengapa itu baik?
paul23
6

Saya percaya bahwa apa yang tertulis di halaman bantuan sudah cukup jelas dan cukup objektif.

Ubuntu adalah "untuk semua orang" dan meskipun jika Anda cukup baik Anda tidak perlu akses root untuk merusak komputer Anda, pada saat yang sama Anda hampir tidak memerlukannya sama sekali (dan Anda tahu cara mengaktifkannya dengan mudah).
Jadi masalahnya bukan pada orang-orang yang "cukup baik", tetapi untuk semua orang, yang mungkin datang ke Linux dari dunia komputasi lain dan dampak pertama adalah dengan Ubuntu (dan kami banyak).

Jika Anda bukan seorang ahli dan tidak tahu persis apa rootitu dan bagaimana cara menanganinya dengan benar, Anda tidak ingin atau tidak perlu mengaktifkannya (dan berisiko, misalnya, untuk melakukan login grafis dengannya).
Jauh lebih baik untuk mempelajari cara melakukan hal-hal di sisi yang aman dan kemudian beralih ke jalan yang lebih sulit dan lebih berbahaya, daripada mulai langsung dengan cara yang sulit dan kemudian merusak instalasi / workstation Anda, menjadi frustrasi dan mungkin tidak dapat memulihkan sepenuhnya bekerja sistem.
Secara umum, mencegah jauh lebih baik daripada mengobati.

dadexix86
sumber