Announcing Duo’s two-factor authentication for Unix
blog.duosecurity.com
blog.duosecurity.com
Of course, it makes it more of a hassle to maintain a machine, and you might get temporarily locked out if their VOIP line or whatever goes down, but the same could be said about fingerprint readers. I personally try to avoid those mechanisms if at all possible, but it's great that someone is offering this as a simple service. Really cool!
Edit: See jonoberheide's explanation below for more info.
It's also a one-line configuration change.
However, I could also see the opposite case being made. And I assume this is precisely why they made it an easy config change, to make it behave however you prefer.
This is definitely awesome, but my remaining concern is, what happens if/when duosecurity.com is DOS'd or is otherwise down?
Howto: http://www.mnxsolutions.com/security/two-factor-ssh-with-goo...
EDIT: per my post in a sibling thread, Dug Song points out in the comments at the Howto that Google Authenticator can't be used as a second factor alongside SSH public key authentication.
- checks to see if there is a authentication code in a hidden file in your homedir
- if not it validates the password you gave
- if that succeeds generate a 6 digit random number and stores a hash of the number in a hidden file in your homedir and sends it as an SMS to your mobile phone (phone number comes from ldap)
- rejects your login
- you login again, now using the pincode send to your mobile as a password
- the hidden file now exists and the pincode you entered is hashed and compared to the hash stored in the file before
- if they match, your allowed to login.
Simple to implement, fairly strong security wise, logical extension to password-only authentication, no additional account management overhead over standard ldap, reasonable user friendly and very cheap.
We use it also in combination with nomachines nx for remote desktop access.
[edit: formatting]
Central account management, logging, etc. is one area that is quite nice.
Of course jonoberheide mentions some others that are pretty compelling -- authentication methods, integration points and supported platforms.
The choice of being locked out or not on Duo failure is a configuration option ("failmode"), with a fail-safe default.
In any usable system, security is never absolute, but a calculated abatement of risk (you still use HTTPS anyway, right? ;-). Two-factor auth protects against the most common path to account takeover today (credential theft), and Duo's approach intends to make it actually usable and deployable.
- more flexibility in choice of authentication method (voice, SMS, soft token, hard token, Duo Push)
- more supported mobile platforms (Android, iPhone, Blackberry, WinMo, Palm WebOS, Symbian, J2ME)
- more integrations (VPNs, UNIX logins, web apps, etc)
Not to mention all the features that come along with being a fully-fledged authentication service such as account management, fraud alerting, logging, etc. Feel free to give it a shot and decide for yourself. :-)
Disclaimer: if it's not obvious from my gushing, I'm affiliated with Duo. ;-)
Sounds interesting. Does this mean that users can setup Duo by themselves? What happens if many (>10) users use their own Duo accounts on the same host?
edit: One more question: if users use the mobile app for generating passcodes, is the system still dependent on Duo's servers?
Currently, duo_unix does not have a non-service option to use manually-configured local secrets. It's something that could be added easily, but at the expense of centralized management, logging, audit, enrollment, etc.
Folks who only want to use one-time credentials they need to manually provision for each account are probably better off using OPIE or Google Authenticator for now.