Getting Ready for Multi-Factor Authentication

In any case, probably before or concurrent with any 2FA effort, an account cleanup on Solaris should take place because that is also an audit-failure waiting to happen. So, independently or concurrently with 2FA, the following cleanup tasks may need doing:

Weighing In on Solutions

Overall, I'd say the Secure Shell PKI solution is the easiest and smartest way to get 2FA/MFA on Solaris. Security “pros” might disagree, but that's because they want you to use the most painful solution possible. Security is always at odds with usability and this will always be the case. However, there are a few other options I can mention as well as some fairly radical ideas for building analogs.

Types of Multi-factor Authentication for Solaris

There are several systems for MFA/2FA which will work with Solaris. I'll try to present a description of each one along with the key pros and cons (+/-).

Multi Factor Authentication with Secure Shell

Secure Shell PKI might do what you want/need with very little effort. 2FA by definition is “something you know, plus something you have”. In the case of PKI, there is no TOTP generated by a keyfob or app, but the user must have an SSH private key which matches the public key generated on the Solaris host (or optionally by the user themselves with their ssh application). So, it's your password (to unlock your private key) and your actual possession of the key (ie.. “two factors”) keep the account secure.

Google Authenticator for Solaris

Google Authenticator may be an option for Solaris. However, it needs to be compiled and tested. It's not nicely packaged for Solaris. Check this out for more detail on the procedure. Solaris with Google Authenticator

RSA SecureID

RSA has Solaris support via their 3rd party PAM plugin. RSA SecureID works pretty well and has been supported in Solaris for over 25 years. I did the integration for it at IBM in their Global Services hosted facilities many years ago. Also, note you can enable RSA SecurID 2FA for Active Directory users by integrating RSA Authentication Manager (ACE) with Active Directory. However, you cannot use Active Directory as a direct back-end authentication source for RSA SecurID ACE.

Duo Authentication with Solaris

Duo is a TOTP 2FA scheme with a commercial server product at it's core which is very much like RSA SecureID. Duo was an independent company which was acquired by Cisco.

RADIUS PAM with Smart Backend

RADIUS might be an option if you have an existing 2FA solution for Active Directory or other back-end authentication system which supports 2FA and has a built-in RADIUS server. For example, AD has built-in RADIUS server support so it can support things like mobile authentication, NAS devices, or WiFi routers. RADIUS can securely authenticate users on Solaris using the “pam_radius_auth” PAM module. Many 2FA products can “gang” the user's password with their TOTP code. Ie.. the user enters both as one big string with concatenation. This cleverly provides 2FA support to ANY valid RADIUS client.

Failures, Dark Alleys, Boondoggles, and Far-Out Schemes

Having gone through the exercise a few times. Here are the things I definitely would <b>not</b> try to make work with Solaris.

Far-Out Radical Methods for 2FA/SSO On Solaris

There are a few ideas I've had that might work and might be too spacey or weird to be functional.