我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Linux下如何安装Postfix邮件认证配置

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Linux下如何安装Postfix邮件认证配置

小编给大家分享一下Linux下如何安装Postfix邮件认证配置,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

Postfix+Dovecot+Sasl工作原理

A用户使用MUA客户端借助smtp协议登陆smtpd服务器,需要先进行用户和密码认证,而SMTPD服务器端支持sasl认证,例如有一个sasl客户端,就会去连接SASL。当SASL接受到验证请求时就会根据验证方式去进行验证,常用的有PAM,passwd等。验证成功后就会返回给Smtpd服务器。而smtpd就会允许A用户登陆发送邮件。

Smtpd服务器接受到邮件转发请求后,查看邮件是本域的还是外部域的,如果是本域内的用户,就会开启MDA进程并进行邮件投递到用户的邮箱。

B用户使用MUA客户端借助pop3协议登陆dovecot服务器,需要先进行用户和密码认证,而Dovecot服务器端本身就有sasl认证的功能,而根据设置的认证方式进行用户和密码的认证。认证成功之后用户登录,Dovecot就会用MDR工具去用户邮箱中取回邮件并下载到用户的客户端本地进行查看。

Postfix+SASL进行用户发邮件认证

通过验证配置可以发现,如果想发送邮件给外部(中继邮件)基本配置只能在mynetwork规定的ip范围内使用。这个方式在现实中也是不可行的。互联网上常用的方式是通过账号的认证方式允许中继邮件。但Postfix本身没有认证功能所以只能借助于第三方认证组件SASL来实现。与Postfix配合较好的SASL有:dovecot-SASL和cyrus-SASL,以及courier-authlib这几款组件。各有千秋,使用哪个根据实际选择即可。

①确定cyrus-sasl已安装

[root@localhost ~]# rpm -qa | grep  cyrus-saslcyrus-sasl-gssapi-2.1.23-13.el6_3.1.x86_64cyrus-sasl-plain-2.1.23-13.el6_3.1.x86_64cyrus-sasl-lib-2.1.23-13.el6_3.1.x86_64cyrus-sasl-2.1.23-13.el6_3.1.x86_64cyrus-sasl-md5-2.1.23-13.el6_3.1.x86_64cyrus-sasl-devel-2.1.23-13.el6_3.1.x86_64

②确定Postfix支持sasl认证

[root@localhost ~]# postconf -acyrusdovecot #默认支持cyrus和dovecot这两种认证方式

③Postfix主配置添加以下内容

[root@localhost ~]# vim /etc/postfix/main.cf###################CYRUS-SASL################broken_sasl_auth_clients = yes #定义是否支持像outlook、foxmail等非标准协议认证smtpd_sasl_auth_enable = yes #开启sasl验证用户功能smtpd_sasl_local_domain = $myhostname #用于识别本地主机smtpd_sasl_security_options = noanonymous #不支持匿名用户smtpd_sasl_path = smtpd #指定使用sasl的程序名smtpd_banner = welcome to smtp.ywnds.com #定义telnet连接时显示信息smtpd_client_restrictions = permit_sasl_authenticated #用于限制客户端连接服务器smtpd_sasl_authenticated_header = yes #从头信息查找用户名smtpd_sender_restrictions = permit_mynetworks,reject_sender_login_mismatch #定义发件人规则smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated, reject_invalid_hostname,reject_unauth_destination #定义收件人规则 #permit_mynetworks:允许本地网络 #permit_sasl_authenticated:允许sasl认证过的用户发送邮件 #reject_unauth_destination:拒绝没有经过认证的目标地址(这个一定要放在最后) #reject_invalid_hostname:HELO命令中的主机名称无效时返回501 #reject_non_fqdn_hostname:HELO命令中的主机名称不是FQDN形式则返回504 #reject_non_fqdn_recipient:收件地址不是FQDN则返回504 #reject_non_fqdn_sender:发件地址不是FQDN则返回504 #reject_unauth_pipelining:拒绝不守规定的流水线操作 #reject_unknown_client:DNS查不出客户端IP的PTR记录时拒绝 #reject_unknown_hostname:HELO命令中的主机名称没有A和MX记录时拒绝 #reject_unknown_recipient_domain:收件人地址的网域部分查不出有效的A或MX记录时拒绝 #reject_unknown_sender_domain:发件人地址的网域部分查不出有效的A或MX记录时拒绝

④查看SASL支持哪些认证机制

