配置邮件(dovecot、postfix) 和 客户端 之间进行 Kerberos 身份认证.note
一、配置 邮件使用 Kerberos 身份认证:
注意:Kerberos环境时间必须同步,机器必须有FQDN
这里将 KDC和 邮件 服务器拆分了(可以放在同一台机器,在NFS Kerberos那篇笔记中 kdc和nfs服务器就是在同一台机器)
这里做了一个邮件分离,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用户(用户 客户端kinit登陆):
kadmin.local
addprinc user1
(3)创建 KDC票据(给dovecot和postfix用):
OpenSSH的Principal的primary名称是固定的,必须为 host/FQDN@REALM(小写)

注意:KDC的票据严格区分大小写,这里不能够有大小
## principal命名规则:primary(一般是服务要求的名称)/instance(一般是票据存放机器的FQDN[小写])@realm(域名,这个不用写,会自动补全为当前 realm)
# 注意:哪怕FQDN是大写的,KDC票据这里也必须得小写
kadmin.local
addprinc -randkey imap/server2.shanghai.org
ktadd -k /root/server2.keytab imap/server2.shanghai.org
addprinc -randkey smtp/server3.shanghai.org
ktadd -k /root/server3.keytab smtp/server2.shanghai.org smtp/server2.shanghai.org
# 如果要导出多个票据到同一文件中:ktadd -k /root/server2.keytab imap/server2.shanghai.org smtp/server2.shanghai.org
quit如果已经存在一个 keytab文件,并且里面已经有不同的票据,那么这个导出操作只会追加,不会覆盖
# 如果要删除票据:
kadmin.local
delprinc imap/server2.shanghai.org查看票据:
klist -kte server2.keytab
2、配置 dovecot:
FQDN:Server2.shanghai.org
(1)获取 KDC票据:
1.1、安装 krb5-user:
apt install -y krb5-user输入 KDC域名(会自动读取当前FQDN后缀):

输入KDC服务器的FQDN

输入KDC中管理密码的服务器的FQDN

1.2、获取 kerberos 票据:
# 复制KDC生成的票据到本地:
scp root@192.168.10.1:~/server2.keytab /etc/krb5.keytab1.3、给予 dovecot服务读取票据的权限:
chown root:dovecot /etc/krb5.keytab
chmod 640 /etc/krb5.keytab
# 或:
chmod 644 /etc/krb5.keytab(2)dovecot开启Kerberos/GSSAPI认证:
apt install -y dovecot-gssapi
vim /etc/dovecot/conf.d/10-auth.conf
3、配置 客户端:
FQDN:Client.shanghai.org
(1)安装 krb5-user:
apt install -y krb5-user输入 KDC域名(会自动读取当前FQDN后缀):

输入KDC服务器的FQDN

输入KDC中管理密码的服务器的FQDN

·测试连接
注意:kinit 必须要在登陆图形界面的普通用户上进行,如果在root上执行kinit,获取到的票据是root的
# 当前图形化console的普通用户kinit:
kinit user1
你kinit的哪个用户,邮件就只能够登陆哪个用户
SMTP一般来说只需要 Normal password 即可
·Thunderbird:

·evolution

4、(可选)配置 postfix:
FQDN:Server3.shanghai.org
(1)获取 KDC票据:
1.1、安装 krb5-user:
apt install -y krb5-user输入 KDC域名(会自动读取当前FQDN后缀):

输入KDC服务器的FQDN

输入KDC中管理密码的服务器的FQDN

1.2、获取 kerberos 票据:
# 复制KDC生成的票据到本地:
scp root@192.168.10.1:~/server3.keytab /etc/krb5.keytab(2)postfix开启Kerberos/GSSAPI认证:
postfix 必须依赖 sasl才能够使用 GSSAPI认证
apt install -y sasl2-bin libsasl2-modules-gssapi-mit
暂时没做