深入理解与配置 Cyrus SASL 认证框架
1. SASL 概述
SASL(Simple Authentication and Security Layer)定义了客户端和服务器之间需要交换的数据,但未规定通信方式,这取决于具体的通信协议,因此它能被 SMTP、IMAP 或 LDAP 等多种服务使用。SASL 相对 SMTP 协议较新,在 RFC 2554 中被引入,用于描述 SMTP 认证服务扩展。
一个包含 SMTP 认证的 SMTP 对话示例如下:
$ telnet mail.example.com 25 220 mail.example.com ESMTP Postfix EHLO client.example.com 250-mail.example.com 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-ENHANCEDSTATUSCODES 250-AUTH PLAIN LOGIN CRAM-MD5 DIGEST-MD5 1) 250-AUTH=PLAIN LOGIN CRAM-MD5 DIGEST-MD5 2) 250 8BITMIME QUIT其中,250 - AUTH PLAIN LOGIN CRAM - MD5 DIGEST - MD5 1)告知客户端服务器提供 SMTP 认证,由两部分组成:250 - AUTH宣布认证能力,后面是可用机制列表,客户端可从中选择。250 - AUTH = PLAIN LOGIN CRAM - MD5 DIGEST - MD5