阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Postfix实现Exchange 邮件传输的的冗余解决方案

503次阅读
没有评论

共计 6039 个字符,预计需要花费 16 分钟才能阅读完成。

由于公司 Exchange 环境的邮件过滤的硬件设备存在单点故障又不想再花更多的费用去做这方面的投资,所以想通过 Postfix 工具实现一个冗余的方案。

postfix 是 Wietse Venema 在 IBM 的 GPL 协议之下开发的 MTA(邮件传输代理)软件,是 linux 世界的一个开源的邮件传输代理工具,通过一些组件可以实现反垃圾邮件和防病毒的功能。

相关组件:

postfix+clamd+spamassassin+amavisd-new

clamd 反病毒引擎

spamassassin 反垃圾邮件

amavisd-new 是邮件代理服务器 (MTA) 和防毒软件之间的中介软件

基本原理:

Postfix 实现 Exchange 邮件传输的的冗余解决方案

第一步:postfix 接收邮件

postfix,通过 25 端口,接受所有的邮件,这个步骤,是很好理解。

第二步:把邮件交给 amavisd-new

在 Linux 的邮件系统里,amavisd-new 的非常关键啊。可以这样理解,postfix,的所有额外的功能,都需要通过他才能实现。

从上面的这个图片,我们就可以看到,postfix,把邮件接收下来后,交给 amavisd-new,让他想办法,解决杀毒,垃圾邮件过滤的问题。

交给杀毒软件

通过 clamd,linux 的杀毒软件,检查邮件是否带病毒。

交给 SpamAssassin

通过他来实现垃圾邮件的过滤。

第三步:amavisd-new 通过 10025 端口还给 postfix

当所有的工作完成后,交给 postfx,postfix 在传递给 exchange

安装的整个过程

主要参考文档

#、配置 clamav

操作系统版本 CentOS 6.3

1 配置 dns vim /etc/resolv.conf

添加一个能够解析的局域网 DNSIP

2 配置 hosts vim /etc/hosts

使其能解析自己

比如 1.1.1.1 postfix.contoso.com

一 安装配置 Postfix 使其能完成基本的邮件收发

1 修改相关配置文件

vim /etc/postfix/main.cf:

Postfix 实现 Exchange 邮件传输的的冗余解决方案

2 vim /etc/postfix/transport, 在配置文件的末尾添加以下内容。

Postfix 实现 Exchange 邮件传输的的冗余解决方案

3 vim /etc/postfix/master.cf 基本保持默认文件的原来的内容

Postfix 实现 Exchange 邮件传输的的冗余解决方案

4 执行以下命令使 transport 生效

postmap transport

5 启动服务:

Postfix 实现 Exchange 邮件传输的的冗余解决方案

6 查看相关端口:

Postfix 实现 Exchange 邮件传输的的冗余解决方案

7 利用 powershell send-mailmessage 测试一下发送邮件,10.7.2.53 就是本台 postfix 服务器:

Postfix 实现 Exchange 邮件传输的的冗余解决方案

8 发现客户端已经可以收到了

Postfix 实现 Exchange 邮件传输的的冗余解决方案

 

Postfix 的详细介绍:请点这里
Postfix 的下载地址:请点这里

相关阅读:

CentOS 6.4 下 Postfix 邮件服务安装和基本配置 http://www.linuxidc.com/Linux/2013-08/88977.htm

CentOS 5.5 下邮件服务器 Postfix 安装 http://www.linuxidc.com/Linux/2012-05/60010.htm

搭建 Red Hat Enterprise Linux 5.4 的 Postfix 邮件服务器 http://www.linuxidc.com/Linux/2012-12/77167.htm

Linux 下架构安全邮件服务器之 Postfix(认证)http://www.linuxidc.com/Linux/2012-09/70527.htm

二 添加相关的病毒过滤组件和反垃圾邮件组件

创建相关的账户:

添加 ClamAV 运行所需的组和用户:
groupadd clamav
useradd -g clamav -s /sbin/nologin -M clamav
添加配合 amavisd-new 使用的用户 amavis(我们这次是 yum 安装默认会创建)
groupadd amavis
useradd -g amavis -s /sbin/nologin -M amavis

 

本次组件的安装为了方便主要使用 yum 安装也可以使用源码安装。

1 安装 Clamd(版本 0.98.1)

