Page MenuHomePhabricator

Tighten some MFA/TOTP parameters to improve resistance to brute force attacks
ClosedPublic

Authored by epriestley on Dec 18 2018, 2:01 PM.
Tags
None
Referenced Files
F15512998: D19898.id47508.diff
Thu, Apr 17, 3:33 PM
F15512549: D19898.id47586.diff
Thu, Apr 17, 11:26 AM
F15512475: D19898.diff
Thu, Apr 17, 11:10 AM
F15500308: D19898.id47586.diff
Sun, Apr 13, 5:19 PM
F15496392: D19898.id47508.diff
Sun, Apr 13, 6:39 AM
F15493630: D19898.id.diff
Sat, Apr 12, 10:02 PM
F15490956: D19898.diff
Fri, Apr 11, 10:03 PM
F15392446: D19898.diff
Mar 15 2025, 3:15 PM
Subscribers
None

Details

Summary

Depends on D19897. Ref T13222. See some discussion in D19890.

  • Only rate limit users if they're actually answering a challenge, not if they're just clicking "Wait Patiently".
  • Reduce the number of allowed attempts per hour from 100 back to 10.
  • Reduce the TOTP window from +/- 2 timesteps (allowing ~60 seconds of skew) to +/- 1 timestep (allowing ~30 seconds of skew).
  • Change the window where a TOTP response remains valid to a flat 60 seconds instead of a calculation based on windows and timesteps.
Test Plan
  • Hit an MFA prompt.
  • Without typing in any codes, mashed "submit" as much as I wanted (>>10 times / hour).
  • Answered prompt correctly.
  • Mashed "Wait Patiently" as much as I wanted (>>10 times / hour).
  • Guessed random numbers, was rate limited after 10 attempts.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable