运维加固---学会部署并应用邮件服务器
邮件投递代理(Mail Delivery Agent,MDA)为用户提供一个用于保存用户邮件的“信箱”服务器,其工作职责是把来自于邮件传输代理(Mail Transfer Agent,MTA)的邮件保存到本地的收件箱。Dovecot是一款能够为Linux系统提供IMAP和POP3电子邮件服务的开源服务程序,安全性极高,配置简单,执行速度快,而且占用的服务器硬件资源也较少,因此是一款值得推荐的收件服
【实验目的】
理解邮件服务的原理,使用yum命令安装并检测邮件服务程序的安装情况,并了解Postfix程序的配置中常用参数的意义配置。
【知识点】
Postfix和Dovecot服务程序,个人邮件服务器。
【实验原理】
电子邮件系统基于邮件协议来完成电子邮件的传输,常见的邮件协议有下面这些。
简单邮件传输协议(Simple MailTransferProtocol,SMTP);
邮局协议版本3(Post Office Protocol 3);Internet消息访问协议版本4(Internet Message Access Protocol 4)。在电子邮件系统中,为用户收发邮件的服务器名为邮件用户代理(Mail User Agent,MUA)。邮件投递代理(Mail Delivery Agent,MDA)为用户提供一个用于保存用户邮件的“信箱”服务器,其工作职责是把来自于邮件传输代理(Mail Transfer Agent,MTA)的邮件保存到本地的收件箱。Postfix是Wietse Venema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件。Postfix是使用最广泛的SendMail提供替代品的一个优良软件。
【实验目标】
通过对Postfix和Dovecot服务的学习,会搭建一个简单的邮件服务器,对用户的管理,以及每个用户的权限管理。
【软件设备】
主机终端:CentOS7主机
【实验步骤】
1.检测Postfix软件安装情况在命令行中执行如下命令:rpm -qa | grep postfix
2.安装Postfix服务程序安装Postfix服务程序:yum install postfix -y

查询Postfix服务相关文件的安装路径:rpm -ql postfix

服务程序主配置文件为/etc/postfix/main.cf,主要配置参数如下:
| myhostname | 邮局系统的主机名 |
| mydomain | 邮局系统的域名 |
| myorigin | 从本机发出邮件的域名名称 |
| inet_interfaces | 监听的网卡接口 |
| mydestination | 可接收邮件的主机名或域名 |
| mynetworks | 设置可转发哪些主机的邮件 |
| relay_domains | 设置可转发哪些网域的邮件 |
3.备份Postfix服务配置文件
备份Postfix配置文件:mv /etc/postfix/main.cf /etc/postfix/main.cf.bak
拷贝配置文件:cp /etc/postfix/main.cf.bak /etc/postfix/main.cf
查看Postfix服务默认配置文件:cat /etc/postfix/main.cf | grep -Ev '^#|^$'

4.开启Postfix服务程序并设为开机自启
开启Postfix服务程序:systemctl start postfix
设置Postfix服务程序开机自启:systemctl enable postfix
Postfix服务在CentOS7中默认安装并已经设置开机自启,倘若未安装,则需完成第一至第四步。
![]()
5.配置Postfix服务程序的主配置文件
编辑主配置文件:vim /etc/postfix/main.cf
第一处:取消第76行的注释,定义一个名为myhostname的变量,用来保存服务器的主机名称。需要记住这个变量的名称,下边的参数需要调用它。
第二处:取消第83行的注释,定义一个名为mydomain的变量,用来保存邮件域的名称。需要记住这个变量的名称,下边的参数需要调用它。

第三处:取消第99行的注释,第99行调用前面的mydomain变量,用来定义发出邮件的域。
调用变量的好处是避免重复写入信息,以及便于日后统一修改。
第四处:修改是在第116行定义网卡监听地址(默认未注释)。可以指定要使用服务器的哪些
IP地址对外提供电子邮件服务;也可以写成all,代表所有IP地址都能提供电子邮件服务。

第五处:修改是在第164行定义可接收邮件的主机名或域名列表(默认未注释)。
![]()
6.配置Postfix服务程序的用户信息
创建电子邮件系统的登录账户postuser:useradd postuser
设置本地用户postuser的密码:passwd postuser

重启Postfix服务程序:systemctl restart postfix

问题分析:
报错显示 /etc/postfix/main.cf文件的第 1 行第 30 列有一个语法错误:missing '=' after attribute(属性后面缺少等号)。
这通常是因为在安装或配置过程中,不小心把配置文件里的某一行弄坏了,导致 Postfix 读不懂配置,从而拒绝启动。
第一步:备份坏掉的配置文件(好习惯)cp /etc/postfix/main.cf /etc/postfix/main.cf.bak
第二步:重置配置文件为默认状态
既然是配置文件损坏,最快的方法就是重新安装一遍 Postfix 的配置文件包,让它恢复到刚安装时的健康状态:yum reinstall postfix -y
第三步:再次尝试启动服务
配置恢复后,我们重新启动 Postfix:systemctl restart postfix

这说明单纯的重装并没有修复那个损坏的配置文件。因为重装通常不会覆盖你原有的配置文件(或者你之前的备份也没能替换回去),导致错误的 main.cf依然存在。
既然重装不管用,我们需要直接动手修掉那个语法错误。
请直接复制并执行下面这条命令,我帮你把这一行写死成正确的默认配置:echo "inet_interfaces = all" > /etc/postfix/main.cf
然后,再次尝试启动服务:systemctl restart postfixsystemctl restart postfix


7.安装Dovecot服务程序
Dovecot是一款能够为Linux系统提供IMAP和POP3电子邮件服务的开源服务程序,安全性极高,配置简单,执行速度快,而且占用的服务器硬件资源也较少,因此是一款值得推荐的收件服务程序。安装Dovecot服务程序软件包:yum install dovecot –y
8.配置Dovecot服务程序
编辑主配置文件:vim /etc/dovecot/dovecot.conf
在Dovecot服务程序的主配置文件中进行如下修改。首先是取消第24行注释,使Dovecot服务程序支持的电子邮件协议为IMAP、POP3和LMTP。然后在这行下面添加一行参数,允许用户使用明文进行密码验证。
之所以这样操作,是因为Dovecot服务程序为了保证电子邮件系统的安全而默认强制用户使用加密方式进行登录,而由于当前还没有加密系统,因此需要添加该参数来允许用户的明文登录。
![]()
取消配置文件中的第48行,设置允许登录的网段地址,也就是说我们可以在这里限制只有来自于某个网段的用户才能使用电子邮件系统。如果想允许所有人都能使用,则不用修改本参数login_trusted_networks =192.168.10.0/24

至此,主配置文件就配置完成。下面需要在子配置文件中配置邮件格式与存储路径。
vim /etc/dovecot/conf.d/10-mail.conf
在该配置文件中取消第25行的注释,用于定义一个路径,指定要将收到的邮件存放到服务器本地的哪个位置。

9.初始化Dovecot服务程序
然后切换到配置Postfix服务程序时创建的postuser账户:su –postuser
创建用于保存邮件的本地目录:mkdir -p mail/.imap/INBOX
切换回root管理员用户:exit
重启Dovecot服务程序:systemctl restart dovecot
设置Dovecot服务程序开机自启:systemctl enable dovecot

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐
所有评论(0)