セキュリティチートシート:パスワードのリセット

翻訳者のコメント

rzd-bonus.ruサービスからのデータベースリーク後の大規模なパスワード回復を背景に、OWASPからのセキュリティチートシートの翻訳を継続することにしました





前書き

適切なユーザー管理システムを実装するために、通常、パスワードを紛失した場合にユーザーがパスワードをリセットできるパスワード回復サービスが含まれています。この機能は非常に単純で単純に見えますが、脆弱性の一般的な原因であり、その1つがユーザー名の推測です。次の簡単な手順は、パスワードを紛失した場合の簡単なリマインダーとして使用できます。





  • 既存のアカウントと存在しないアカウントの両方に同じメッセージを返します。





  • ユーザーに応答するのにかかる時間が同じであることを確認してください。





  • サードパーティのチャネルを使用してパスワードをリセットします。





  • シンプルで高速な実装のためにURLトークンを使用します。





  • 生成されたトークンまたはコードが次のとおりであることを確認してください。





    • ;





    • ;





    • ;





    • .





    .





()

, .









, , :





  • , ;





  • , , ;





  • , , CAPTCHA, ;





  • , , SQL-, .









( ) ( SMS), , .





  • , ;





  • , , ;





  • , ;





  • , ( !);





  • . , , .





  • , .









, , , , .





:





  • URL;





  • PIN-;





  • ;





  • .





, , , . , , , .









(, , PIN- . .). , , . :





  • ;





  • - JSON (JWT) , ;





  • , ;





  • ;





  • , ;





  • .





URL





URL- URL- . :





  1. URL.





  2. .





  3. Host URL- , HTTP-. URL- , .





  4. , URL- HTTPS.





  5. URL- .





  6. , Referrer-Policy «noreferrer» (. : ), .





  7. , URL-, .





  8. , , .





  9. . , , .





. URL , PIN, . .





PIN-





PIN- — ( 6 12 ), , SMS.





  1. PIN-.





  2. SMS .





  3. PIN , .





  4. PIN- .





  5. PIN-, .





  6. . , , .









, (, PIN-) . - , , . , .





(, ), . OTP, , .









, (, ). , — Google, GitHub Auth0.





:





  • - 8 , 12 - ;





  • , , ( );





  • , ;





  • , .









, . , .








All Articles