Bagaimana cara mengubah penundaan yang terjadi setelah memasukkan kata sandi yang salah?
32
Setelah memasukkan kata sandi yang salah pada prompt masuk, ada penundaan sekitar 3 detik. Bagaimana saya bisa mengubahnya pada sistem Linux dengan PAM?
Saya mendapatkan kebutuhan untuk penundaan dari perspektif keamanan, tetapi penundaan standar adalah agak mengganggu
Mike Pennington
3
Ini menarik; mungkin saya akan menulis modul yang memungkinkan N mencoba tanpa penundaan diikuti oleh sejumlah percobaan dengan penundaan lama.
Shawn J. Goff
1
Alih-alih modul baru (disarankan dalam komentar saya sebelumnya), saya menggunakan pam_unixdengan nodelayopsi dan pam_tally2dengan deny=5 unlock_time=15; ini memungkinkan untuk 5 percobaan ulang segera, tetapi menolak akses (bahkan dengan kata sandi yang berhasil) selama 15 detik. Saya masih berniat untuk mencoba menulis model yang dijelaskan, tetapi sekarang ini adalah proyek back-burner, karena ini tidak akan cocok jika akses utama Anda ke sistem berbasis jaringan karena membuat serangan DOS sepele.
Shawn J. Goff
1
Jika Anda khawatir tentang DoS jaringan dari timeout, gunakan fail2ban ... sebenarnya gunakan bahkan jika Anda pikir Anda aman :-). saya menggunakan waktu larangan dua hari
Mike Pennington
Jawaban:
21
Saya menganggap Anda menggunakan Linux dan pam. Penundaan mungkin disebabkan oleh pam_faildelay.so. Periksa konfigurasi pam Anda dalam /etc/pam.dmenggunakan pam_faildelay, misalnya:
# Enforce a minimal delay in case of failure (in microseconds).
# (Replaces the `FAIL_DELAY' setting from login.defs)
# Note that other modules may require another minimal delay. (for example,
# to disable any delay, you should add the nodelay option to pam_unix)
auth optional pam_faildelay.so delay=3000000
Untuk mengubah waktu, sesuaikan parameter penundaan. Jika Anda ingin menghilangkan penundaan, Anda dapat menghapus / mengomentari baris lengkap.
Sumber lain untuk keterlambatan mungkin pam_unix.so. Untuk menonaktifkan penundaan yang disebabkan oleh pam_unix.somenambahkan nodelayparameter, dan secara opsional menambahkan panggilan baris pam_faildelay.sountuk menambahkan penundaan (variabel), misalnya:
Tidak disebutkan keterlambatan di mana saja di Indonesia /etc/pam.d/*. Hal terdekat yang saya lihat adalah pam_tally.soyang memungkinkan penguncian setelah beberapa upaya. Tapi saya punya n /etc/login.defs, yang mungkin apa yang saya butuhkan.
Shawn J. Goff
@ ShawnJ.Goff pam_tally.sotidak menyebabkan penundaan sejauh yang saya tahu. Sumber lain untuk perjanjian mungkin pam_unix.so- Anda dapat menonaktifkannya dengan nodelayopsi - lihat linux.die.net/man/8/pam_unix untuk rincian lebih lanjut
Ulrich Dangel
1
Menambahkan nodelayopsi ke pam_unix.sodan menambahkan entri baru dengan pam_faildelay.so delay=$some_numbermemungkinkan saya mengatur apa pun yang saya inginkan. Terima kasih!
Shawn J. Goff
2
Menjalankan fedora 23, saya harus menonaktifkan pam_unix.sopenundaan dan mulai menggunakan yang pam_faildelay.soseperti yang dikatakan @ ShawnJ.Goff. Namun, sebagian besar pam.dkonfigurasi memiliki " File ini dibuat secara otomatis. Perubahan pengguna akan dihancurkan saat authconfig dijalankan berikutnya. " Jadi di mana saya dapat mengkonfigurasi penundaan secara permanen?
jozxyqk
11
Anda harus meneruskan nodelayparameter ke authpam_unix.so.
Tergantung pada bagaimana Anda mengotentikasi, di mana Anda perlu mengatur parameter bervariasi. Namun sebagian besar distrubtions linux memiliki sesuatu seperti /etc/pam.d/system-authyang disertakan oleh semua file yang berbeda.
Jadi misalnya di /etc/pam.d/system-authAnda mungkin memiliki garis yang terlihat seperti ini:
The pam_unix.somodul apa melakukan otentikasi terhadap /etc/passwddan /etc/shadow. Jika Anda menggunakan LDAP atau beberapa backend kata sandi lainnya, Anda kemungkinan masih harus mengatur nodelaypada pam_unix.soapa yang mengontrol prompt (ketika pam_unix.sogagal untuk auth, biasanya hanya melewati kata sandi yang diperolehnya ke modul berikutnya).
Anda dapat membaca lebih lanjut tentang pam_unix.somelakukanman pam_unix
pam_unix
dengannodelay
opsi danpam_tally2
dengandeny=5 unlock_time=15
; ini memungkinkan untuk 5 percobaan ulang segera, tetapi menolak akses (bahkan dengan kata sandi yang berhasil) selama 15 detik. Saya masih berniat untuk mencoba menulis model yang dijelaskan, tetapi sekarang ini adalah proyek back-burner, karena ini tidak akan cocok jika akses utama Anda ke sistem berbasis jaringan karena membuat serangan DOS sepele.Jawaban:
Saya menganggap Anda menggunakan Linux dan pam. Penundaan mungkin disebabkan oleh
pam_faildelay.so
. Periksa konfigurasi pam Anda dalam/etc/pam.d
menggunakanpam_faildelay
, misalnya:Untuk mengubah waktu, sesuaikan parameter penundaan. Jika Anda ingin menghilangkan penundaan, Anda dapat menghapus / mengomentari baris lengkap.
Sumber lain untuk keterlambatan mungkin
pam_unix.so
. Untuk menonaktifkan penundaan yang disebabkan olehpam_unix.so
menambahkannodelay
parameter, dan secara opsional menambahkan panggilan barispam_faildelay.so
untuk menambahkan penundaan (variabel), misalnya:sumber
/etc/pam.d/*
. Hal terdekat yang saya lihat adalahpam_tally.so
yang memungkinkan penguncian setelah beberapa upaya. Tapi saya punya n/etc/login.defs
, yang mungkin apa yang saya butuhkan.pam_tally.so
tidak menyebabkan penundaan sejauh yang saya tahu. Sumber lain untuk perjanjian mungkinpam_unix.so
- Anda dapat menonaktifkannya dengannodelay
opsi - lihat linux.die.net/man/8/pam_unix untuk rincian lebih lanjutnodelay
opsi kepam_unix.so
dan menambahkan entri baru denganpam_faildelay.so delay=$some_number
memungkinkan saya mengatur apa pun yang saya inginkan. Terima kasih!pam_unix.so
penundaan dan mulai menggunakan yangpam_faildelay.so
seperti yang dikatakan @ ShawnJ.Goff. Namun, sebagian besarpam.d
konfigurasi memiliki " File ini dibuat secara otomatis. Perubahan pengguna akan dihancurkan saat authconfig dijalankan berikutnya. " Jadi di mana saya dapat mengkonfigurasi penundaan secara permanen?Anda harus meneruskan
nodelay
parameter keauth
pam_unix.so
.Tergantung pada bagaimana Anda mengotentikasi, di mana Anda perlu mengatur parameter bervariasi. Namun sebagian besar distrubtions linux memiliki sesuatu seperti
/etc/pam.d/system-auth
yang disertakan oleh semua file yang berbeda.Jadi misalnya di
/etc/pam.d/system-auth
Anda mungkin memiliki garis yang terlihat seperti ini:Ini harus diubah menjadi:
The
pam_unix.so
modul apa melakukan otentikasi terhadap/etc/passwd
dan/etc/shadow
. Jika Anda menggunakan LDAP atau beberapa backend kata sandi lainnya, Anda kemungkinan masih harus mengaturnodelay
padapam_unix.so
apa yang mengontrol prompt (ketikapam_unix.so
gagal untuk auth, biasanya hanya melewati kata sandi yang diperolehnya ke modul berikutnya).Anda dapat membaca lebih lanjut tentang
pam_unix.so
melakukanman pam_unix
sumber
system-auth
tidak ada; itu/etc/common-auth
. Terima kasih!