Saya akan menyarankan menggunakan sedikit matematika yang memperhitungkan kompleksitas kata sandi minimum Anda, seberapa cepat penyerang dapat menebak kata sandi, jumlah akun yang tidak terkunci yang Anda miliki, dan beberapa informasi informasi tentang risiko Anda.
Semoga Anda memiliki semacam pembatasan tingkat untuk menebak kata sandi. Biasanya itu akan melalui sesuatu yang sementara mengunci akun setelah beberapa kata sandi yang buruk.
Dan semoga Anda memiliki semacam persyaratan kompleksitas kata sandi sehingga "A" dan "kata sandi" tidak diizinkan.
Mari kita asumsikan bahwa setelah 30 kali gagal kata sandi dalam 10 menit, Anda akan mengunci akun selama 20 menit. Itu secara efektif membatasi tingkat perkiraan kata sandi menjadi 174 per jam, atau 4.176 per hari. Tapi mari kita asumsikan itu per pengguna.
Mari kita asumsikan Anda membutuhkan 8+ kata sandi karakter yang berisi huruf atas, bawah, dan angka, dan Anda melakukan beberapa pemeriksaan kamus untuk memastikan bahwa kata sandi tersebut cukup acak. Kasus terburuk, semua pengguna meletakkan satu angka atas, dan satu angka di tempat yang sama dan penyerang Anda mengetahuinya, jadi Anda punya 10 * 26 ^ 7 (80G) kata sandi yang memungkinkan. Kasing terbaik adalah 62 ^ 8 (218T).
Jadi, seorang penyerang mencoba setiap kata sandi yang mungkin akan mengenai mereka semua dalam 50.000 tahun dalam kasus terburuk, dan hampir 600 juta milenia dalam kasus terbaik. Atau, dengan kata lain, mengingat satu tahun mereka akan memiliki antara 1 dalam 50.000 dan 1 dalam 52.000.000.000 tebakan. Jika Anda memiliki basis pengguna 50.000, hampir dijamin bahwa dalam kasus terburuk mereka akan masuk ke satu akun per tahun dan memiliki peluang 50% untuk mendapatkan satu akun setiap 6 bulan.
Dan jika Anda tidak memiliki batasan tingkat dan penyerang bisa menebak satu miliar kata sandi sehari? Kemungkinan satu dari 600 masuk ke akun dalam setahun, atau jaminan virtual untuk mendapatkan sekitar 80 dari 50.000 pengguna Anda setiap tahun.
Kerjakan matematika itu, dan cari tahu di mana tingkat risiko Anda dapat diterima. Dan ingat bahwa semakin pendek Anda mengaturnya, semakin sulit bagi pengguna untuk mengingat dan semakin besar kemungkinan mereka akan menuliskannya di tempat yang nyaman bagi penyerang di tempat.
Sebagai bonus tambahan: jika seseorang mencoba ribuan kata sandi per pengguna per hari terhadap sistem Anda, saya sangat berharap Anda memiliki semacam pemantauan yang akan mengambilnya.
EDIT:
Lupa menyebutkan: kebijakan kami yang sebenarnya adalah 90 hari, tetapi itu ada hubungannya dengan temuan oleh auditor keamanan yang salah arah dan tidak ada hubungannya dengan kenyataan.