On 2022-04-27 at 01:47:06 UTC-0400 (Wed, 27 Apr 2022 17:47:06 +1200)
AndrewHardy <[email protected]>
is rumored to have said:

Hi,

Following this thread has been quite intriguing. Interesting conversation indeed.

On a similar topic but probably more focused on addressing root cause (which in mind is just passwords = the devil of security) and the inherent insecurities with using them.

I’m very interested in what options / solutions (if any) exist that allow you to use a passwordless approach to authenticating your users against imaps/pop3/smtps/submission services (tls encrypted of course) acknowledging that it’s extremely unlikely to address abuse of the non-auth enabled smtp listener so won’t rid the server of ‘all noise’ or ‘hacking attempts’ nor address lower level exploit/attacks (network/protocol level etc).

Do any solutions exist today? I suspect the issue isn’t so much what you can do server side as possibilities are near endless but constraint is email client support which in my mind is the primary issue? Is that a reasonable conclusion?

I think it depends on what you mean by 'primary' but basically: yes. The reason client support is extremely uneven is that there are not easily implementable standards for how to avoid passwords with SMTP AUTH. The most common mechanism is to use OAuth2, which requires client developers to register their authenticating apps with service providers and get their blessings to be used with their services. Typically the out-of-band OAuth2 interaction requires some form of one-time password. Another approach is to use client X.509 certificates, a mechanism that is better for automated use (i.e. where there's no one available to respond to perform the OOB OAuth2 renewal.) Both client certs for authentication and OTP+OAuth2 are non-trivial to do correctly in a MUA.

The real root cause is deep and insoluble. Passwords are problematic because they can be guessed or stolen. A certificate can be stolen. A hardware token (e.g. RSA key) that generates random-ish one-time passwords (i.e. HOTP) can itself be stolen and has seed and counter values that can be stolen. A TOTP authenticator app (e.g. Google Authenticator or MS Authenticator) has a seed value. To fix that problem, nth-factors typically are time-limited. TOTP codes expire every minute, typically. HOTP codes are strictly one-use so that a thief needs the seed, counter AND to prevent legit use. Certificates expire, and the trend is towards making them expire faster. OAuth2 tokens expire. All of these create the need for regular human interaction to renew the authentication, and so feel inconvenient. A 'slick' solution is impossible because there needs to be a barricade against a thief automating access with stolen credentials.


I’m guessing what I’m asking is if there’s an open source solution that doesn’t require you to pay Microsoft or others extraordinary amounts of money just to get some smart protection?

If you want to do it now with Postfix, client certificates from your own CA are probably the best way to go. Based on the angst displayed on that topic here over the years, it is not trivial to get set up correctly, but it is possible. Dovecot SASL supports OAuth2, so that's also an option if you're willing to handle the backend yourself.


--
Bill Cole
[email protected] or [email protected]
(AKA @grumpybozo and many *@billmail.scconsult.com addresses)
Not Currently Available For Hire

Reply via email to