日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Postfix实现代理Exchange邮件传输方案

發(fā)布時(shí)間:2025/3/15 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Postfix实现代理Exchange邮件传输方案 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

由于公司Exchange環(huán)境的郵件過(guò)濾的硬件設(shè)備存在單點(diǎn)故障又不想再花更多的費(fèi)用去做這方面的投資,所以想通過(guò)Postfix工具實(shí)現(xiàn)一個(gè)冗余的方案。

postfix是Wietse Venema在IBM的GPL協(xié)議之下開(kāi)發(fā)的MTA(郵件傳輸代理)軟件,是linux世界的一個(gè)開(kāi)源的郵件傳輸代理工具,通過(guò)一些組件可以實(shí)現(xiàn)反垃圾郵件和防病毒的功能。

相關(guān)組件:

postfix+clamd+spamassassin+amavisd-new

clamd 反病毒引擎 ? ?
spamassassin 反垃圾郵件

amavisd-new是郵件代理服務(wù)器(MTA)和防毒軟件之間的中介軟件

基本原理:

第一步:postfix 接收郵件

postfix,通過(guò)25端口,接受所有的郵件,這個(gè)步驟,是很好理解。

第二步:把郵件交給amavisd-new

在Linux的郵件系統(tǒng)里,amavisd-new的非常關(guān)鍵啊??梢赃@樣理解,postfix,的所有額外的功能,都需要通過(guò)他才能實(shí)現(xiàn)。

從上面的這個(gè)圖片,我們就可以看到,postfix,把郵件接收下來(lái)后,交給amavisd-new,讓他想辦法,解決殺毒,垃圾郵件過(guò)濾的問(wèn)題。

交給殺毒軟件

通過(guò)clamd,linux的殺毒軟件,檢查郵件是否帶病毒。

交給SpamAssassin

通過(guò)他來(lái)實(shí)現(xiàn)垃圾郵件的過(guò)濾。

第三步:amavisd-new通過(guò)10025端口還給postfix

當(dāng)所有的工作完成后,交給postfx,postfix在傳遞給exchange

?

安裝的整個(gè)過(guò)程

主要參考文檔

http://blog.linuxphp.org/archives/657/

http://wiki.extmail.org/%E5%8D%81%E4%BA%8C%E3%80%81%E9%85%8D%E7%BD%AE%E5%86%85%E5%AE%B9%E3%80%81%E7%97%85%E6%AF%92%E8%BF%87%E6%BB%A4#、配置clamav

操作系統(tǒng)版本 Centos 6.3

1 配置dns vim /etc/resolv.conf

添加一個(gè)能夠解析的局域網(wǎng)DNSIP

2 配置hosts vim /etc/hosts

使其能解析自己

比如 1.1.1.1 postfix.contoso.com

?

一 安裝配置Postfix使其能完成基本的郵件收發(fā)

1 修改相關(guān)配置文件

vim /etc/postfix/main.cf:

2 vim /etc/postfix/transport,在配置文件的末尾添加以下內(nèi)容。

3 vim /etc/postfix/master.cf 基本保持默認(rèn)文件的原來(lái)的內(nèi)容

4 執(zhí)行以下命令使transport生效

postmap transport

5 啟動(dòng)服務(wù):

6查看相關(guān)端口:

7利用powershell ?send-mailmessage測(cè)試一下發(fā)送郵件,10.7.2.53就是本臺(tái)postfix服務(wù)器:

8發(fā)現(xiàn)客戶(hù)端已經(jīng)可以收到了

二 添加相關(guān)的病毒過(guò)濾組件和反垃圾郵件組件

創(chuàng)建相關(guān)的賬戶(hù):

添加ClamAV運(yùn)行所需的組和用戶(hù): ??
groupadd clamav ? ?
useradd -g clamav -s /sbin/nologin -M clamav ? ?
添加配合amavisd-new使用的用戶(hù)amavis(我們這次是yum安裝默認(rèn)會(huì)創(chuàng)建) ? ?
groupadd amavis ? ?
useradd -g amavis -s /sbin/nologin -M amavis

?

本次組件的安裝為了方便主要使用yum安裝也可以使用源碼安裝。

1 安裝Clamd(版本0.98.1)

yum install clamd (yum安裝會(huì)自動(dòng)創(chuàng)建clam組和賬戶(hù)這個(gè)需要后邊更改一下)

發(fā)現(xiàn)默認(rèn)的源沒(méi)有相關(guān)的軟件

我們需要將其他服務(wù)器的/etc/yum.repos.d目錄下面的源文件拷貝到這臺(tái)服務(wù)器上

到postfix服務(wù)器上查看已經(jīng)有了相關(guān)的文件,并執(zhí)行yum makecache使其生效

再次執(zhí)行yum install clamd的時(shí)候雖然有了相關(guān)組件但又發(fā)現(xiàn)了錯(cuò)誤

需要更改/etc/yum.repos.d/epel.repo中的以下內(nèi)容

再運(yùn)行 yum makecache 然后再運(yùn)行yum install clamd 發(fā)現(xiàn)已經(jīng)可以安裝了

啟動(dòng)服務(wù)service clamd start,會(huì)有病毒庫(kù)過(guò)期的提示:

使用freshclam更新一下病毒庫(kù),重啟一下clamd服務(wù)已經(jīng)正常了:

修改配置文件內(nèi)容,/etc/clamd.conf 因?yàn)槟J(rèn)的用戶(hù)是clam我們需要改為amavis

默認(rèn)的用戶(hù):

修改完的用戶(hù):

重啟服務(wù)失敗:

原來(lái)是目錄權(quán)限的問(wèn)題:

修改目錄權(quán)限:

刪除/var/log/clamav目錄線面的這兩個(gè)文件:

再起重啟服務(wù),還是有問(wèn)題:

目錄權(quán)限問(wèn)題:

重啟服務(wù)成功:

?

修改病毒庫(kù)更新的配置文件

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

默認(rèn)賬戶(hù):

更新后的賬戶(hù)

配置文件更改完以后會(huì)出現(xiàn)病毒庫(kù)更新錯(cuò)誤

還是權(quán)限的問(wèn)題需要修改權(quán)限至下面的截圖:

更新成功:

2 安裝spamassassin(版本3.3.1)

yum install spamassassin 這個(gè)是正常的。

修改配置文件/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

啟動(dòng)服務(wù):

3安裝amavisd-new(版本2.8.0)

yum install amavisd-new 一切順利

設(shè)置相關(guān)目錄權(quán)限: ? ??
將clamav加到amavis運(yùn)行組里,并調(diào)整目錄權(quán)限,否則clamav將無(wú)法掃描amavisd-new產(chǎn)生的臨時(shí)文件

# 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

修改相關(guān)的配置文件/etc/amavisd/amavisd.conf內(nèi)容。

$daemon_user ?= 'amavis';#yum安裝的時(shí)候會(huì)自動(dòng)創(chuàng)建賬戶(hù)$daemon_group = 'amavis';#yum安裝的時(shí)候會(huì)自動(dòng)創(chuàng)建組和賬戶(hù) ??
$mydomain = 'contoso.com'; #此處是你的Exchange或者其它郵件系統(tǒng)的郵件域

$virus_admin ? ? ? ? ? ? ? = "postmaster\@$mydomain"; ??
$mailfrom_notify_admin ? ? = "postmaster\@$mydomain"; ??
$mailfrom_notify_recip ? ? = "postmaster\@$mydomain"; ??
$mailfrom_notify_spamadmin = "postmaster\@$mydomain"; ? ?
$mailfrom_to_quarantine = '';

virus_admin_maps => ["postmaster\@$mydomain"] ? ?(指定報(bào)告病毒和垃圾郵件時(shí)發(fā)送系統(tǒng)郵件的用戶(hù)身份) ??
spam_admin_maps ?=> ["postmaster\@$mydomain"]

取消以下內(nèi)容的注釋并修改相關(guān)內(nèi)容。

將配置文件中的以下內(nèi)容修改成以下內(nèi)容 ??
?['ClamAV-clamd', ? ?
? ?\&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamav/clamd.sock"], ? ?
? ?qr/\bOK$/m, qr/\bFOUND$/m, ? ?
? ?qr/^.*?: (?!Infected Archive)(.*) FOUND$/m ],

這是默認(rèn)的配置文件。

啟動(dòng)服務(wù),正常。

service amavisd start

?

三 所有組件安裝完畢需要將所有的組件與postfix關(guān)聯(lián)

修改/etc/postfix/master.cf 添加以下內(nèi)容

smtp-amavis unix - - n - 2 smtp ??
?-o smtp_data-done_timeout=1200 ? ?
?-o disable_dns_lookup=yes ? ?
#符號(hào)前面有一個(gè)空格用于連續(xù)下面的內(nèi)容 ? ?
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

修改/etc/postfix/main.cf 添加以下內(nèi)容:

content_filter=amavisfeed:[127.0.0.1]:10024

重啟一下服務(wù),相關(guān)的端口已經(jīng)啟動(dòng):

我們將相關(guān)的服務(wù)設(shè)置為開(kāi)機(jī)啟動(dòng):

?

四 相關(guān)的一些測(cè)試:

1我們先發(fā)送一份正常的郵件:

查看相關(guān)的日志,沒(méi)有檢測(cè)到病毒。郵件已經(jīng)傳送成功:

2 我們發(fā)送一份帶病毒的郵件。

查看一下日志發(fā)現(xiàn)被隔離了。

然后會(huì)產(chǎn)生一封退信:

說(shuō)明病毒過(guò)濾成功了。

?

3 測(cè)試反垃圾郵件功能.

# 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?> // 發(fā)件人 ? ?
250 2.1.0 Ok ?
rcpt to:<xiaosong.li1@contoso.com//收件人 ? ?
250 2.1.5 Ok ?
data ? ?//郵件內(nèi)容 ? ?
354 End data with . ? //下面那行為測(cè)試內(nèi)容 ? ?
Subject: XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X ? ?
. ? //以.結(jié)束郵件內(nèi)容 ? ?
250 2.0.0 Ok: queued as BC24E85260 ?
quit //退出 ? ?
221 2.0.0 Bye ?
Connection closed by foreign host.

發(fā)送方出現(xiàn)了退信

整個(gè)方案測(cè)試成功

?

總結(jié)

以上是生活随笔為你收集整理的Postfix实现代理Exchange邮件传输方案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。