[root@localhost ~]# saslauthd -vsaslauthd 2.1.23authentication mechanisms: getpwent kerberos5 pam rimap shadow ldap

⑤Postfix开启基于SASL用户认证

这里介绍2种认证方式,saslauthd和auxprop,一个是使用系统的账号来做认证,一个使用外部的账户来做认证,对于安全性来说,当然是使用外部的账号更安全了,这里介绍的使用sasldb2数据库,mysql的方式暂不介绍。2种方式人选其一即可。Saslauthd[root@localhost ~]# vim /usr/lib64/sasl2/smtpd.confpwcheck_method: saslauthdmech_list: PLAIN LOGIN#登录方式Auxprop[root@localhost ~]# vim /usr/lib64/sasl2/smtpd.confpwcheck_method: auxpropauxprop_plugin: sasldbmech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5 NTLM#登录方式

⑥SASL配置文件/etc/sysconfig/saslauthd

SASL只是个认证框架,实现认证的是认证模块,而pam是sasl默认使用的认证模块。如果使用shadow做认证的话直接修改就可以不需要做其他任何配置了。Saslauthd[root@localhost ~]# vim /etc/sysconfig/saslauthdSOCKETDIR=/var/run/saslauthd#MECK= pamMECK = shadowAuxprop[root@localhost ~]# vi /etc/sysconfig/saslauthd#MECH=FLAGS=sasldb[root@localhost ~]# saslpasswd2 -c -u 'ywnds.com' redis #执行之后输入2次密码就可以了[root@localhost ~]# sasldblistusers2 #查看添加的用户[root@localhost ~]# saslpasswd2 -d redis@ywnds.com #删除用户[root@localhost ~]# chown postfix:postfix /etc/sasldb2[root@localhost ~]# chmod 640 /etc/sasldb2 #数据库权限修改

⑦重启服务

[root@localhost ~]# /usr/sbin/postfix reload[root@localhost ~]# service saslauthd restart[root@localhost ~]# chkconfig saslauthd on测试账号[root@localhost ~]# testsaslauthd -u hadoop -p hadoop0: OK “Success”

SMTP认证指令

Linux下如何安装Postfix邮件认证配置

Postfix内部邮件过滤

除了在上面配置文件中使用的一些过滤指令外,管理员也可以使用访问表(access map)来自定义限制条件,自定义访问表的条件通常使用check_client_access, check_helo_access, check_sender_access, check_recipient_access进行,它们后面通常跟上type:mapname格式的访问表类型和名称。其中,check_sender_access和check_recipient_access用来检查客户端提供的邮件地址,因此,其访问表中可以使用完整的邮件地址,如admin@magedu.com;也可以只使用域名,如magedu.com;还可以只有用户名的部分,如marion@

案例

这里以禁止172.16.100.66这台主机通过工作在172.16.100.1上的postfix服务发送邮件为例演示说明其实现过程。访问表使用hash的格式

(1)首先编辑/etc/postfix/access文件,以之做为客户端检查的控制文件,在里面定义如下一行:172.16.100.66          REJECT(2)将此文件转换为hash格式产生一个access.db文件postmap /etc/postfix/access(3)配置postfix使用此文件对客户端进行检查编辑/etc/postfix/main.cf文件添加如下参数:smtpd_client_restrictions = check_client_access hash:/etc/postfix/access(4)让postfix重新载入配置文件即可进行发信控制的效果测试了

这里以禁止通过本服务器向microsoft.com域发送邮件为例演示其实现过程访问表使用hash的格式

(1)首先建立/etc/postfix/denydstdomains文件(文件名任取)在里面定义如下一行:microsoft.com          REJECT(2)将此文件转换为hash格式postmap /etc/postfix/denydstdomains(3)配置postfix使用此文件对客户端进行检查编辑/etc/postfix/main.cf文件添加如下参数:smtpd_recipient_restrictions = check_recipient_access hash:/etc/postfix/denydstdomains, permit_mynetworks, reject_unauth_destination(4)让postfix重新载入配置文件即可进行发信控制的效果测试了

以上是“Linux下如何安装Postfix邮件认证配置”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Linux下如何安装Postfix邮件认证配置

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Linux下如何安装Postfix邮件认证配置

小编给大家分享一下Linux下如何安装Postfix邮件认证配置,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Postfix+Dovecot+Sasl工作原理1.
2023-06-27

Linux下如何安装Postfix邮件WebMail配置

