Debian10 邮件服务(Postfix+Dovecot+sasl)
-
Postfix
-
sdskill.gov 的邮件发送服务器;
-
支 持 smtps(465) 协 议 连 接 , 使 用 Rserver 颁 发 的 证 书 , 证 书 路 径/CA/cacert.pem;
-
创建邮箱账户“user1~user99”(共 99 个用户),密码为 Chinaskill20!。
-
-
Dovecot
-
sdskill.gov 的邮件接收服务器;
-
支 持 imaps ( 993 ) 协 议 连 接 , 使 用 Rserver 颁 发 的 证 书 , 证 书 路 径/CA/cacert.pem;
-
请保留至少两个用户已成功登录并能正常收发邮件,以方便测试。
-
DNS
正向
@ IN MX 10 maill.sdskills.gov.
smtp IN A 172.16.100.102
imap IN A 172.16.100.102
mail IN A 172.16.100.102
反向
102 IN PTR mail.sdskills.gov.
102 IN PTR smtp.sdskills.gov.
102 IN PTR imap.sdskills.gov.
CA
Server02
mkdir /CA
cd /CA
openssl genrsa -out mail.key
openssl req -new -key mail.key -out mail.csr
scp mail.csr 172.16.100.105:/CA
Rserver
cd /CA
openssl ca -in mail.csr -out mail.crt
scp mail.crt 172.16.100.102:/CA
Server02
postfix
apt-get install -y postfix
## 中途提示选择Internet Site
## 输入 sdskills.gov
## 编辑主配置文件 main.cf
- 编辑主配置文件 main.cf
cd /etc/postfix
vim main.cf
smtpd_sasl_auth_enable=yes ##24
smtpd_tls_cert_file=/CA/mail.crt ##27
smtpd_tls_key_file=/CA/mail.key ##28
myhostname = Server02.sdskills.gov ##37
mydestination = $myhostname, sdskills.gov, Server02.sdskills.gov, localhost.sdskills.gov, localhost ##41
mynetworks = 0.0.0.0/0 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
- 编辑master.cf 配置文件 开启 smtps chroot
vim master.cf
smtp inet n - n - - smtpd
smtps inet n - n - - smtpd
-o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
- 进入sasl文件夹 新建smtpd.conf 文件 开启密码认证方式为saslauthd 服务
vim sasl/smtpd.conf
pwchek_method: saslauthd
Dovecot
-
apt-get install -y dovecot-core
-
apt-get install -y dovecot-imapd
-
开启明文传输
cd /etc/dovecot/conf.d
vim 10-auth.conf
disable_plaintext_auth = no
- 修改ssl信息
vim 10-ssl.conf
ssl = yes
ssl_cert = </CA/mail.crt
ssl_key = </CA/mail.key
- 修改imaps端口监听
service imap-login {
inet_listener imap{
port = 143
}
inet_listener imaps{
port = 993
ssl = yes
}
}
saslauthd 服务
-
apt-get install -y sasl2-bin
-
编辑默认配置 开启sasl认证服务
vim /etc/default/saslauthd
START=yes
-
将 postfix 加入sasl组
- usermod -G sasl postfix
创建邮箱账户“user1~user99”(共 99 个用户),密码为 Chinaskill20!。
for i in `seq 99`
do
useradd -m user$i
mkdir -p /home/user$i/mail/.imap/INBOX
chown -R user$i:user$i /home/user$i
echo user$i:Chinaskill20! >> passfile
done
cd /home
pwunconv
chpasswd < passfile
pwconv
-
重启服务
- systemctl restart postfix dovecot saslauthd