Postfix
Postfix是一个开源的邮件传输代理(MTA),用于路由和传送电子邮件。它是一个可靠、安全且高性能的邮件服务器软件,常用于搭建邮件系统的核心组件之一。
特点和功能:
安全性: Postfix注重安全性,采用了多种安全机制来保护系统免受邮件滥用和攻击。
性能: Postfix设计简单、高效,具有良好的性能表现,能够高效地处理大量的邮件流量。
灵活性: Postfix提供了丰富的配置选项和灵活的扩展性,可以根据需求进行定制和配置。
易用性: Postfix具有清晰的文档和友好的社区支持,易于安装、配置和管理。
Dovecot
Dovecot是一个开源的邮件服务软件,用于提供邮件访问服务,包括POP3和IMAP协议。它通常与Postfix配合使用,用于接收和存储邮件,以及为用户提供远程访问邮件的功能。
特点和功能:
稳定性: Dovecot稳定可靠,经过广泛的测试和使用,在生产环境中表现良好。
安全性: Dovecot支持SSL/TLS加密,能够保护邮件通信的安全性,同时提供多种认证方式来保护用户帐户的安全。
高性能: Dovecot具有优秀的性能表现,能够快速响应用户的邮件访问请求,并支持邮件目录索引缓存等功能来提升性能。
易用性: Dovecot提供了简单易用的配置文件和管理工具,使得管理员可以轻松地进行配置和管理。
Postfix和Dovecot是搭建邮件系统的两个重要组件,它们分别负责邮件的传输和存储、访问。通过合理配置和配合使用这两个工具,可以构建一个安全、稳定、高性能的邮件系统,满足用户的邮件通信需求。
以下均在Vmware中实验
均关闭防火墙 selinux
安装bind
yum install -y bind
编辑bind的配置文件
[root@localhost ~] vim /etc/named.conf
添加正向解析 域名根据需求来设置
进入cd /var/named/
[root@localhost ~]# cd /var/named/ [root@localhost named]# ls data dynamic named.ca named.empty named.localhost named.loopback slaves [root@localhost named]# cp -p named.empty ssl.com.zone
cp -p named.empty ssl.com.zone
:使用选项将文件复制到命名的新文件,同时保留文件属性(时间戳、所有权、模式)。named.empty
ssl.com.zone
-p
编辑刚刚复制的文件
vim /ssl.com.zone
$TTL 3H @ IN SOA ssl.com. root.ssl.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum @ IN NS dns.ssl.com. dns IN A 192.168.180.188 mail IN A 192.168.180.188 ftp IN A 192.168.180.66 MX 10 mail.ssl.com.
此行指定邮件交换 (MX) 记录,指示邮件服务器应将邮件传递到此域的位置。它将首选项值设置为“3”
配置完成之后
systemctl restart named
测试DNS解析
把dns执行服务器IP(也就是自己的地址)
vim /etc/resolv.conf
解析成功
安装postfix
yum install -y postfix
编辑配置文件
vim /etc/postfix/main.cf
该文件 () 通常包含 Postfix 邮件服务器的主要配置设置。您可能会发现一些常见的配置选项,包括与域名、网络接口、中继设置和安全选项相关的设置。 main.cf main.cf
76 myhostname = mail.sll.com
83 mydomain = ssl.com
此设置对于确保传出电子邮件具有有效的发件人地址至关重要
1. 98 myorigin = $myhostname 2. 该变量通常表示运行 Postfix 的计算机的主机名
113 inet_interfaces = all
此行指定 Postfix 应侦听所有可用的网络接口。这意味着它将接受分配给服务器的任何 IP 地址上的连接
116 #inet_interfaces = localhost
这一行也被注释掉了。它指定 Postfix 应仅在 localhost 接口上侦听。
164 #mydestination = $myhostname, localhost.$mydomain, localhost 此行被注释掉。它建议邮件服务器应将邮件传递到以下目的地: 服务器的主机名 ($myhostname) localhost.$mydomain localhost 165 mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
使用此配置,Postfix 将在本地传递与所列目的地关联的地址的邮件。
418 #home_mailbox = Mailbox 此行已注释掉,因此它未处于活动状态。它建议使用名为 的邮箱格式。但是,由于已注释,因此未使用此配置。Mailbox 419 home_mailbox = Maildir/ 指示本地用户邮箱的默认邮箱格式为 Maildir 格式。home_mailboxMaildir/
配置完成之后
重启服务
[root@localhost ~] systemctl restart postfix
创建一个用户并设置密码的
[root@localhost ~]# useradd -s /sbin/nologin admin [root@localhost ~]# passwd admin 更改用户 admin 的密码 。 新的 密码: 无效的密码: 密码未通过字典检查 - 过于简单化/系统化 重新输入新的 密码: passwd:所有的身份验证令牌已经成功更新。
/sbin/nologin 该选项将用户的 shell 设置为 ,这是一个特殊的 shell,可有效地禁用此用户的登录
安装Dovecot
下载软件
[root@localhost ~] yum install -y dovecot dovecot-devel clucene-core
如果不能一起安装的话可以单独分开安装
编辑配置文件
[root@localhost ~] vim /etc/dovecot/dovecot.conf
指定允许访问的网段
[root@localhost ~] vim /etc/dovecot/conf.d/10-mail.conf
此文件通常包含与 Dovecot 的邮件存储相关的配置设置。它允许您定义 Dovecot 存储用户电子邮件的位置和方式。
此行指定 Dovecot 应使用 Maildir 格式 () 来存储电子邮件,目录路径是存储电子邮件的位置。maildir:
~/Maildir
maildir:
指示 Maildir 格式,该格式将每封电子邮件作为单独的文件存储在用户目录中。
设置完成之后 重启服务器
[root@localhost ~] systemctl restart dovecot
配置SSL加密
openssl genrsa -des3 -out server.key 1024 openssl req -new -key server.key -out server.csr openssl x509 -req -days 365 -sha256 -in server.csr -signkey server.key -out servernew.crt
openssl genrsa -des3 -out server.key 1024:
生成一个RSA私钥(Key),命名为,并且使用DES算法进行加密(通过 选项)。私钥的长度为1024位。server.key-des3
openssl req -new -key server.key -out server.csr:
使用生成的私钥()生成一个证书签名请求(Certificate Signing Request,CSR),存储在文件中。该命令将提示你输入一些证书相关的信息,比如组织名称、单位名称、常用名等。server.keyserver.csr
openssl x509 -req -days 365 -sha256 -in server.csr -signkey server.key -out servernew.crt:
使用先前生成的CSR()以及私钥()签署证书,生成一个自签名的X.509证书()。参数指定证书的有效期为365天,指定使用SHA-256算法进行签名。server.csrserver.keyservernew.crt-days 365-sha256
输入完成之后
ls查看此刻桌面会多出SSL/TLS 证书相关的文件
server.csr servernew.crt server.key
server.csr:此文件通常包含为服务器生成的证书签名请求 (CSR)。CSR 将发送到证书颁发机构 (CA) 以请求颁发 SSL/TLS 证书。它包含您的域名和组织详细信息等信息。
servernew.crt:此文件似乎是证书颁发机构 (CA) 为响应 CSR 而颁发的 SSL/TLS 证书。它包含服务器的公钥,用于与客户端建立安全连接。
server.key:此文件包含与 SSL/TLS 证书关联的私钥。私钥用于 SSL/TLS 握手过程中的加密和解密。
[root@localhost ~] ls anaconda-ks.cfg csdn oneif.sh path.sh server.csr servernew.crt user.sh 公共 视频 文档 音乐 c???????? initial-setup-ks.cfg passwd.sh select.sh server.key time.sh yesoron.sh 模板 图片 下载 桌面
[root@localhost ~] cp -a * /etc/pki/CA/certs/
[root@localhost ~] ls /etc/pki/CA/certs/ anaconda-ks.cfg csdn oneif.sh path.sh server.csr servernew.crt user.sh 公共 视频 文档 音乐 c???????? initial-setup-ks.cfg passwd.sh select.sh server.key time.sh yesoron.sh 模板 图片 下载 桌面
命令用于将当前目录下的所有文件(除了以开头的隐藏文件)复制到目录中。这意味着你复制了当前目录下的所有文件和目录到目录。cp -a * /etc/pki/CA/certs/./etc/pki/CA/certs//etc/pki/CA/certs/
此文件是 Postfix 邮件服务器的主要配置文件。
[root@localhost ~] vim /etc/postfix/main.cf 添加如下信息 683 smtpd_use_tls = yes 684 smtpd_tls_cert_file = /etc/pki/CA/certs/servernew.crt 685 smtpd_tls_key_file = /etc/pki/CA/certs/server.key 686 smtpd_tls_session_cache_database = btree:/etc/postfix/smtpd_scache
它定义了各种邮件处理服务的参数和配置。
vim /etc/postfix/master.cf # -o syslog_name=postfix/smtps -o smtpd_tls_wrappermode=yes # -o smtpd_sasl_auth_enable=yes
这意味着传入的 SMTP 连接将使用 TLS 进行加密,从而在邮件服务器和连接客户端之间提供安全通信。
[root@localhost ~] vim /etc/dovecot/conf.d/10-ssl.conf 14 ssl_cert = </etc/pki/dovecot/certs/dovecot.pem 15 ssl_key = </etc/pki/dovecot/private/dovecot.pem 16
重启该服务
[root@localhost ~] systemctl restart dovecot
这些行指定 Dovecot 使用的 SSL 证书和私钥文件的路径,
客户端测试
用win10专业版来做测试
安装foxmail
进入之后根据自己需求来选择邮箱账号
输入服务器类型为POP3输入账户密码 选择SMTP的SSL对钩创建即可
创建完成之后再创建一个用户用来测试使用
创建完成之后完成如下需求
接收完成实验结束