dovecot 后端使用 Kerberos 进行用户认证.note
一、配置邮件使用 Kerberos 身份认证:
注意:Kerberos环境时间必须同步,机器必须有FQDN
在邮件中,身份认证都是由 dovecot做的,因此只需要在dovecot上配置 Kerberos 身份认证即可
核心:Kerberos提供用户密码验证,Dovecot 提供用户邮箱用于存放邮件
postfix 正常配置即可,没有额外操作步骤
1、配置 KDC(TCP 88、UDP 88、750):
FQDN:Server1.shanghai.org
(1)配置 DNS解析:
# 不强制要求DNS,只需要能够解析FQDN即可(配置hosts也行):
## Client需要能够解析 KDC、Server的FQDN
## Server需要能够解析 KDC 的FQDN
## KDC需要能够解析本机的FQDN(默认就能)(2)配置 KDC:
2.1、安装 KDC:
apt install -y krb5-user krb5-admin-server安装时已经提示了后续需要执行“krb5_newrealm” 命令了

输入 KDC域名(会自动读取当前FQDN):

输入KDC服务器的FQDN,直接输入本机即可

输入KDC中管理密码的服务器的FQDN,直接输入本机即可:

2.2、初始化 KDC 数据库:
# 这个命令在前面安装时有提示过:
krb5_newrealm会提示设置输入两次数据库密码

2.3、创建KDC用户(用于邮件密码认证):
kadmin.local
addprinc user1
addprinc user2
2、配置 Dovecot使用Kerberos身份认证:
FQDN:Server2.shanghai.org
(1)获取 KDC票据:
1.1、安装 krb5-user、libpam-krb5:
apt install -y krb5-user libpam-krb5输入 KDC域名(会自动读取当前FQDN):

输入KDC服务器的FQDN,直接输入本机即可

输入KDC中管理密码的服务器的FQDN,直接输入本机即可:

(2)创建本地用户:
adduser user1
adduser user2
# 或创建一个不带密码的用户:
adduser --disabled-password user1(3)修改 dovecot的PAM,使用Kerberos进行认证:
# 需要先安装 libpam-krb5
vim /etc/pam.d/dovecot
## minimum_uid=1000 //(这条可有可不有)只允许uid大于等于1000的用户进行认证(防止uid 1000以下的系统用户进行pam认证)
## [success=2 default=ignore] //(这条应该删除,但是不删也行,因为不影响)当认证失败时,就会跳过后面两行规则,这里因为没有其他PAM规则,都是 krb5的,所以当krb5认证都失败的时候,跳过就跳过了,无所谓的注释原本所有PAM

模板:
cd /etc/pam.d
grep -r krb5 *
·(可选)测试 PAM 是否可用:
一般这一步过了那就没问题了
apt install -y pamtester
pamtester dovecot user1 authenticate
# 语法:pamtester [PAM文件] [用户] authenticate
这里不要删用户,测试时删用户只是为了更直白的展示效果,后续把用户重新创建了
3、配置 邮件客户端:
客户端正常配置连接即可,没有额外操作,不需要配置任何Kerberos的操作,因为认证全部由 Dovecot向Kerberos发起
只能够登陆 Kerberos 和 dovecot本地有的用户(Kerberos提供密码认证,Dovecot本地提供邮箱存储邮件)

且能够正常收发邮件
