sudo: 3 upaya kata sandi salah - dapatkah root melihat kata sandi dalam bentuk teks yang jelas?
19
Jika beberapa pengguna tidak dapat mengakses beberapa perintah dengan sudo3 kali, ini harus dilaporkan untuk me-root pengguna di log akses \ kesalahan ..
Dapatkah root melihat upaya ini (seperti kata sandi yang dicoba) dalam teks di log?
Hanya upaya yang salah, penghitungan dilaporkan dilakukan root. Root tidak bisa melihat kata sandi entri sama sekali.
Mohammad Kholghi
Jawaban:
37
Tidak, kata sandi tidak dicatat secara default. Ini akan menjadi masalah keamanan, karena log dapat dibaca oleh administrator lain, yang memungkinkan peniruan pengguna dalam kasus kata sandi yang sedikit salah ketik.
Oct 23 21:24:01 schijfwereld sudo: rinzwind : TTY=pts/0 ; PWD=/home/rinzwind ; USER=root ; COMMAND=/bin/bash
Oct 23 21:24:01 schijfwereld sudo: pam_unix(sudo:session): session opened for user root by (uid=0)
Satu-satunya cara kata sandi dicatat biasanya ketika Anda lupa menekan enter setelah nama pengguna. Jadi Anda masuk sebagai "Scott Tiger", bukan pengguna Scott dengan kata sandi Tiger
Lenne
Tapi itu bukan kesalahan sudo ;-)
Rinzwind
@Lenne ketika itu terjadi pada saya (atau sebaliknya ketika saya lalai mengetikkan kata sandi saya alih-alih perintah), saya menghapus baris yang menyinggung dari riwayat shell.
Zanna
4
Praktik yang biasa dilakukan adalah tidak mencatat kata sandi yang digunakan dalam upaya login, meskipun kata sandi yang dimaksud tidak valid. Ini hanya karena kata sandi mungkin valid untuk pengguna lain pada sistem yang sama (misalnya pengguna salah ketik nama pengguna mereka , bukan kata sandi), atau mungkin merupakan pergantian sepele kata sandi yang sebenarnya (pengguna melewatkan satu huruf atau lebih).
Salah satu dari kasus-kasus tersebut akan meninggalkan kata sandi plaintext pada sistem, rentan terhadap kebocoran informasi. (Kata sandi mungkin juga merupakan kata sandi yang valid untuk beberapa sistem lain daripada yang dimasukkan, tetapi itu benar-benar lebih merupakan masalah bagi "mereka", bukan "kita".)
Agak terkait dengan ini adalah kasus-kasus di mana pengguna menulis kata sandi mereka di tempat nama pengguna mereka (misalnya mereka biasanya menggunakan sistem yang memasukkan nama pengguna secara otomatis, tetapi sekarang tidak, tetapi masih mengetik kata sandi sebagai hal pertama). Dalam hal ini, Anda akan memiliki kata sandi plaintext di log. Ini tidak optimal, tetapi melihat nama pengguna untuk upaya login yang gagal biasanya berguna, dan tidak ada solusi sederhana untuk menyimpannya tetapi tidak memasukkan kata sandi sebagai nama pengguna.
Yang mengatakan, tidak ada yang menghentikan administrator sistem dari memiliki sistem login kata sandi juga. Menambahkan pencatatan mungkin dapat dilakukan dengan menambahkan satu panggilan ke syslog()dan mengkompilasi ulang modul PAM. (PAM menjadi seperti apa Ubuntu dan sudodigunakan, tetapi tentu saja hal yang sama berlaku untuk aplikasi web dan yang lainnya juga.)
Jadi, tidak, biasanya seorang administrator tidak dapat melihat kata sandi dimasukkan pada sistem, tetapi jika Anda memasukkan kata sandi pada sistem yang tidak Anda percayai, Anda harus, secara tegas, menganggapnya hilang dan mengubahnya.
Lebih umum lagi, sangat sedikit program di unix yang pernah mencatat kata sandi yang sebenarnya ke syslog atau tempat lain - hampir tidak pernah ada alasan bagus untuk melakukannya, dan ada alasan bagus untuk tidak melakukannya.
Karena cara kata sandi di-hash, sistem tidak dapat membedakan antara kata sandi yang salah dan salah ketik - Jika kata sandi Anda adalah% $ zDF + 02G dan Anda mengetik% $ ZDF + 02G itu akan membuat Anda gagal sekeras itu akan jika Anda mengetik 'rubberbabybuggybumpers', tetapi masuk dengan kata sandi yang gagal akan memberikan informasi berharga kepada pihak ketiga jahat yang membaca log.
Kasus yang saya temukan di mana sebuah program memang memiliki kemampuan untuk log password (dan kasus penggunaan mana yang akan menjadi ide yang baik) adalah di server RADIUS, di mana Anda dapat di switch pinch pada lebih-informasi dari perkiraan Anda-mungkin-ingin mode debug dan kemudian secara eksplisit menambahkan tanda yang berarti 'ya, termasuk kata sandi' karena Anda punya klien yang gagal terhubung dan Anda perlu mengesampingkan setiap kemungkinan penyebab ...
Jawaban:
Tidak, kata sandi tidak dicatat secara default. Ini akan menjadi masalah keamanan, karena log dapat dibaca oleh administrator lain, yang memungkinkan peniruan pengguna dalam kasus kata sandi yang sedikit salah ketik.
sumber
Upaya login berhasil dan tidak berhasil masuk
Contoh upaya yang berhasil:
Dan tidak berhasil:
Ini mencatat upaya yang gagal dan mencatat juga total 3 kata sandi yang salah ketik.
Kata sandi untuk
sudo
upaya tidak pernah ditampilkan atau disimpan.sumber
Praktik yang biasa dilakukan adalah tidak mencatat kata sandi yang digunakan dalam upaya login, meskipun kata sandi yang dimaksud tidak valid. Ini hanya karena kata sandi mungkin valid untuk pengguna lain pada sistem yang sama (misalnya pengguna salah ketik nama pengguna mereka , bukan kata sandi), atau mungkin merupakan pergantian sepele kata sandi yang sebenarnya (pengguna melewatkan satu huruf atau lebih).
Salah satu dari kasus-kasus tersebut akan meninggalkan kata sandi plaintext pada sistem, rentan terhadap kebocoran informasi. (Kata sandi mungkin juga merupakan kata sandi yang valid untuk beberapa sistem lain daripada yang dimasukkan, tetapi itu benar-benar lebih merupakan masalah bagi "mereka", bukan "kita".)
Agak terkait dengan ini adalah kasus-kasus di mana pengguna menulis kata sandi mereka di tempat nama pengguna mereka (misalnya mereka biasanya menggunakan sistem yang memasukkan nama pengguna secara otomatis, tetapi sekarang tidak, tetapi masih mengetik kata sandi sebagai hal pertama). Dalam hal ini, Anda akan memiliki kata sandi plaintext di log. Ini tidak optimal, tetapi melihat nama pengguna untuk upaya login yang gagal biasanya berguna, dan tidak ada solusi sederhana untuk menyimpannya tetapi tidak memasukkan kata sandi sebagai nama pengguna.
Yang mengatakan, tidak ada yang menghentikan administrator sistem dari memiliki sistem login kata sandi juga. Menambahkan pencatatan mungkin dapat dilakukan dengan menambahkan satu panggilan ke
syslog()
dan mengkompilasi ulang modul PAM. (PAM menjadi seperti apa Ubuntu dansudo
digunakan, tetapi tentu saja hal yang sama berlaku untuk aplikasi web dan yang lainnya juga.)Jadi, tidak, biasanya seorang administrator tidak dapat melihat kata sandi dimasukkan pada sistem, tetapi jika Anda memasukkan kata sandi pada sistem yang tidak Anda percayai, Anda harus, secara tegas, menganggapnya hilang dan mengubahnya.
sumber
Lebih umum lagi, sangat sedikit program di unix yang pernah mencatat kata sandi yang sebenarnya ke syslog atau tempat lain - hampir tidak pernah ada alasan bagus untuk melakukannya, dan ada alasan bagus untuk tidak melakukannya.
Karena cara kata sandi di-hash, sistem tidak dapat membedakan antara kata sandi yang salah dan salah ketik - Jika kata sandi Anda adalah% $ zDF + 02G dan Anda mengetik% $ ZDF + 02G itu akan membuat Anda gagal sekeras itu akan jika Anda mengetik 'rubberbabybuggybumpers', tetapi masuk dengan kata sandi yang gagal akan memberikan informasi berharga kepada pihak ketiga jahat yang membaca log.
Kasus yang saya temukan di mana sebuah program memang memiliki kemampuan untuk log password (dan kasus penggunaan mana yang akan menjadi ide yang baik) adalah di server RADIUS, di mana Anda dapat di switch pinch pada lebih-informasi dari perkiraan Anda-mungkin-ingin mode debug dan kemudian secara eksplisit menambahkan tanda yang berarti 'ya, termasuk kata sandi' karena Anda punya klien yang gagal terhubung dan Anda perlu mengesampingkan setiap kemungkinan penyebab ...
sumber