Kami baru saja pindah ke strategi penyimpanan kata sandi yang lebih baik, dengan itu muncul semua hal yang baik:
- Kata sandi disimpan setelah melalui bCrypt
- Pengguna dikirim tautan aktivasi pada pembuatan akun untuk mengonfirmasi kepemilikan alamat
- Lupa kata sandi tanpa pertanyaan keamanan, tautan dikirim ke email mereka.
- Tautan akan kedaluwarsa setelah 24 jam, dan pada saat itu mereka harus meminta yang baru.
- Jika akun dibuat dari staf kami, email dikirim dengan kata sandi kuat acak di dalamnya. Setelah login, pengguna harus mengatur ulang ke sesuatu yang tidak kita ketahui dan itu adalah bCrypt.
Sekarang ini sesuai dengan "praktik terbaik" di sekitar, tetapi ini meningkatkan jumlah permintaan dukungan kami dari pengguna biasa yang tidak memahami semua ini, mereka hanya ingin masuk.
Kami sering mendapat permintaan dari pengguna yang mengeluh tentang:
- Kata sandi salah (dari kata sandi yang perlu mereka atur ulang mereka sering menempelkannya dengan spasi di bagian akhir). Mereka memberi tahu kami apa yang mereka gunakan tetapi kami tidak memiliki cara untuk memberi tahu mereka apa kata sandi mereka yang sebenarnya.
- Mengatakan mereka tidak menerima email yang kami kirimkan (aktivasi, reset, dll.). Ini sering tidak terjadi, setelah banyak pemecahan masalah, kami biasanya mengetahui bahwa mereka melakukan kesalahan ketik pada email, bahwa mereka tidak memeriksa akun email yang benar atau hanya masuk ke folder spam.
Kami tentu saja tidak dapat mencobanya untuk mereka karena kami tidak memiliki kata sandi. Kami mencatat upaya yang gagal tetapi kami juga menghapus kata sandi yang mereka gunakan karena itu kemungkinan kata sandi yang digunakan untuk akun lain dan kami tidak ingin menyimpan dalam file log teks biasa. Ini membuat kami tidak punya apa-apa untuk membantu mereka ketika mereka melaporkan masalah.
Saya ingin tahu bagaimana kebanyakan orang menangani masalah seperti ini?
sumber
Jawaban:
Dapat diperbaiki dengan memasukkan tautan dengan GUID satu kali yang mencatatnya dan memaksa mereka untuk mereset kata sandi. Jangan memaksa pengguna untuk menyalin-menempel. (Juga, mengapa tidak menghapus spasi putih di akhir kata sandi di formulir Anda.)
Pastikan surel keluar Anda dihapus (mungkin setel akun uji pada beberapa layanan surat biasa), catat apa pun yang terjadi dan mungkin laporkan kepada pengguna jika mereka mencoba meminta setel ulang baru (yaitu, kirim email ke johndoee @ gmail .com gagal, pengguna tidak ditemukan, apakah Anda mengejanya dengan benar?). Juga, jelaskan kepada pengguna tentang masalah ejaan dan spam.
Juga, OpenID dan auth pihak ketiga lainnya juga merupakan opsi, seperti yang dikatakan orang lain.
sumber
Saya akan mengatakan menggunakan metode otentikasi pihak ketiga, seperti Facebook, OpenID, Google ... apa pun yang sesuai untuk pengguna Anda. Namun, jika pengguna Anda tidak dapat mengingat kata sandi Anda, mungkin mereka tidak akan dapat menggunakan sistem otentikasi pihak ketiga ...
Tergantung pada situasi Anda, Anda mungkin dapat menggunakan sistem lain, seperti sertifikat klien SSL (mereka jelas sulit dipasang untuk pengguna akhir, tetapi jika ini adalah perusahaan dan Anda dapat mengotomatiskan pemasangannya, itu hebat), Windows SSO, aplikasi seluler, dll.
sumber
Apakah Anda perlu melakukannya? Hal pertama yang perlu Anda lakukan adalah menentukan apa yang Anda lindungi dan dari siapa Anda melindunginya. Mungkin itu tidak sebanding dengan biaya latihan terbaik, dan mungkin latihan terbaik bahkan tidak akan menghentikan penyerang Anda.
Jika Anda menentang NSA, dan memiliki sesuatu yang mereka inginkan, menyerahlah dan buat hidup pengguna Anda mudah. Jika Anda memiliki nomor kartu kredit, maka Anda harus menghadapi masalah yang diperlukan tingkat keamanan, karena ada orang jahat di luar sana yang menginginkannya dan akan menghabiskan uang dan waktu untuk mendapatkannya. Ini akses ke album foto keluarga, apakah Anda memerlukan semua keamanan itu.
Bacalah karya Buce Scheiners (Rahasia dan Kebohongan) sebagai awal yang baik untuk memahami keamanan.
sumber
Hal pertama yang muncul adalah email Anda masuk ke junk mail. Menyiapkan email sehingga diakui sebagai nyata bukanlah hal sepele. Saya sarankan Anda melihat bagaimana cara menghentikan email Anda ditandai salah (pertanyaan terpisah pada SO?)
Hal kedua yang saya sarankan adalah memberikan situs web / aplikasi satu klik kepada Anda yang memulai kata sandi memulihkan email. Menolak melakukannya dengan cara lain selain email, itu tidak aman dan menjadi preseden buruk.
sumber
Fakta bahwa mereka bersedia menelepon Anda dan memberi tahu Anda kata sandi mereka dengan lantang memberi tahu Anda bahwa bagi para pengguna ini, kata sandi dan info yang dilindunginya bukanlah masalah besar. Saya tidak akan pernah melakukan hal-hal itu dengan kata sandi perbankan saya. Tetapi ada sejumlah situs yang meminta kata sandi untuk hal-hal yang sebenarnya tidak pantas untuk mereka. Saya memiliki satu kata sandi standar yang saya gunakan untuk semua itu, dan semakin "hei itu bukan kata sandi yang kuat" atau "kami akan membuat Anda kata sandi dan memaksa Anda untuk mengubahnya secara teratur" dan seterusnya, semakin sedikit yang ingin saya gunakan layanan itu. Saya akan melakukan percakapan singkat dengan orang-orang "nilai bisnis" dalam hidup Anda untuk melihat apakah sebenarnya hanya menyimpannya dalam teks biasa di db dan mengirim email kepada orang-orang berdasarkan permintaan akan menjadi pendekatan yang lebih baik.
Jika sebenarnya ini seharusnya seaman ini, Anda dapat mencoba apa yang dilakukan salah satu klien saya dengan sistem yang kami kodekan untuk mereka. Saat di telepon dengan orang tersebut, pergilah ke db dan ubah alamat email mereka ke alamat Anda. Kemudian buka web dan klik Lupa Kata Sandi. Tunggu email dan gunakan untuk masuk. Dengan menggunakan situs web, ubah kata sandi menjadi Kata sandi atau hal lain yang Anda setujui secara lisan dengan pelanggan. Ubah alamat email mereka kembali ke alamat mereka sendiri dan beri tahu mereka "siap, kata sandi baru Anda aktif sekarang!" Pelanggan senang dan Anda tidak perlu menjelaskan kepada mereka apa yang sedang terjadi.
sumber
metode terakhir yang saya gunakan pada sistem dengan pengguna yang sangat buta huruf di masa lalu adalah mengarahkan pengguna ke layar di mana mereka diberi nomor telepon # dan nomor konfirmasi. Mereka memanggil nomor telepon, memverifikasi identitas mereka melalui cara manual kemudian membaca konfirmasi. orang yang mendukung masuk ke sistem yang terpisah, memasukkan nomor dan mendapat nomor kedua untuk diberikan kembali kepada klien. klien menggunakan kode kedua untuk melanjutkan ke halaman setel ulang kata sandi. versi klien dari halaman tidak dapat dijalankan dari sub-nets personel pendukung dan layar dukungan tidak dapat dijalankan dari klien.
itu bukan antipeluru karena orang yang mendukung dapat menggunakan vpn untuk menjalankan kedua ujungnya dari satu lokasi, tetapi itu cukup untuk audit karena akun dukungan dicatat sebagai bertanggung jawab atas aktivitas
sumber
Mungkin dengan menerapkan aturan keamanan yang bukan GILA. Dengan melakukan ini, yang Anda peroleh adalah keamanan yang kurang, karena sistem ini sangat sulit digunakan sehingga klien Anda akan mengungkap kembali kata sandi kepada Anda dan teman-teman mereka hanya untuk membuatnya bekerja!
Tidak bisakah Anda mengirimkan tautan NORMAL, lalu kata sandi di bawah ini. Jika tautan rusak oleh klien email, cukup tampilkan formulir dengan satu kolom "kode aktivasi" ... "ketik kode aktivasi yang Anda miliki di email" ... 5 digit sehingga mereka tidak akan salah 0 dengan O, dll. 4 digit ok untuk kartu kredit dan Anda perlu kebijakan rumit untuk login sederhana? Jika kode tidak berfungsi, ulangi pemeriksaan dengan string TRIMmed? Saya kira itu tidak akan membuatnya kurang aman, bukan? :)
Bagi saya itu sering terjadi juga ... saya klik dua kali pada kata sandi dan ruang berakhir akan disalin. Tidak dapat dipercaya bagi saya mengapa peple tidak dapat menemukan hanya untuk menghapus mengakhiri white chars ketika cek gagal dan ulangi prosesnya? Maka mungkin casing huruf TOGGLE bagi saya untuk memeriksa apakah saya tidak menekan CL secara tidak sengaja.
Anda telah terlalu rumit itu begitu rumit. Ini bukan "setel ulang kata sandi" dan "kata sandi awal" ... tetapi "Kode konfirmasi" dan "Masukkan nomor konfirmasi yang kami kirim ke email Anda", "Tidak punya email? Itu sudah dikirim ke [email protected], periksa spam Anda lagi, masih belum memilikinya? Kirim ulang email konfirmasi Anda ". Dalam tubuh HTML sebuah tautan. http://xxx.com/conf-12345-mymail-gmail-com.html . Tidak ada klien email yang akan memecahkan masalah ini.
sumber