yum install clamd(yum 安装会自动创建 clam 组和账户这个需要后边更改一下

发现默认的源没有相关的软件

Postfix 实现 Exchange 邮件传输的的冗余解决方案

我们需要将其他服务器的 /etc/yum.repos.d 目录下面的源文件拷贝到这台服务器上

Postfix 实现 Exchange 邮件传输的的冗余解决方案

到 postfix 服务器上查看已经有了相关的文件,并执行 yum makecache 使其生效

Postfix 实现 Exchange 邮件传输的的冗余解决方案

再次执行 yum install clamd 的时候虽然有了相关组件但又发现了错误

Postfix 实现 Exchange 邮件传输的的冗余解决方案

需要更改 /etc/yum.repos.d/epel.repo 中的以下内容

Postfix 实现 Exchange 邮件传输的的冗余解决方案

再运行 yum makecache 然后再运行 yum install clamd 发现已经可以安装了

Postfix 实现 Exchange 邮件传输的的冗余解决方案

启动服务 service clamd start,会有病毒库过期的提示:

Postfix 实现 Exchange 邮件传输的的冗余解决方案

使用 freshclam 更新一下病毒库,重启一下 clamd 服务已经正常了:

Postfix 实现 Exchange 邮件传输的的冗余解决方案

 

 

修改配置文件内容,/etc/clamd.conf 因为默认的用户是 clam 我们需要改为 amavis

默认的用户:

Postfix 实现 Exchange 邮件传输的的冗余解决方案

修改完的用户:

Postfix 实现 Exchange 邮件传输的的冗余解决方案

重启服务失败:

Postfix 实现 Exchange 邮件传输的的冗余解决方案

原来是目录权限的问题:

Postfix 实现 Exchange 邮件传输的的冗余解决方案

修改目录权限:

Postfix 实现 Exchange 邮件传输的的冗余解决方案

删除 /var/log/clamav 目录线面的这两个文件:

Postfix 实现 Exchange 邮件传输的的冗余解决方案

再起重启服务,还是有问题:

Postfix 实现 Exchange 邮件传输的的冗余解决方案

目录权限问题:

Postfix 实现 Exchange 邮件传输的的冗余解决方案

Postfix 实现 Exchange 邮件传输的的冗余解决方案

重启服务成功:

Postfix 实现 Exchange 邮件传输的的冗余解决方案

 

修改病毒库更新的配置文件

先检查配置文件 /etc/freshclam.conf

默认账户:

Postfix 实现 Exchange 邮件传输的的冗余解决方案

更新后的账户

Postfix 实现 Exchange 邮件传输的的冗余解决方案

配置文件更改完以后会出现病毒库更新错误

Postfix 实现 Exchange 邮件传输的的冗余解决方案

还是权限的问题需要修改权限至下面的截图:

Postfix 实现 Exchange 邮件传输的的冗余解决方案

更新成功:

Postfix 实现 Exchange 邮件传输的的冗余解决方案

2 安装spamassassin(版本 3.3.1)

yum install spamassassin 这个是正常的。

Postfix 实现 Exchange 邮件传输的的冗余解决方案

修改配置文件 /etc/mail/spamassassin/local.cf

required_score 5.0
rewrite_header Subject *****SPAM*****
report_safe 1
use_bayes 1
bayes_auto_learn 1
skip_rbl_checks 1
use_razor2 0
use_pyzor 0
ok_locales all

Postfix 实现 Exchange 邮件传输的的冗余解决方案

启动服务:

Postfix 实现 Exchange 邮件传输的的冗余解决方案

3 安装 amavisd-new(版本 2.8.0)

yum install amavisd-new 一切顺利

Postfix 实现 Exchange 邮件传输的的冗余解决方案

设置相关目录权限:
将 clamav 加到 amavis 运行组里,并调整目录权限,否则 clamav 将无法扫描 amavisd-new 产生的临时文件

# gpasswd -a clamav amavis
# usermod -G amavis clamav
# chown amavis.amavis /var/spool/amavisd
# chmod 750 /var/spool/amavisd
# chown amavis.amavis /var/spool/amavisd/tmp
# chmod 750 /var/spool/amavisd/tmp

Postfix 实现 Exchange 邮件传输的的冗余解决方案

 

修改相关的配置文件 /etc/amavisd/amavisd.conf 内容。

$daemon_user = ‘amavis’;#yum 安装的时候会自动创建账户 $daemon_group = ‘amavis’;#yum 安装的时候会自动创建组和账户
$mydomain = ‘contoso.com’; #此处是你的 Exchange 或者其它邮件系统的邮件域

Postfix 实现 Exchange 邮件传输的的冗余解决方案

 

$virus_admin = “postmaster\@$mydomain”;
$mailfrom_notify_admin = “postmaster\@$mydomain”;
$mailfrom_notify_recip = “postmaster\@$mydomain”;
$mailfrom_notify_spamadmin = “postmaster\@$mydomain”;
$mailfrom_to_quarantine = ”;

Postfix 实现 Exchange 邮件传输的的冗余解决方案

virus_admin_maps => [“postmaster\@$mydomain”] (指定报告病毒和垃圾邮件时发送系统邮件的用户身份)
spam_admin_maps => [“postmaster\@$mydomain”]

Postfix 实现 Exchange 邮件传输的的冗余解决方案

取消以下内容的注释并修改相关内容。

Postfix 实现 Exchange 邮件传输的的冗余解决方案

 

将配置文件中的以下内容修改成以下内容
[‘ClamAV-clamd’,
\&ask_daemon, [“CONTSCAN {}\n”, “/var/run/clamav/clamd.sock”],
qr/\bOK$/m, qr/\bFOUND$/m,
qr/^.*?: (?!Infected Archive)(.*) FOUND$/m ],

这是默认的配置文件。

Postfix 实现 Exchange 邮件传输的的冗余解决方案

Postfix 实现 Exchange 邮件传输的的冗余解决方案

启动服务,正常。

service amavisd start

Image(6)

由于公司 Exchange 环境的邮件过滤的硬件设备存在单点故障又不想再花更多的费用去做这方面的投资,所以想通过 Postfix 工具实现一个冗余的方案。

postfix 是 Wietse Venema 在 IBM 的 GPL 协议之下开发的 MTA(邮件传输代理)软件,是 linux 世界的一个开源的邮件传输代理工具,通过一些组件可以实现反垃圾邮件和防病毒的功能。

相关组件:

postfix+clamd+spamassassin+amavisd-new

clamd 反病毒引擎

spamassassin 反垃圾邮件

amavisd-new 是邮件代理服务器 (MTA) 和防毒软件之间的中介软件

基本原理:

Postfix 实现 Exchange 邮件传输的的冗余解决方案

第一步:postfix 接收邮件

postfix,通过 25 端口,接受所有的邮件,这个步骤,是很好理解。

第二步:把邮件交给 amavisd-new

在 Linux 的邮件系统里,amavisd-new 的非常关键啊。可以这样理解,postfix,的所有额外的功能,都需要通过他才能实现。

从上面的这个图片,我们就可以看到,postfix,把邮件接收下来后,交给 amavisd-new,让他想办法,解决杀毒,垃圾邮件过滤的问题。

交给杀毒软件

通过 clamd,linux 的杀毒软件,检查邮件是否带病毒。

交给 SpamAssassin

通过他来实现垃圾邮件的过滤。

第三步:amavisd-new 通过 10025 端口还给 postfix

当所有的工作完成后,交给 postfx,postfix 在传递给 exchange

安装的整个过程

主要参考文档

#、配置 clamav

操作系统版本 CentOS 6.3

1 配置 dns vim /etc/resolv.conf

添加一个能够解析的局域网 DNSIP

2 配置 hosts vim /etc/hosts

使其能解析自己

比如 1.1.1.1 postfix.contoso.com

一 安装配置 Postfix 使其能完成基本的邮件收发

1 修改相关配置文件

vim /etc/postfix/main.cf:

Postfix 实现 Exchange 邮件传输的的冗余解决方案

2 vim /etc/postfix/transport, 在配置文件的末尾添加以下内容。

Postfix 实现 Exchange 邮件传输的的冗余解决方案

3 vim /etc/postfix/master.cf 基本保持默认文件的原来的内容

Postfix 实现 Exchange 邮件传输的的冗余解决方案

4 执行以下命令使 transport 生效

postmap transport

5 启动服务:

Postfix 实现 Exchange 邮件传输的的冗余解决方案

6 查看相关端口:

Postfix 实现 Exchange 邮件传输的的冗余解决方案

7 利用 powershell send-mailmessage 测试一下发送邮件,10.7.2.53 就是本台 postfix 服务器:

Postfix 实现 Exchange 邮件传输的的冗余解决方案

8 发现客户端已经可以收到了

Postfix 实现 Exchange 邮件传输的的冗余解决方案

 

Postfix 的详细介绍:请点这里
Postfix 的下载地址:请点这里

相关阅读:

CentOS 6.4 下 Postfix 邮件服务安装和基本配置 http://www.linuxidc.com/Linux/2013-08/88977.htm

CentOS 5.5 下邮件服务器 Postfix 安装 http://www.linuxidc.com/Linux/2012-05/60010.htm

搭建 Red Hat Enterprise Linux 5.4 的 Postfix 邮件服务器 http://www.linuxidc.com/Linux/2012-12/77167.htm

Linux 下架构安全邮件服务器之 Postfix(认证)http://www.linuxidc.com/Linux/2012-09/70527.htm

三 所有组件安装完毕需要将所有的组件与 postfix 关联

修改 /etc/postfix/master.cf 添加以下内容

smtp-amavis unix – – n – 2 smtp
-o smtp_data-done_timeout=1200
-o disable_dns_lookup=yes
# 符号前面有一个空格用于连续下面的内容
127.0.0.1:10025 inet n – n – – smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o strict_rfc821_envelopes=yes

Postfix 实现 Exchange 邮件传输的的冗余解决方案

修改 /etc/postfix/main.cf 添加以下内容:

content_filter=amavisfeed:[127.0.0.1]:10024

Postfix 实现 Exchange 邮件传输的的冗余解决方案

重启一下服务,相关的端口已经启动:

Postfix 实现 Exchange 邮件传输的的冗余解决方案

我们将相关的服务设置为开机启动:

Postfix 实现 Exchange 邮件传输的的冗余解决方案

 

四 相关的一些测试:

1 我们先发送一份正常的邮件:

Postfix 实现 Exchange 邮件传输的的冗余解决方案

查看相关的日志,没有检测到病毒。邮件已经传送成功:

Postfix 实现 Exchange 邮件传输的的冗余解决方案

2 我们发送一份带病毒的邮件。

Postfix 实现 Exchange 邮件传输的的冗余解决方案

查看一下日志发现被隔离了。

Postfix 实现 Exchange 邮件传输的的冗余解决方案

然后会产生一封退信:

Postfix 实现 Exchange 邮件传输的的冗余解决方案

说明病毒过滤成功了。

 

3 测试反垃圾邮件功能.

# telnet localhost 25
Trying 127.0.0.1…
Connected to localhost.localdomain (127.0.0.1).
Escape character is ‘^]’.
220 xt.contoso.com ESMTP Postfix
ehlo localhost // 打招呼
250-xt.contoso.com
250-PIPELINING
250-SIZE 10240000
250-ETRN
250-AUTH DIGEST-MD5 CRAM-MD5 LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
mail from:<xiaosong.li1@contoso.com > // 发件人
250 2.1.0 Ok
rcpt to:<xiaosong.li1@contoso.com// 收件人
250 2.1.5 Ok
data // 邮件内容
354 End data with . // 下面那行为测试内容
Subject: XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X
. // 以. 结束邮件内容
250 2.0.0 Ok: queued as BC24E85260
quit // 退出
221 2.0.0 Bye
Connection closed by foreign host.

