Preventing Brute-Force Attacks
Since verification codes are typically only 6 digits long, technically a brute-force attack could be used to guess the correct code in the given time window. To prevent that from happening, you can enable the retry limit and lockout period in the advanced password settings. This feature is not only for the Multi-Factor Authentication plugin; it's available in the standard Mirth® Connect by NextGen Healthcare distribution as well.
In your mirth.properties file, there are several password-related properties you can set:
# password requirements
password.minlength = 0
password.minupper = 0
password.minlower = 0
password.minnumeric = 0
password.minspecial = 0
password.retrylimit = 0
password.lockoutperiod = 0
password.expiration = 0
password.graceperiod = 0
password.reuseperiod = 0
password.reuselimit = 0
To prevent users from brute-forcing the TOTP secondary verification code, set both retrylimit and lockoutperiod to a non-zero value.
- password.retrylimit: The maximum number of times a user may retry a failed login, 0 for no maximum. If specified, the lockout period must be specified as well.
- password.lockoutperiod: The amount of time (in hours) to lockout users when the retry limit has been exceeded, 0 for no lockout.
For more information, see the User Guide for Mirth® Connect by NextGen Healthcare on the Mirth Connect download site.