Postfix邮件服务器安全:一

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情
你的Postfix邮件服务器安全么?
本文来自:http://os.51cto.com/art/201103/247862.htm   李洋

Postfix最被人称道的地方就在于其配置文件的可读性很高。虽然Postfix的配置文件大部分都是注释,但是为了服务器的安全,还是要花一些心思。
本文介绍了Postfix邮件服务器在配置监听接口、主机名和域名、IP设置等方面的安全事项,以及SMTP安全认证的配置方法。
AD:
Postfix是Linux上常用的邮件服务器之一。本文对Postfix邮件服务器的参数进行了简述,并着重介绍了配置过程中需要注意的安全事项。

快速配置Postfix邮件服务器


Postfix最被人称道的地方就在于其配置文件的可读性很高。Postfix的主配置文件是/etc/postfix/main.cf。
在main.cf文件中,参数都是以类似变量的设置方法来设置的,这些参数的使用主要包含两部分的内容:
(1)定义和声明变量:例如definename = good-better-best。等号左边是变量的名称,等号右边是变量的值。
(2)引用变量:可以在变量的前面加上符号“$”来引用该变量,如:myname = $ definename(相当于definename = good-better-best)。
需要注意的是:等号两边需要有空格字符。此外,如果变量有两个以上的设置值,就必须用逗号“,”或者空格符“ ”将它们分开。
在熟悉了上述变量的定义和引用方法后,下面详细介绍如何安全、高效地配置Postfix服务器的相关选项。
1.设置Postfix服务监听的网络接口
默认情况下,inet_interfaces参数的值被设置为localhost,这表明只能在本地邮件主机上寄信。如果邮件主机上有多个网络接口,而又不想使全部的网络接口都开放Postfix服务,就可以用主机名指定需要开放的网络接口。不过,通常是将所有的网络接口都开放,以便接收从任何网络接口来的邮件,即将inet_interfaces参数的值设置为“all”,如下所示:
inet_interfaces = all
2.安全设置可接收邮件的主机名称或域名
mydestination参数非常重要,因为只有当发来的邮件的收件人地址与该参数值相匹配时,Postfix才会将该邮件接收下来。通过该选项的设置可以过滤掉许多没有经过认证和授权的邮件,从而节省服务器的存储空间,以及节省用户的邮件处理时间。

举一个简单的例子,用户可以将该参数值设置为如下:
accept_domain = test.net
mydestination = $accept_domain
这就表明无论来信的收件人地址是X@test.net(其中X表示某用户在test.net域中的邮件账户名),Postfix都会接收这些邮件。而除此之外的邮件,Postfix都不会接受。
3.安全设置可转发邮件的网络(IP设置)
有关安全设置可转发邮件的网络可以使用mynetworks参数来设置。可将该参数值设置为所信任的某台主机的IP地址,也可设置为所信任的某个IP子网或多个IP子网(采用“,”或者“ ”分隔)。
比如,用户可以将mynetworks参数值设置为172.168.96.0/24,则表示这台邮件主机只转发子网172.168.96.0/24中的客户端所发来的邮件,而拒绝为其他子网转发邮件:
mynetworks = 172.168.96.0/24
除了mynetworks参数外,还有一个用于控制网络邮件转发的参数是mynetworks-style,它主要用来设置可转发邮件网络的方式。通常有以下三种方式:
(1)class:在这种方式下,Postfix会自动根据邮件主机的IP地址得知它所在的IP网络类型(即A类、B类或是C类),从而开放的它所在的IP网段。
(2)subnet:这是postfix的默认值,postfix会根据邮件主机的网络接口上所设置的IP地址、子网掩码来得知所要开放的IP网段。
(3)host:在这种方式下,postfix只会开放本机。
通常,用户一般不需要设置mynetworks-style参数,而直接设置mynetworks参数。如果这两个参数都进行了设置,那么mynetworks参数的设置有效。
4.设置可转发邮件的网络(域名设置)
上面介绍的mynetworks参数是针对邮件来源的IP来设置的,而relay_domains参数则是针对邮件来源的域名或主机名来设置的,其实从原理上来说是一致的,不过是区分了IP地址和域名而已,不过,relay_domains还需要依赖DNS这个基础设施。
例如,用户可以将relay_domains参数值设置为test.net,则表示任何由域test.net发来的邮件都会被认为是信任的,Postfix会自动对这些邮件进行转发,如下所示:
relay_domains = test.net
那么,要使它能在实际网络中更好地转发邮件,还必须进行相应的DNS设置。那么,需要在该网络的DNS服务器上定义了一个主区域test.net,并在该区域配置文件中定义了以下记录:
//定义邮件服务器的IP地址
patterson.test.net. IN  A  172.168.96.254
//定义邮件服务器的别名
mail.test.net. IN CNAME  patterson.test.net.
//定义优先级别
test.net.  IN MX  10 mail.test.net.
上述记录只对邮件服务器进行了定义,还有诸如SOA、NS等的定义,在这里就不再赘述。