这篇文章给大家分享的是有关Linux下如何安装Postfix邮件WebMail配置的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。ExtmailExtmail 是一个以perl语言编写,面向大容量/ISP级应用,免
2023-06-27

Linux下如何安装Postfix邮件

这篇文章主要介绍Linux下如何安装Postfix邮件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!本套邮件系统的搭建,从如何发邮件到收邮件到认证到虚拟用户虚拟域以及反病毒和反垃圾邮件等都有详细的介绍。在搭建过程中必
2023-06-27

Linux中如何配置Postfix邮件发送

今天小编给大家分享一下Linux中如何配置Postfix邮件发送的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。部署DNS服务
2023-06-28

Linux系统下怎么安装和配置postfix邮件服务器

本篇内容介绍了“Linux系统下怎么安装和配置postfix邮件服务器”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一,安装postfix,
2023-06-12

Linux下如何安装Postfix使用maildrop投递邮件

这篇文章主要介绍了Linux下如何安装Postfix使用maildrop投递邮件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Postfix使用maildrop投递邮件Mai
2023-06-27

如何在CentOS 8上安装和配置Postfix邮件服务器

如何在CentOS 8上安装和配置Postfix邮件服务器,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Postfix是一个开源的电子邮件服务器,。Postfi
2023-06-28

Linux下如何安装Postfix邮件虚拟用户及虚拟域

小编给大家分享一下Linux下如何安装Postfix邮件虚拟用户及虚拟域,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Postfix基于虚拟用户虚拟域的邮件架构上
2023-06-27

Linux下Postfix邮件如何实现基于SSL收发邮件

这篇文章将为大家详细讲解有关Linux下Postfix邮件如何实现基于SSL收发邮件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。其中在整个一套邮件服务器中,默认信息传输都是明文传输的,所以这个在安全性上
2023-06-27

怎么在Linux中安装配置Postfix来搭建邮件发送服务

这篇文章主要介绍“怎么在Linux中安装配置Postfix来搭建邮件发送服务”,在日常操作中,相信很多人在怎么在Linux中安装配置Postfix来搭建邮件发送服务问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答
2023-06-12

如何在CentOS8上安装和配置Postfix邮件服务器的方法示例

Postfix 是一个自由开源的 MTA(邮件传输代理),用于在 linux 系统上路由或传递电子邮件。在本指南中,你将学习如何在 CentOS 8 上安装和配置 Postfix。 实验室设置:系统:CentOS 8 服务器IP 地址:19
2022-06-04

Linux下如何安装配置Typora

这篇文章主要介绍Linux下如何安装配置Typora,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Typora是一款轻便简洁的Markdown编辑器,支持即时渲染技术,这也是与其他Markdown编辑器最显著的区别,
2023-06-28

Linux下Hbase如何安装配置

这篇文章主要介绍Linux下Hbase如何安装配置,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Linux下Hbase安装配置首先要安装HadoopLinux Hadoop 2.7.3 安装搭建1. Hbase安装包
2023-06-21

Linux下如何安装配置Percona

本篇内容主要讲解“Linux下如何安装配置Percona”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux下如何安装配置Percona”吧!Percona Server是一款独立的数据库产
2023-06-27

Linux下如何安装配置composer

这篇文章主要介绍了Linux下如何安装配置composer,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Composer 是 PHP5.3以上 的一个依赖管理工具。它允许你声
2023-06-28

Linux下如何安装配置Twemproxy

这篇文章给大家分享的是有关Linux下如何安装配置Twemproxy的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Twemproxy是一种代理分片机制,由Twitter开源。Twemproxy作为代理,可接受来自
2023-06-28

Linux下MySQL 8.0如何安装配置

这篇文章给大家分享的是有关Linux下MySQL 8.0如何安装配置的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、编译安装MySQL8.0版本信息#cat /etc/redhat-release CentOS
2023-06-15

linux下如何安装和配置jdk1.7

本文小编为大家详细介绍“linux下如何安装和配置jdk1.7”,内容详细,步骤清晰,细节处理妥当,希望这篇“linux下如何安装和配置jdk1.7”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。0)到官网去下在j
2023-06-26

Linux下如何安装和配置Nginx

这篇文章主要为大家展示了“Linux下如何安装和配置Nginx”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux下如何安装和配置Nginx”这篇文章吧。Nginx(“engine x”)是
2023-06-28

编程热搜

目录