Disallow cleartext on the wire

Bron Gondwana brong at fastmail.fm
Mon Jan 10 16:56:01 EST 2011


On Mon, Jan 10, 2011 at 11:22:51AM -0600, Dan White wrote:
> On 10/01/11 23:32 +1100, Bron Gondwana wrote:
> >On Mon, Jan 10, 2011 at 07:00:13AM -0500, Adam Tauno Williams wrote:
> >>On Sun, 2011-01-09 at 14:40 -0800, Dudi Goldenberg wrote:
> >>> >I am using Thunderbird to test with. I want completely disallow logins
> >>> >without TLS for IMAP.
> >>> Have a look at /etc/cyrus.conf:
> >>>
> >>> Just hash out imap and restart cyrus.
> >>
> >>Incorrect. That disables IMAP (TCP/143) and leaves IMAP-over-SSL.
> >>Secure IMAP (IMAP w/TLS) still uses TCP/143.   IMAP-over-SSL is rather
> >>hackish.
> >
> >What war are you trying to win here?  Stopping people using plaintext
> >connections, or stopping passwords being potentially exposed to snoopers?
> >
> >Because "Secure IMAP" on port 143 just means that once the user has sent
> >their plaintext password over the wire already, you tell them to get lost
> >rather than let them in.  It doesn't stop stupid client programs sending
> >the plaintext password out in the first place.
> 
> That was addressed in RFC 3501, section 7.2.1 and presumably why the
> LOGINDISBLED response was created.
> 
> If there are any imap clients that send over-the-wire cleartext passwords
> when server policy forbids it, then that would be grounds for a CVE report
> on that client.
> 
> Running IMAP over 143 should be safe from over the wire snooping, if the
> server is properly configured.

Yeah, that's what's known as "wishful thinking" I suspect.  Has anyone
actually done any testing on this?
 
> >IMAP-over-SSL does, because no client sends the password over the network
> >until it has a TCP connection - and it doesn't get one of them if it tries
> >to connect to port 143 and you don't have it turned on.
> >
> >So what's so hackish about IMAP-over-SSL precisely?
> 
> RFC 2595 discourages it and lists some reasons.

Sorry, I don't buy any of those reasons.  "The server may be using a low
grade cipher" - so layer a better one inside, or don't use such an ancient
server.  I think that's a past artifact.  The "Secure vs Non-Secure" client
interface issues is a boat that's sailed sorry.  Besides more clients are
auto-configuring anyway (see Thunderbird's ability to query a URL to get
configuration parameters) - or just probing both ports one-off and selecting
the SSL one if available.

Port numbers are a limited resource - ok, I'll credit that one - but the fact
is that you can't really take them back now.  They're in use widely enough
that it's not going to change any time soon.

Sorry - there's wishful thinking, and there's the reality - and the reality
is that enabling just port 993 is safe against poor implementation in the way
that hoping everyone checked for "LOGINDISABLED" isn't.

Bron.


More information about the Info-cyrus mailing list