配置Postfix使用SMTP安全认证


Postfix默认不会对外开放转发功能,而仅对本机(localhost)开放转发功能。但是,在实际应用中,必须在Postfix主配置文件中通过设置mynetworks、relay_domains参数来开放一些所信任的网段或网域,否则该邮件服务器几乎没有什么用处。在开放了这些所信任的网段或网域后,还可以通过设置SMTP认证,对要求转发邮件的客户端进行用户身份(用户账户名与密码)验证。只有通过了验证,才能接收该用户寄来的邮件并帮助转发。
同样,Postfix中目前比较常用的SMTP认证机制是通过Cyrus SASL包来实现的。
默认情况下,Postfix并没有启用SMTP认证机制。要让Postfix启用SMTP认证,就必须对Postfix的主配置文件/etc/postfix/main.cf进行修改。用户需要在main.cf文件中添加如下有关SMTP认证的设置部分:
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = ''
smtpd_recipient_restrictions = permit_mynetworks
permit_sasl_authenticated, reject_unauth_destination
broken_sasl_auth_clients=yes
smtpd_client_restrictions = permit_sasl_authenticated
smtpd_sasl_security_options = noanonymous
其中,每个选项的具体含义如下:
(1)smtpd_sasl_auth_enable:指定是否要启用SASL作为SMTP认证方式。默认不启用,这里必须将它启用,所以要将该参数值设置为yes。
(2)smtpd_sasl_local_domain:如果采用Cyrus-SASL版进行认证,那么这里不做设置。
(3)smtpd_recipient_restrictions:表示通过收件人地址对客户端发来的邮件进行过滤。通常有以下几种限制规则:
permit_mynetworks:表示只要是收件人地址位于mynetworks参数中指定的网段就可以被转发邮件。
permit_sasl_authenticated:表示允许转发通过SASL认证的邮件。
reject_unauth_destination:表示拒绝转发含未信任的目标地址的邮件。
(4)broken_sasl_auth_clients:表示是否兼容非标准的SMTP认证。有一些Microsoft的SMTP客户端采用非标准的SMTP认证协议,只需将该参数设置为yes就可解决这类不兼容问题。
(5)smtpd_client_restrictions:表示限制可以向Postfix发起SMTP连接的客户端。如果要禁止未经过认证的客户端向Postfix发起SMTP连接,则可将该参数值设置为permit_sasl_authenticated。
(6)smtpd_sasl_security_options:用来限制某些登录的方式。如果将该参数值设置为noanonymous,则表示禁止采用匿名登录方式。
在完成上述设置后,必须使用
/etc/init.d/postfix reload
重新载入配置文件,或使用
/etc/init.d/postfix restart
重新启动Postfix服务,以使该配置生效。这两个命令的具体使用需要根据不同的Linux版本来选用。

此外,由于当Postfix要使用SMTP认证时,会读取/usr/lib/sasl2/smtpd.conf文件中的内容,以确定所采用的认证方式,因此如果要使用saslauthd这个守护进程来进行密码认证,就必须确保/usr/lib/sasl2/smtpd.conf文件中的内容为:
pwcheck_method: saslauthd

Linux Postfix 邮件服务器搭建详解 Postfix种广泛使用的开源邮件传输代理(MTA),由 Wietse Venema 开发,旨在提供高效、稳定且易于管理的邮件服务。它以其出色的性能、灵活性和安全性而受到青睐,适用于从小型企业到大型组织的邮件服务器搭建。 阅读详情

相关推荐

Postfix部署邮件服务器

Postfix部署邮件服务器 环境 hostname ip server 192.168.220.138 1、常见的电子邮件协议 ( 1 ) SMTP:主要负责将邮件在网络上的主机之间传输。 ( 2 )POP(Post Office Protocol,邮局协议)。负责把邮件从邮件服务器上的电子邮箱中传输到本地邮件客户端。 ( 3 )IMAP:POP3的种替代协议。POP3是...

DoloresOOO的博客 1153

你的Postfix邮件服务器安全么?

Postfix是Linux上常用的邮件服务器。本文对Postfix邮件服务器的参数进行了简述,并着重介绍了配置过程中需要注意的安全事项。 原文请见:http://os.51cto.com/art/201103/247862.htm   快速配置Postfix邮件服务器 Postfix最被人称道的地方就在于其配置文件的可读性很高。Postfix的主配置文件是/etc/postfix/ma...

weixin_34352449的博客 422

Postfix邮件服务器上部署SSL证书

Postfix邮件服务器上部署SSL证书 # 前提条件 # 如何部署 # 配置文件 # 启动SMTPS服务 # 重启Postfix服务器 # 更多信息 Postfix款基于sendmail改良而产生的,用于邮件传输代理(MTA)的电子邮件服务器。本文详细描述如何在Postfix邮件服务器上部署和使用SSL证书。 前提条件 确保已经获取数字证书。有关获取数字证书方法,可参阅如...

chasonli666的博客 2191

Postfix SASL身份验证

<br />基本的smtp协议没有验证用户身份的能力。虽然信封上的寄件人地址已经隐含了发信者的身份,然而,<br />由于信封地址实在太容易假造,所以不能当成身份凭据。为了判断客户端是否有权使用转发服务(relay),服务器端必须确认客户端(寄件人)是否当真是对方所自称的那个人。在不能以寄件人地址为身份证书的前提下,smtp势必需要其他补充机制,才能验证客户端的身份。<br /><br />从postfix的角度看,它需要扮演两种角色:当它身为smtp server时,需要能够验证用户个人的身份(让他们能使

zhangxinrun的专栏 1万+

Postfix[安装与配置、smtp认证、Python发送邮件以及防垃圾邮件方法、使用腾讯云邮件服务]

Debian 11。

黑日里不灭的light 7366

配置SMTP发信认证

5.配置SMTP发信认证 问题 沿用练习、二、三,根据现有的Postfix服务配置,基本上任何人都可以连接到邮件服务器,随意提交电子邮件。为了提高邮件系统的安全性、减少垃圾邮件,本案例要求针对SMTP发信功能开启认证限制。 需要完成的配置任务如下: 1)启用saslauthd 认证服务 2)调整postfix 服务配置,添加相关认证设置 3)测试SMTP发信认证 方案 RHEL6系统自带了S...

Linux的成长历程 3001

带smtp认证的postfix配置

环境:RedHat Linux+Postfix+Cyrus-sasl+Dovecot+Stunnel 在安装Linux时,如果选择全部安装的话,Postfix与Dovecot以及Stunnel将会自动给予安装上去,查看是否已安装,可以执行如下命令: rpm –qa | grep postfix或dovecot或stunnel 如果没有的话,请直接在光盘里找出来,并给予安装。这里以

寒风问雪的专栏 8572

Ice:macOS 菜单栏管理工具,拖拽排序 + 隐藏图标,3 分钟告别杂乱

