Recommended Session Lifetime
Lagi googling dengan keyword "recommended session lifetime" karena ada keluhan dari user yang bilang "ini aplikasinya minta password terus nih setiap revisi/edit" hahaha padahal ini fitur default Password Confirmation.
Setelah googling akhirnya didapat kesimpulan,
- Untuk aplikasi yang handle high-risk data, rekomendasi OWASP adalah 2 - 5 menit. Selain itu, cukup 15 - 30 menit saja atau ikut bawaan framework kalo ga mau ribet.
- Kalo dari NIST, diminta re-login setiap 12 jam, atau terminate sessions after 30 minutes of inactivity.
Kalo di case saya akhirnya di set 24 jam untuk lifetime session dan timeout password confirmationnya karena bukan aplikasi high-risk dan pertimbangan user yang pakai aplikasi tersebut login di laptop kantor saat jam kerja di kantor dan sudah SSO via LDAP. Jadi, kecil kemungkinan ada MITM atau security breach karena user login di aplikasi tersebut via public wi-fi.
"Better sih kalo pake MFA ya"
Yes, it is better to use MFA. But, it's not always possible to implement MFA in every application. So, we need to balance user experience and security to retain customers.
If you are wondering,
"How long should our session timeout be?"
The answer will depend on your unique environment and risk tolerance. Take the time to analyze the risk for your environment, and don't assume that other organizations' risk decisions cross-apply to you.