Kerentanan spesifik apa yang saya buat dengan menonaktifkan kata sandi sudo?


16

Berikut adalah beberapa instruksi tentang cara menonaktifkan sudokata sandi Anda . Ini membawa peringatan berikut

Jika Anda menonaktifkan sudokata sandi untuk akun Anda, Anda akan dengan serius membahayakan keamanan komputer Anda. Siapa pun yang duduk di akun masuk tanpa pengawasan Anda akan memiliki rootakses lengkap , dan eksploitasi jarak jauh menjadi lebih mudah bagi cracker jahat.

Saya tidak khawatir tentang orang yang mendapatkan akses fisik ke mesin saya. Eksploitasi jarak jauh apa yang dimungkinkan atau lebih mudah jika saya mengabaikan peringatan ini dan menonaktifkan kata sandi?

Jawaban:


23

Jika Anda mengizinkan sudo tanpa kata sandi, siapa pun yang mengelola untuk menjalankan kode pada mesin Anda karena pengguna Anda dapat dengan sepele menjalankan kode sebagai root. Ini bisa menjadi seseorang yang menggunakan konsol Anda saat Anda masuk tetapi tidak di depan komputer Anda, yang tidak Anda khawatirkan (bagaimanapun, seseorang dengan akses fisik dapat melakukan hampir semua yang mereka inginkan). Ini juga bisa menjadi seseorang yang mengakses akun Anda di komputer lain tempat Anda telah menunjukkan ke mesin Anda sendiri. Tetapi bisa juga seseorang mengeksploitasi lubang keamanan jarak jauh - misalnya situs web yang mengeksploitasi bug browser untuk menyuntikkan kode ke instance browser Anda.

Seberapa besar kesepakatannya? Tidak banyak, karena beberapa alasan:

  • Penyerang yang menemukan lubang jarak jauh mungkin dapat menemukan lubang root lokal juga.
  • Sejumlah penyerang tidak peduli dengan hak akses root. Yang mereka inginkan adalah mengirim spam dan menginfeksi komputer lain, dan mereka dapat melakukannya sebagai pengguna Anda.
  • Seorang penyerang yang memiliki akses ke akun Anda dapat menjatuhkan trojan yang menangkap penekanan tombol Anda (termasuk kata sandi Anda) atau yang mendukung apa pun yang Anda gunakan selanjutnya untuk mendapatkan root untuk mengeksekusi perintahnya sendiri.
  • Jika Anda adalah satu-satunya pengguna di komputer Anda, tidak ada banyak untuk melindungi yang tidak dapat diakses sebagai pengguna Anda.

Di samping itu:

  • Jika Anda mutakhir dengan pembaruan keamanan, penyerang mungkin tidak menemukan lubang lokal untuk dieksploitasi.
  • Penyerang non-root tidak bisa menghapus jejaknya dengan baik.
  • Harus mengetik kata sandi sekarang dan kemudian tidak terlalu membebani.
  • Harus mengetik kata sandi mengingatkan Anda bahwa Anda melakukan sesuatu yang berbahaya (seperti pada: dapat kehilangan data atau membuat komputer Anda tidak dapat digunakan). (Sebagai pengguna non-root, satu-satunya bahaya nyata adalah menghapus data karena kesalahan, dan biasanya jelas ketika Anda menghapus sesuatu dan harus ekstra hati-hati.)

9

Saya pikir kata sandi untuk sudo hanya dapat melindungi Anda dari dua hal:

  1. kerusakan yang tidak disengaja dari sistem Anda sendiri (misalnya menjalankan beberapa rm -rfdengan jalur relatif dari riwayat shell di direktori yang berbeda dari sebelumnya, atau sesuatu seperti ini)
  2. menjalankan skrip (jahat) yang memanggil sudodan mencoba melukai sistem Anda (tapi saya tidak berpikir bahwa peranti lunak jahat semacam ini sangat populer)

Jika mau, Anda bisa menggunakan NOPASSWDopsi hanya untuk perintah yang dipilih yang tidak akan merusak sistem Anda (untuk editor atau untuk memulai kembali layanan) dan menyimpan kata sandi untuk perintah lain.


-1 untuk saran berbahaya yang memungkinkan editor berjalan sebagai root tidak dapat melukai sistem. Pada titik itu Anda bisa membiarkan apa saja berjalan sebagai root karena sesi editor tetap memungkinkan eksekusi kode arbitrer.
Caleb

2

Perlu dicatat bahwa beberapa organisasi yang kompeten sebenarnya lebih suka sudo tanpa kata sandi ketika mereka memiliki pengguna yang perlu masuk ke banyak host jarak jauh yang berbeda — terutama jika itu termasuk host dengan berbagai tingkat keamanan.

Masalah dengan memasukkan kata sandi Anda adalah Anda memberikan kata sandi ke sistem jarak jauh secara teratur. Salah satu alasan kami menggunakan SSH adalah untuk menghindari lubang keamanan semacam itu. Ini adalah masalah pengorbanan: Anda meningkatkan kemungkinan kata sandi pengguna akan dikompromikan untuk mengurangi kemungkinan bahwa penyerang yang telah mengkompromikan sesi atau kunci akan dapat mencapai akses root. Secara khusus, bayangkan skenario berikut:

  • organisasi besar
  • banyak host
  • host memiliki berbagai tingkat keamanan
  • akses non-root sudah berbahaya
  • kata sandi pengguna membuka banyak hal

Dalam skenario yang saya jelaskan, sudo tanpa kata sandi dapat meningkatkan keamanan Anda dengan melindungi kata sandi pengguna. Ini mirip dengan serangan penggunaan kembali kata sandi yang sudah umum di Internet, kecuali kerentanan berasal dari sistem otentikasi terpadu dan bukan penggunaan kembali kata sandi yang sebenarnya.

Kecuali Anda berada di perusahaan raksasa, sudo dengan kata sandi mungkin akan meningkatkan keamanan Anda — tetapi tidak harus dalam jumlah yang besar. Kecuali jika Anda benar-benar profesional di sistem keamanan, atau itu adalah tuan rumah dengan tidak ada yang sangat berharga di dalamnya, saya sarankan Anda meninggalkannya.


-1

Jika Anda belum sshdmenginstal maka itu cukup aman, kecuali jika Anda merusak sesuatu sendiri.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.