发送方出现了退信

Postfix 实现 Exchange 邮件传输的的冗余解决方案

整个方案测试成功

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计6039字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19350
评论数
4
阅读量
7959178
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定! 前言 作为 NAS 玩家,你是否总被这些...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
CSDN,你是老太太喝粥——无齿下流!

CSDN,你是老太太喝粥——无齿下流!

CSDN,你是老太太喝粥——无齿下流! 大家好,我是星哥,今天才思枯竭,不写技术文章了!来吐槽一下 CSDN。...
免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

  免费无广告!这款跨平台 AI RSS 阅读器,拯救你的信息焦虑 在算法推荐主导信息流的时代,我们...
如何免费使用强大的Nano Banana Pro?附赠邪修的用法

如何免费使用强大的Nano Banana Pro?附赠邪修的用法

如何免费使用强大的 Nano Banana Pro?附赠邪修的用法 前言 大家好,我是星哥,今天来介绍谷歌的 ...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛 NAS-14:解锁公网自由!Lucky 功能工具安装使用保姆级教程 作为 NAS 玩家,咱们最...
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸 前言 作为天天跟架构图、拓扑图死磕的...
零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face 免费服务器 +Docker 快速部署 HertzBeat 监控平台 ...
小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比 星哥玩云,带你从小白到上云高手。今天咱们就来聊聊——什...
星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛 NAS-11:咪咕视频订阅部署全攻略 前言 在家庭影音系统里,NAS 不仅是存储中心,更是内容...