PCI DSS requires two-factor authentication for remote access, to defend against password-guessing attacks. Since nearly every organization takes credit cards, this requirement applies to nearly everyone. This is an appropriate security standard whether the regulatory requirement applies or not. Sophos Knowledgebase article 132629 speaks to the problem of password-guessing attacks from the Internet. Similarly, my organization is also detecting and blocking password-guessing attacks on a regular basis. Assuming that you have committed to using two-factor authentication, you have a choice of technologies. The purpose of this document is to organize my thoughts and help others consider the tradeoffs.
Any two-factor security design needs to consider all three phases of credential management:
Each of these will be addressed at appropriate points.
Your strategy may depend on the nature of your remote users, which I classify into these three groups:
I will assume that UTM is not be used for consumer populations, and is certainly outside my experience, so it is out of scope for the rest of this document.
These are the known options for two-factor authentication
OTP is the 2-factor technology provided with UTM. The UTM implementation is representative of similar one-step login systems based on OTP.
Key Strengths:
Key Weaknesses:
DUO is a third-party product which has completed integration testing with UTM and as a result is approved by Sophos Support. DUO is reasonable representative of all two-step authentication technologies.
Key Strengths:
Key Weaknesses
A third approach is to limit which login accounts can be used from which network addresses.
Key Strengths
Key Weaknesses
In an example project, this approach was used for an environment with a small number of clients operating from fixed locations.
There are other techniques as well, but I have not used them with UTM. The ones that come to mind are:
Typically, products like these would integrate with UTM as a RADIUS server, TAKACS+ server, or LDAP server.
Double Login refers to those situations where the 2FA login provides access past the perimeter firewall, but does not provide access to the target application or resource. The user must complete a second login step to complete the desired connection.
When the login credentials are identical for both logins, users find the duplicated effort objectionable. For security practitioners, the second login introduces the possibility that the second login will be attempted with a different username than the first. If a password-guessing attack occurs at this point, accountability becomes very difficult. Most second-level login tools will not collect enough data to link the failed application login to the successful remote login.
Consequently, any single-login solution is preferred over any double-login solution.
The configuration options create these possible logging and notification use-cases:
All of the solutions based on a UTM login will also have the protection of break-in evasion (account locked for X minutes after N failed logins) and immediate notification via email whenever breakin evasion is triggered. Single-login solutions based on DUO RADIUS at the backend server are dependent on those subsystems to provide notification and breakin evasion. Ideally, double-login solutions should have breakin evasion and notification at both login layers. However, back-end solutions may have weak features related to breakin evasion and notification, and those limitations are often the reason that a front-end solution like UTM is required.
Remember that breakin evasion notices are not sufficient to detect all password guessing attacks. A determined attacker will guess slowly and from different source addresses, to minimize the chance that a breakin evasion will be triggered. After-the-fact log analysis needs to accompany real-time notification.
The UTM Portal allows 1FA login until the 2FA login occurs for the first time. The UTM Portal also must face the Internet to support its other functions, such as SSL VPN and HTML5 VPN. This creates some risk that a compromised password can be used to create a rogue login with 2FA credentials. To minimize this risk, these measures can be considered:
A disadvantage of UTM authentication is that it does not support password expiration notices and password reset against remote authentication servers.
The local authentication server also lacks desirable features, including:
If your users are mostly authenticated using Active Directory or another backend service, an OTP reset can be handled by deleting the UTM local account for that person, as it will be recreated when the new OTP is used. This is an inferior approach, as it leaves an orphaned OTP token, and it teaches bad habits that cannot be applied to local users.
The better way to reset OTP passwords is from Authentication Services... OTP. The circular arrow "resets" the OTP, allowing the user to log back into the User Portal with just his password, so that he can display the OTP token. It uses the same seed, so existing devices remain valid. If the OTP token entry is deleted, all existing devices are invalidated, because a new seed will be generated when the user logs into the user portal.
If the user presents in person, the OTP code can be displayed from WebAdmin using the (i) button at the end of the token row.
Experts often observe that security has more to do with processes and procedures than with technology and products. I think that is demonstrated by the issues discussed here. There does not seem to be an obvious "best" technique for 2-factor authentication, but any of them can serve you well if you build the right human systems around the computer systems.
I've prioritized this thread to remain at the top of this forum indefinitely.
re: Password Resets - Good summary of reasons to always use the admin account as an "emergency access' account and to have all other accounts on the UTM be remotely authenticated.
Cheers - Bob