How do you prevent broken authentication vulnerabilities?
In order to avoid broken authentication vulnerabilities, make sure the developers apply to the best practices of website security. Support them by providing access to external security audits and enough time to properly test the code before deploying to production.
OWASP’s technical recommendations are the following:
Where possible, implement multi-factor authentication to prevent automated, credential stuffing, brute force, and stolen credential reuse attacks.
Do not ship or deploy with any default credentials, particularly for admin users.
Implement weak-password checks, such as testing new or changed passwords against a list of the top 10,000 worst passwords.
Align password length, complexity and rotation policies with NIST 800-63 B’s guidelines in section 5.1.1 for Memorized Secrets or other modern, evidence-based password policies.
Ensure registration, credential recovery, and API pathways are hardened against account enumeration attacks by using the same messages for all outcomes.
Limit or increasingly delay failed login attempts. Log all failures and alert administrators when credential stuffing, brute force, or other attacks are detected.
Use a server-side, secure, built-in session manager that generates a new random session ID with high entropy after login. Session IDs should not be in the URL. Ids should also be securely stored and invalidated after logout, idle, and absolute timeouts.
Buzilgan autentifikatsiya Buzilgan autentifikatsiya zaifligi tajovuzkorga qo'lda va/yoki avtomatik usullardan foydalanib, tizimdagi istalgan hisob ustidan nazoratni qo'lga kiritishga yoki undan ham yomoni tizim ustidan to'liq nazoratni qo'lga kiritishga imkon berishi mumkin. Autentifikatsiya zaifliklari buzilgan veb-saytlar Internetda juda keng tarqalgan. Buzilgan autentifikatsiya odatda dasturni autentifikatsiya qilish mexanizmida yuzaga keladigan mantiqiy muammolarni anglatadi, masalan, foydalanuvchi nomini sanab o'tishga moyil bo'lgan noto'g'ri seans boshqaruvi - zararli aktyor tizimdagi haqiqiy foydalanuvchilarni taxmin qilish yoki tasdiqlash uchun qo'pol kuch ishlatish usullaridan foydalanganda. Buzilgan autentifikatsiya xatarlarini minimallashtirish uchun veb-saytga barcha tashrif buyuruvchilar uchun ochiq bo'lgan administratorlar uchun kirish sahifasini qoldirmang: / Joomla! da administrator!, /wp-admin/ WordPress-da, Magento'da /index.php/admin, Drupal-da /user/login. Ushbu kamchilikning ikkinchi eng keng tarqalgan shakli foydalanuvchilarga ushbu sahifalarga nisbatan foydalanuvchi nomi/parol birikmasini shafqatsiz kuch ishlatish imkonini beradi. Buzilgan autentifikatsiya zaifliklarining turlari OWASP Top 10 ga ko'ra, bu zaifliklar turli shakllarda bo'lishi mumkin. Veb-ilovada buzilgan autentifikatsiya zaifligi mavjud, agar u: Buzg'unchi joriy foydalanuvchi nomlari va parollar ro'yxatiga ega bo'lgan hisob ma'lumotlarini to'ldirish kabi avtomatlashtirilgan hujumlarga ruxsat beradi. Shafqatsiz kuch yoki boshqa avtomatlashtirilgan hujumlarga ruxsat beradi. “Parol1” yoki “admin/admin” kabi standart, zaif yoki taniqli parollarga ruxsat beradi. Kuchsiz yoki samarasiz hisob ma'lumotlarini tiklash va parolni unutish jarayonlaridan foydalanadi, masalan, xavfsiz qilib bo'lmaydigan "ma'lumotlarga asoslangan javoblar". Oddiy matn, shifrlangan yoki zaif xeshlangan parollardan foydalanadi. Ko'p faktorli autentifikatsiya etishmayotgan yoki samarasiz. URLdagi seans identifikatorlarini ko'rsatadi (masalan, URLni qayta yozish). Muvaffaqiyatli kirishdan keyin seans identifikatorlarini aylantirmaydi. Seans identifikatorlarini to'g'ri bekor qilmaydi. Foydalanuvchi seanslari yoki autentifikatsiya tokenlari (ayniqsa, bir marta kirish (SSO) tokenlari) tizimdan chiqish yoki harakatsizlik davrida to‘g‘ri ravishda bekor qilinmaydi. Ishonchsiz dasturiy ta'minotni yozish ushbu zaifliklarning aksariyatiga olib keladi. Ularni ishlab chiquvchilar tajribasining etishmasligi kabi ko'plab omillar bilan bog'lash mumkin. Bu, shuningdek, xavfsizlik talablarining yo'qligi yoki dasturiy ta'minotni chiqarishga shoshilayotgan tashkilotlar, boshqacha qilib aytganda, xavfsiz dasturiy ta'minotdan ko'ra ishlaydigan dasturiy ta'minotni tanlash kabi ko'proq institutsional nosozliklar oqibati bo'lishi mumkin. Buzilgan autentifikatsiya zaifliklarini qanday oldini olasiz? Buzilgan autentifikatsiya zaifliklariga yo'l qo'ymaslik uchun ishlab chiquvchilar veb-sayt xavfsizligining eng yaxshi amaliyotlarini qo'llashlariga ishonch hosil qiling. Tashqi xavfsizlik tekshiruvlariga kirish va ishlab chiqarishga o'tkazishdan oldin kodni to'g'ri tekshirish uchun etarli vaqtni ta'minlash orqali ularni qo'llab-quvvatlang. OWASP texnik tavsiyalari quyidagilardan iborat: Iloji bo'lsa, avtomatlashtirilgan, hisob ma'lumotlarini to'ldirish, shafqatsiz kuch va o'g'irlangan hisob ma'lumotlarini qayta ishlatish hujumlarining oldini olish uchun ko'p faktorli autentifikatsiyani amalga oshiring. Hech qanday standart hisobga olish ma'lumotlari bilan jo'natmang yoki joylashtirmang, ayniqsa administrator foydalanuvchilar uchun. Yangi yoki o'zgartirilgan parollarni eng yaxshi 10 000 ta eng yomon parollar ro'yxatiga nisbatan sinab ko'rish kabi zaif parollarni tekshirishni amalga oshiring. Parol uzunligi, murakkabligi va aylantirish siyosatlarini NIST 800-63 B yodlangan sirlar boʻyicha 5.1.1 boʻlimidagi koʻrsatmalarga yoki boshqa zamonaviy, dalillarga asoslangan parol siyosatlariga moslang. Roʻyxatdan oʻtish, hisobga olish maʼlumotlarini tiklash va API yoʻllari barcha natijalar uchun bir xil xabarlardan foydalangan holda hisoblarni sanab oʻtish hujumlariga qarshi mustahkamlanganligiga ishonch hosil qiling. Muvaffaqiyatsiz kirish urinishlarini cheklang yoki borgan sari kechiktiring. Hisob ma'lumotlarini to'ldirish, qo'pol kuch yoki boshqa hujumlar aniqlanganda, barcha nosozliklarni qayd qiling va ma'murlarni ogohlantiring. Tizimga kirgandan so'ng yuqori entropiyaga ega yangi tasodifiy seans identifikatorini yaratadigan server tomonidagi, xavfsiz, o'rnatilgan seans menejeridan foydalaning. Seans identifikatorlari URL manzilida bo'lmasligi kerak. Shuningdek, identifikatorlar xavfsiz tarzda saqlanishi va tizimdan chiqish, bo'sh turish va mutlaq vaqt tugashidan keyin bekor qilinishi kerak.
Do'stlaringiz bilan baham: |