之前郵件伺服器全系列中漏發了Postgrey
系統使用CentOS 5.1 郵件伺服器全系列:Postfix+Dovecot+SASL+Procmail+Postgrey+Mailscanner+Spamassassin+ClamAV+Mailscanner-mrtg+MailWatch+Openwebmail+MySPAM
Postgrey就是所謂的灰名單功能,利用垃圾郵件主機大多是"射後不理"的特性,拒絕第一次的連線,待正常郵件伺服器進行再嘗試時,才允許連線並加入白名單。 1.安裝Postgrey yum install postgrey
2.啟動 postgrey service postgrey start chkconfig postgrey on
3.設定 postgrey for postfix 第一種設定方式 vim /etc/postfix/main.cf
smtpd_recipient_restrictions = permit_mynetworks, check_policy_service unix:/var/spool/postfix/postgrey/socket, reject_unauth_destination
第二種設定方式 a.vim /etc/sysconfig/postgrey
OPTIONS="--inet=127.0.0.1:10023 --delay=60"
b.vim /etc/postfix/main.cf
smtpd_recipient_restrictions = permit_mynetworks check_policy_service inet:127.0.0.1:10023 reject_unauth_destination
備註: ◎白名單 vim /etc/postfix/postgrey_whitelist_clients
vim /etc/postfix/postgrey_whitelist_recipients
◎清除記錄 vim /etc/postfix/postgrey_whitelist_recipients
rm /var/spool/postfix/postgrey/*
53 意見:
請問mis先生
我們公司也是CentOS 5.1系統上裝postfix
最近反應垃圾郵件太多
請問有啥最簡易的方式可以解決嗎
因客戶往來信件滿多 希望不要擋到太多客戶信件
因小弟剛接觸postfix 盡請見諒 謝謝
試過POSTGREY了嗎?
很有效的~
是按照您上敘的方式就好了嗎
設定方式只需一二種擇一嗎
那白名單該如果設定呢
不好意思 麻煩您了
安裝時出現
Loading "installonlyn" plugin
Setting up Install Process
Setting up repositories
Reading repository metadata in from local files
Parsing package install arguments
Nothing to do
啟動時出現
postgrey: 服務未能辨識
是安裝哪裡有出現出誤嗎
因為你還沒裝進去~
用YUM安裝POSTGREY需要rpmforge的站台,請參閱
http://i-yow.blogspot.com/2008/07/rpmforgedag-httpdag.html
設定方法擇一即可
白名單設定在
vim /etc/postfix/postgrey_whitelist_clients
在文件入設定DOMAIN NAME即可
不好意思 CentOS 5是屬於Red Hat Linux 9 / i386版本嗎
因為我安裝還是有錯誤訊息
打擾了 拍謝
安裝時出現
Loading "installonlyn" plugin
Setting up Install Process
Setting up repositories
rpmforge 100% |=========================| 1.1 kB 00:00
base 100% |=========================| 1.1 kB 00:00
updates 100% |=========================| 951 B 00:00
addons 100% |=========================| 951 B 00:00
extras 100% |=========================| 1.1 kB 00:00
Reading repository metadata in from local files
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for postgrey to pack into transaction set.
postgrey-1.32-1.rh9.rf.no 100% |=========================| 5.1 kB 00:00
http://ftp-stud.fht-esslingen.de/dag/redhat/9/en/i386/rpmforge/RPMS/postgrey-1.32-1.rh9.rf.noarch.rpm: [Errno -1] Header does not match intended download
Trying other mirror.
postgrey-1.32-1.rh9.rf.no 100% |=========================| 5.1 kB 00:00
http://apt.sw.be/redhat/9/en/i386/rpmforge/RPMS/postgrey-1.32-1.rh9.rf.noarch.rpm: [Errno -1] Header does not match intended download
Trying other mirror.
postgrey-1.32-1.rh9.rf.no 100% |=========================| 5.1 kB 00:00
http://fr2.rpmfind.net/linux/dag/redhat/9/en/i386/rpmforge/RPMS/postgrey-1.32-1.rh9.rf.noarch.rpm: [Errno -1] Header does not match intended download
Trying other mirror.
Error: failure: RPMS/postgrey-1.32-1.rh9.rf.noarch.rpm from rpmforge: [Errno 256] No more mirrors to try.
還是無法安裝成功= =
CENTOS是相容於RHEL的
請安裝
rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
記得先移除裝錯的rpmforge
rpm -e rpmforge-release
感謝 mis先生的指導
已經安裝成功postgrey
設定 postgrey for postfix照第一種設定方式是否只需加入紅色字串
加入後是否需重啟postfix
對~加入紅色字串
增加POSTGREY的驗證即可
需重新啟動
不好意思
沒找到跟您教學一樣的地方
只找到類似如下
smtpd_sasl_auth_enable = yes
smtpd_delay_reject=yes
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated permit_auth_destination reject
smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous
mailbox_size_limit = 0
messages_size_limit = 20000000
我應該加在哪裡呢
拍謝 浪費您那麼多寶貴時間
放在smtpd_recipient_restrictions裡的
permit_mynetworks後
需注意POSTFIX的設定格式
[每個驗證項目前需空格,最後一項不加","]
可參閱
http://i-yow.blogspot.com/2008/07/part-1postfixdovecotsaslprocmail.html
將設定是改成--->
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
check_policy_service unix:/var/spool/postfix/postgrey/socket,
permit_auth_destination,
reject_unauth_destination
注意","跟"空格"
不好意思 mis大大
我修改為
smtpd_sasl_auth_enable = yes
smtpd_delay_reject=yes
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
check_policy_service unix:/var/spool/postfix/postgrey/socket,
permit_auth_destination,
reject_unauth_destinatio
smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous
mailbox_size_limit = 0
messages_size_limit = 20000000
後/etc/init.d/postfix restart都失敗且用webmin 連上postfix組態後出現
當檢查目前Postfix組態設定時發生錯誤,請手動修復Postfix組態設定。
postfix: fatal: /etc/postfix/main.cf, line 666: missing '=' after attribute name: "permit_mynetworks,"
permit_mynetworks,
permit_sasl_authenticated,
check_policy_service unix:/var/spool/postfix/postgrey/socket,
permit_auth_destination,
reject_unauth_destinatio
這幾行設定前需要空格,不換行也可以,但每項前一定要有空格區分
main.cf的666行是 smtpd_recipient_restrictions = 吧?
smtpd_sasl_auth_enable = yes
smtpd_delay_reject=yes
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
check_policy_service unix:/var/spool/postfix/postgrey/socket,
permit_auth_destination,
reject_unauth_destinatio
smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous
mailbox_size_limit = 0
messages_size_limit = 20000000
我把他改成上敘 可是變成使用者無法收發了@@
smtpd_sasl_auth_enable = yes
smtpd_delay_reject=yes
smtpd_recipient_restrictions =
□permit_mynetworks,
□permit_sasl_authenticated,
□check_policy_service unix:/var/spool/postfix/postgrey/socket,
□permit_auth_destination,
□reject_unauth_destinatio
smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous
mailbox_size_limit = 0
messages_size_limit = 20000000
空格用□代替
使用者收發的設定是smtpd_client_restrictions
把這個部分移到smtpd_recipient_restrictions之前試試看
mynetworks的區域 跟 SASL 的設定有正確嗎?
可以試著把permit_mynetworks以外的設定拿掉試試,看是被哪項驗證擋住?
感謝MIS大大
我已改成
smtpd_recipient_restrictions =
空格permit_sasl_authenticated,
空格permit_mynetworks,
空格reject_unauth_destination,
空格check_policy_service unix:/var/spool/postfix/postgrey/socket
目前可正常收發
請問該怎麼測試是否有在過濾垃圾郵件呢
如果是要看PostGrey有沒有在運作,可以查看maillog裡,有沒有
postgrey[xxxxx]: action=greylist, reason=new
之類的訊息
如果要達到更完善的過濾,建議可配合MailScanner,
http://i-yow.blogspot.com/2008/07/part-2mailscannerclamavspamassassin.html
謝謝mis這幾天的耐心指導與建議
我想先讓postgrey試跑幾天看看
然後視情況再考慮MailScanner
不客氣~
不好意思!mis大大剛剛有發現有些信件的主旨有標示**SPAM**不知是什麼意思
主旨有標示**SPAM**跟postgrey沒有關係~
postgrey做的就是收下來跟拒絕而已,不會做其他的標記動作。
如果你沒有裝其他的SPAM過濾套件,有可能是寄件方伺服器過濾的標記,或是在RELAY過程中被過濾的。
感謝mis大大的細心教導
目前垃圾郵件已阻擋八九成了
再請問一下如要郵件防毒需用什麼
建議使用MailScanner配合ClamAV,
MailScanner可以針對附件(郵件病毒最常存在的方式)的檔案類型進行過濾;
ClamAV可以對郵件進行掃毒。
不好意思mis大大 是照您這篇操作嗎
http://i-yow.blogspot.com/2008/07/part-2mailscannerclamavspamassassin.html
SpamAssassin也需安裝嗎
有裝有保庇~ XD
有裝SpamAssassin可以多一種過濾的功能
不裝也是可以啦~ 只是我沒這樣試過,應該是把MailScanner裡啟動SpamAssassin的設定拿掉就好
MIS大大不好意思再請問一下
最近外部mail有些會晚很久才收到信
且已把對方加入白名單
請問有什麼原因會變成這樣呢
是已經加入白名單的嗎?
只有第一次寄送會比較久,等待的時間需看對方伺服器重送的設定,有些伺服器重送的時間較長。
等第一次驗證通過後就能正常接收了~
可以檢查看看郵件的HEADER,看看實際傳送的時間。
MIS大大 之前用Postgrey擋垃圾信效果還不錯
但用段時間後有點問題
就把它移除了 但要再重新安裝
好像都不會成功
請問如何完整移除Postgrey呢 謝謝
是使用 yum remove postgrey 移除嗎?
再安裝時會發生什麼錯誤?
之前使用一段時間是發生什麼情況?
請問mis大大
目前遇到一個情況
有時外部信箱同時寄給內部a.b.c三人
a.b過不久就會收到信
c卻過一兩個小時已上才收到
c其他信也都正常收發
外部信箱網域也有加到白名單
不知是哪裡出現了問題 該如何檢查
檢查看看 maillog 在收到來信時出現什麼訊息? /var/log/maillog
或是可以取得寄信方的LOG?
請問mis大大
最近有一位同仁在公司內部nb收發e-mail都無問題
在外部用3G無線上網只能收不能發
一發就出現未傳遞的主旨: XXX
450 4.2.0 : Recipient address rejected: Greylisted, see http://postgrey.schweikert.ch/help/kuangying.com.html
試試看把3G網路的網段加到postgrey的白名單中,或是使用3G網路ISP所提供的SMTP Server,例如:msa.hinet.net
請問如何知道postgrey的白名單是否有作用
也有重啟Postgrey
因為已將3G網路的SMTP加入白名單測試後還是一樣被退信
之前已加的白名單的網域也會發生相同訊息
只是對方的主機會再延遲後重寄
有在白名單內的時候,收到信時maillog李會有這種紀錄:
postgrey[2508]: action=pass, reason=client whitelist, ........
maillog有
但已加入白名單的mail還是會出現下列訊息
mail postgrey[29961]: action=greylist, reason=new, client_name=unknown
試試看加在這個白名單
/etc/postfix/postgrey_whitelist_recipients
請問我安裝時出現
Error: Missing Dependency: perl(Digest::HMAC_MD5) is needed by package perl-Net-DNS
先執行
yum install perl-Net-DNS
安裝perl-Net-DNS
執行yum install perl-Net-DNS後
也出現Error: Missing Dependency: perl(Digest::HMAC_MD5) is needed by package perl-Net-DNS的訊息
先檢查一下YUM的站台設定
http://i-yow.blogspot.com/2008/08/yum-yumupdate-rootmsg-yum-y-update.html
http://i-yow.blogspot.com/2008/07/rpmforgedag-httpdag.html
請問我執行了rm /var/spool/postfix/postgrey/*在postgrey資料夾裡的所有資料都被刪除了,那麼postgrey這隻程式還有用嗎?還是我需要從建postgrey裡的所有資料?
一般我清除記錄後都會執行
service postgrey restart
請問MIS大大
竟然有白名單那有辦法使用黑名單嗎?
黑名單可以直接在POSTFIX裡設定
/etc/postfix/access
msi大大請問/etc/postfix/access
該如何設黑名單
謝謝
Mr. MIS
請教一下 postfix 的 main.cf 中
smtpd_recipient_restrictions 與
smtpd_client_restrictions 有何不同??
驗證的時機不同
smtpd_client_restrictions
是在client要求連線時
smtpd_recipient_restrictions
是在送信發出 RCPT TO 要求時
張貼留言