[Dovecot] Can't get apop to work.
mouss
mouss at netoyen.net
Thu Feb 7 22:54:22 EET 2008
Bill Cole wrote:
> At 5:20 AM -0800 2/7/08, Greg Lorriman wrote:
>>> I tried fiddling with PAM by adding an /etc/pam.d/apop file with
>>> these contents :
>>
>> It's impossible to support anything but plaintext authentication with
>> PAM. See http://wiki.dovecot.org/Authentication/Mechanisms and
>> http://wiki.dovecot.org/Authentication/PasswordSchemes
>>
>> I'm not overly worried about PAM; I just want to get APOP working.
>> But the wiki doesn't give me even the faintest idea, keeping in mind
>> that I am relatively new to linux. The same applies to all the other
>> authentication schemes. It only tells me how to change the conf
>> file, which doesn't appear to be enough.
>>
>> Obviously I am missing something here. But I don't know what.
>
> The way APOP works requires the POP3 server to have the user's
> unencrypted password. There is no way around that. This means that if
> you want to support APOP with Dovecot, you need to use a passdb
> configuration that offers access to the password in plaintext. In
> particular that requires using a passdb driver other than 'pam'
> because PAM by design does not provide client programs like Dovecot
> with access to plaintext passwords, and it would be an unusual system
> where PAM itself has access to passwords in any form that can readily
> be translated into plaintext. The referenced wiki pages and the pages
> they link to explain this in detail, but they do require you to read
> carefully, absorb the meaning, and synthesize your own solution. There
> is no cookbook for getting APOP to work. It always requires a password
> database of some sort that is independent from the operating system's
> standard mechanism, i.e. PAM or /etc/{passwd,shadow}, because non-toy
> OS-level authentication systems never store passwords in any directly
> recoverable form but only in testable forms, i.e. one-way hashes.
>
> On a general conceptual level, any password storage scheme that
> protects passwords in storage limits you to using only plaintext
> authentication mechanisms plus at most one compatible non-plaintext
> mechanism. For example, CRAM-MD5 password storage only allows you to
> support CRAM-MD5 authentication or plaintext authentication. The
> logical design of APOP precludes the use of any minimally secure (i.e.
> one-way hash) password storage scheme because the authentication check
> is based on a hash of the plaintext password and username with a
> one-time-use token.
>
>
> It is probably a better idea to reconsider why you want APOP at all.
> All APOP provides is protection from someone sniffing out the password
> on the wire. That was a larger risk when APOP was devised than it
> really is today due to the fact that switches have largely supplanted
> hubs and a more complete solution is available with SSL/TLS support.
> APOP doesn't protect mail itself from being sniffed, and comes at the
> cost of requiring the server to store plaintext passwords, which in
> most modern cases is a risk of similar magnitude to the risk of having
> plaintext passwords on the wire. A far better option if your users are
> not locked into archaic clients is to only offer access over
> encrypted (SSL/TLS) sessions, and allow plaintext (PLAIN and LOGIN)
> authentication mechanisms. That would allow you to use PAM rather than
> a free-standing password database with plaintext passwords that you
> only use for APOP because nothing else that claims to be secure in the
> modern world would ever use such a database.
>
regarding APOP vulnerabilty:
http://fse2007.uni.lu/slides/rump/apop.pdf
see also:
http://www.securityfocus.com/archive/1/464477/30/0/threaded
In particular:
<citation>
APOP should be considered broken in the man-in-the-middle setting.
User should be encouraged to switch to another authentication
mechanism, such as CRAM-MD5 (or use TLS...).
</citation>
More information about the dovecot
mailing list