你在几十个图标里翻了三四遍才找到蓝牙,最后还是顺手点开了 Wi-Fi——这种"翻找感",就是菜单栏太挤的信号。Ice 是个 macOS 菜单栏管理工具,专门帮你把不常用的图标收起来、把常用的拖到顺手的位置,顶部空间立刻清爽。 它干的活儿很直接:图标堆得满的时候,点下菜单栏空白,藏着的整排会滑出来;想换顺序,按住图标直接拖,不用翻任何菜单。3 秒看懂它的主交互——拖拽重排: [![Ice 菜单

gitblog_00467的博客 180

项目十 配置与应用电子邮件服务(任务 搭建postfix邮件服务器

【任务说明】Postfix种电子邮件服务器,它是由任职于IBM华生研究中心(T.J. Watson Research Center)的荷兰籍研究员Wietse Venema为了改良sendmail邮件服务器而产生的。最早在1990年代晚期出现,是个开放源代码的软件,postfix想要作用的范围是广大的Internet用户,试图影响大多数的Internet上的电子邮件系统,因此它是免费的。p...

TX_38381516129的博客 1326

Linux之postfix邮件服务器搭建

postfix简介   Postfix种电子邮件服务器,它是由任职于IBM华生研究中心,为了改良sendmail邮件服务器而产生的。最早在1990年代晚期出现,是个开放源代码的软件。postfix的官网http://www.postfix.org,postfix的特点如下: postfix是免费的: postfix想要作用的范围是广大的Internet用户,试图影响大多数的Internet上的电子邮件系统,因此它是免费的。 更快: postfix在性能上大约比sendmail快三倍。部运行po

月生的静心苑 1万+

在Linux中搭建Postfix邮件服务器的完整指南

Postfix个开放源代码的邮件传输代理(MTA),被设计为快速、安全并且易于设定。它被广泛地应用在各种Unix-like操作系统上,包括Linux。Postfix的设计目标之是提供比其它MTA更好的安全性,同时保持较高的邮件处理能力。在本章中,我们将深入了解Postfix的基本概念和工作原理,为构建个可靠的邮件系统打下坚实的基础。邮件传输代理(Mail Transfer Agent,简称MTA)是邮件系统的核心组件,负责接收、路由、转发和递送邮件。

weixin_32836713的博客 2270

Linux搭建Postfix邮件服务器

章:实验环境和目标 1.实验环境 Vm虚拟机安装CentOs7系统 CentOs7的IP地址:192.168.81.133 Win7客户端(测试用),有Xshell或者SecureCRT工具 2.目标: CentOs7下搭建Postfix邮件服务器,配置域名服务远程登录访问,新建用个测试用户(sent,recv),两个用户用telnet命令登录邮件服务器,实现两个用户的邮件互发,...

淮城一只猫 8273

邮件服务器Postfix

邮件服务器的功能与工作原理 电子邮件的问题 Mail server与DNS 之间的关系 邮件传输所需要的组件(MTA、MUA、MDA)以及相关协议 用户收信时服务器端所提供的相关协议:MRA 电子邮件的数据内容 使用Postfix与Dovecot部署邮件系统 部署基础的电子邮件系统 配置Postfix服务程序 配置Dovecot服务程序 Winodws邮件客户端 Linux邮件客户端

不知道 2132

Linux搭建邮件服务器postfix

服务简介 postfix是Wietse Venema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件。postfix是Wietse Venema想要为使用最广泛的sendmail提供替代品的个尝试。在Internet世界中,大部分的电子邮件都是通过sendmail来投递的,大约有100万用户使用sendmail,每天投递上亿封邮件。这真是个让人吃惊的数字。Postfix试图更快、更容易管理、更安全,同时还与sendmail保持足够的兼容性。 邮件服务器也采用的是C/S工作模式,通过SMTP,PO

qq_34267076的博客 7674

三十、【Linux邮件服务器】搭建Postfix邮件服务器

本文介绍了Postfix+Dovecot邮件服务器的完整搭建流程。主要内容包括:1)邮件服务架构中SMTP、IMAP和POP3协议的分工与特点对比;2)Postfix的安装配置,重点说明域名设置、网络访问控制和SASL认证;3)Dovecot的配置方法,涵盖协议启用、存储路径和认证机制;4)TLS加密通信的实现步骤;5)测试用户创建及邮件收发验证。通过详细的命令行操作和配置文件示例,指导读者从零开始搭建个支持加密通信的基础邮件系统,适用于内网环境或测试场景。

信创运维工程师 · 银河麒麟 & 容器实战 | 金融生产环境迁移·等保加固 | 142篇原创·17万+阅读 1183

postfix邮件服务器)说明与postconfig命令详解

Postfix是Wietse Venema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件。是为了改良sendmail邮件服务器而产生的。其特点:postfix是免费的:postfix想要作用的范围是广大的Internet用户,试图影响大多数的Internet上的电子邮件系统,因此它是免费的。更快:postfix在性能上大约比sendmail快三倍。部运行postfix的台式PC每天可以收发上百万封邮件。

2401_84046876的博客 3600

Ubuntu18 用postfix搭建邮件服务器步骤和坑

1、首先设置hostname 事先设置好hostname的话,Postfix可以自动配置好很多参数,节省时间。我们要假设的网站域名为ABC.com,要搭建独立的邮件服务器,就把主机名设置为mail.ABC.com。 输入下面的命令查看当前的主机名。 hostname -f 设置主机名为mail.ABC.com(永久) hostnamectl --static set-...

cpu0606的博客 1万+

使用Postfix+Dovecot+数据库+Web界面搭建邮件服务器详细指南

本文详细介绍了如何基于Postfix+Dovecot+数据库+Web界面搭建完整的邮件服务器系统。主要内容包括:服务器前提条件(固定IP、域名等)、基础环境配置(Ubuntu/CentOS软件安装)、MariaDB数据库设置(用户表结构设计)、Postfix邮件传输代理配置(含SSL证书)、Dovecot邮件交付代理配置、Roundcube Web邮件界面部署,以及关键的DNS记录设置(MX、SPF、DMARC、DKIM)。文章还提供了安全加固建议,确保邮件服务器在功能完善的同时具备足够的安全性。整个过程涉

yweng18的博客 1954
上一篇: 一个不错的postfix防垃圾攻击配置
下一篇: win7 64位安装vs2010不成功的解决办法
mal327
博客等级 码龄17年 155粉丝 87原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值