Pembuatan kata sandi dan dukungan untuk pengguna Anda

10

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?

jfrobishow
sumber
2
Selain sedikit lebih deskriptif dalam email yang dikirimkan sistem Anda kepada pengguna, saya tidak melihat apa yang dapat Anda lakukan secara berbeda sambil mempertahankan praktik terbaik. Membuat Anda berharap bisa menampar pengguna bodoh itu.
Bernard
1
Orang-orang bodoh, pengguna Anda, lebih daripada kebanyakan orang lain, saya tidak melihat pertanyaan di sini?
8
Jarrod Anda hanya menghina pengguna Anda. Yang bodoh di sini adalah kamu. Anda gagal memahami tingkat literasi komputer pengguna Anda. Tidak ada orang yang tersinggung, tetapi Anda sedang menulis perangkat lunak untuk orang-orang bukan untuk Geeks komputer. Jika Anda tidak melihat pertanyaan mungkin itu berarti bahwa semua ahli kegunaan di luar sana dapat dipecat, karena mereka tidak benar-benar diperlukan. Itu hanya masalah dengan "orang bodoh", jadi kami - pengembang pintar hanya melarang mereka dari web dan masalahnya akan hilang :) Jika seseorang menulis sebuah sistem yang hanya dapat digunakan oleh penulis Anda tidak melihat masalah?
Slawek
2
@ Lawek: tidak, sungguh, orang-orang bodoh.
Bryan Boettcher
@JarrodRoberson, hampir tidak hanya penggunanya - ketika berhadapan dengan aplikasi web yang menghadap publik, itulah yang biasanya Anda dapatkan. Yang mengatakan, suka atau tidak , itu masih membutuhkan sumber daya pendukung, dan pertanyaan yang sangat valid.
GrandmasterB

Jawaban:

7

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.

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.)

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.

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.

Macke
sumber
beberapa orang menaruh spasi di kata sandi mereka?
soandos
Beberapa orang memotong tempel kata sandi yang dibuat secara otomatis dan memasukkan spasi di awal dan / atau diakhiri secara tidak sengaja. (Baca pertanyaannya.)
Macke
3

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.

alex
sumber
Sertifikat klien adalah ide yang buruk. Mereka tidak aman dan mimpi buruk untuk diperbaiki dari jarak jauh jika terjadi kesalahan. Openid adalah ide yang bagus
Tom Squires
Bagaimana sertifikat tidak aman?
Bernard
@ Matikan siapa pun yang ada di PC itu yang memiliki sertifikat. Ini juga cukup mudah untuk keluar. Salah satunya dengan virus
Tom Squires
1
Saya setuju bahwa mereka hanya seaman mesin yang mereka tempati, tapi itu masalah yang berbeda sama sekali.
Bernard
3

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.

mattnz
sumber
3

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.

Tom Squires
sumber
Bukan berarti email adalah cara yang paling aman untuk mengirimkan informasi sensitif. Jika saja pengguna biasa dapat diganggu dengan kunci GPG dan ssh ...
tdammers
@Dammers saya setuju itu tidak begitu aman. Namun itu telah menjadi batu kunci identitas online Anda (baik atau buruk). Saat ini tidak ada alternatif yang lebih baik.
Tom Squires
Ya ada. Email terenkripsi. Saya menggunakannya sepanjang waktu, dan itu mengganggu saya bahwa bahkan perusahaan besar tidak repot menawarkan enkripsi pubkey untuk email sensitif. Bahkan tidak sulit untuk diimplementasikan. Saya merasa aneh bahwa ada undang-undang (setidaknya di sini di Belanda) yang membuat SSL wajib untuk informasi sensitif, tetapi pada saat yang sama, mengirimkan informasi yang sama melalui SMTP dianggap dapat diterima.
tdammers
@tdammers Saya tidak cukup tahu tentang hal ini untuk merekomendasikannya sendiri. Ini menantang layak OP melihat ke dalam
Tom Squires
2

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.

Kate Gregory
sumber
2
Modifikasi basis data langsung adalah pelanggaran keamanan itu sendiri. Ini berarti Anda dapat menyamar sebagai pengguna yang menggunakan sistem Anda.
Bernard
3
Klien saya memiliki aplikasi Windows yang dapat digunakan untuk mengedit bidang apa pun untuk pengguna mana pun, katakan jika mereka mendapat faks yang mengatakan bahwa mereka sekarang memiliki nomor telepon baru. Tentu saja diaudit. Tentu saja ketika saya melihat prosedur tertulis ini ditempel di dinding dekat meja pendukung, saya TIDAK SELAMAT. Tapi saya datang untuk menerimanya, dan ada jejak audit yang menunjukkan apa yang terjadi jika ada orang yang menelepon dan mengeluh kata sandi mereka disetel ulang tanpa persetujuan mereka. Masalahnya, tidak semuanya perlu seaman ini. Dan pengguna mengatakan ini tidak perlu.
Kate Gregory
1
Sayangnya, sebagian besar pengguna tidak tahu yang lebih baik. Terserah pengembang aplikasi perangkat lunak untuk menegakkan praktik terbaik.
Bernard
4
Saya setuju bahwa ini adalah lubang keamanan besar. Dan saya setuju bahwa itu mungkin solusi yang paling tepat. Namun tampaknya sangat konyol bagi dukungan pelanggan untuk sementara waktu mengubah alamat email pelanggan untuk mengatur ulang kata sandi pengguna itu: jika Anda akan membiarkan dukungan pelanggan mengatur ulang kata sandi, biarkan mereka melakukannya secara langsung.
John Bartholomew
4
Saya juga akan mencatat bahwa mengungkapkan password plain-text yang pengguna telah ditetapkan (pada kenyataannya, menyimpan password dalam teks biasa sama sekali) adalah, menurut pendapat saya, sangat buruk dari memberikan dukungan pelanggan kemampuan untuk langsung perubahan password pengguna.
John Bartholomew
2

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

Tagihan
sumber
-5

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.

Slawek
sumber
5
Kebijakan keamanan yang ia sebutkan bukan hanya bukan "GILA" tetapi harus menjadi persyaratan semua aplikasi "SANE". Tautan seperti ini yang dikirim melalui email harus kedaluwarsa setelah beberapa saat untuk mencegah pengaturan ulang kata sandi (baik melalui pencuri tautan secara langsung, atau dengan menemukannya melalui algoritma yang dibantu komputer). Kata sandi mungkin harus dipangkas sebelum divalidasi. Pengguna itu bodoh. Itu adalah Hukum. Jawabannya bukan untuk mengurangi langkah-langkah keamanan kami tetapi untuk mengambil langkah-langkah proaktif untuk membantu memastikan pengguna kami memahami prosedur yang tepat.
Dalin Seivewright
7
-1. Ini adalah cara yang waras untuk melakukannya, yang digunakan sebagian besar situs. Jika saya mengeluarkan "lupa kata sandi" di sebuah situs, dan mendapatkan email dengan kata sandi saya dalam teks biasa, saya menutup akun saya.
Matt Grande