Debian10 邮件服务(Postfix+Dovecot+sasl)

759 阅读1分钟

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