最後修改日期:
2005/05/09
Postfix
Mail Server Manage ( 郵件伺服器管理 )
@. Queue 管理
#mailq
# 使用 mailq 檢查曾經發經發送的電郵
-Queue ID-------Size------Arrival Time------Sender/Recipient-------
D7982233D37 2936 Fri May 6
00:18:16 2daniel@12.hinet.net
#postcat
/var/spool/postfix/deferred/1/17461233D42 # 把在 mail
queue 內的電郵內容顯示出來
#postsuper -d
A1F23E009A # 刪除 mail queue 內還未發送的信件
#postsuper -d
ALL # 刪除所有 mailq
@. Mail
郵件內容過濾管理
Postfix 的郵件的分析與過濾管理:採用 header_checks 及
body_checks 的方式,其為正規表示法 ( Regular
Expression, RE ) 來進行設定,其方式是真對郵件的 Header 及
Body 去過濾,何
謂 Header?
即郵件上面的資訊
( 包括 寄件者 From:、收件者 To:、地址、與信件標題 Subject: 等 )。何謂 Body?即是對方寄信給你的時所書寫的內容。
#vi
/usr/local/etc/postfix/main.cf
header_checks = regexp:/usr/local/etc/postfix/header_checks
body_checks =
regexp:/usr/local/etc/postfix/body_checks
寫法說明:
『.』:代表任意字元
『\』:代表跳脫字元,可以讓後面接的一個字元變成一般字元;
『*』:代表重複零個或多個前一個 RE 的字元,例如『.*』則代表任意零個或多個字元的意思;
『^』:代表『這一行的第一個字元需要符合規則』的意思;
『$』:代表這一行的最後一個字元必須要符合這個字元的意思,
單一規則的設定標準:
/規則/
動作
顯示在登錄檔裡面的訊息
/^Subject:.*A funny
game/
DISCARD
drop header deny
#vi
/usr/local/etc/postfix/header_checks
# 範例:header_checks
/filename\=\".*src\.exe/
REJECT Virus filename
is unavailable header
/filename\=\".*\.cpl\"/
REJECT Virus filename
is unavailable header
/name\=\".*\.bat\"/
REJECT Virus filename
is unavailable header
/name\=\".*\.scr/
REJECT Virus filename
is unavailable header
/^Subject:.*Hello\,.*\,how\ are\
you.*/ DISCARD Virus drop the unavailable
header
/^Subject:.*W32.*removal\
tools$/ DISCARD
Virus drop the unavailable header
/^From:.*rayman\.com\.cn/
DISCARD Commercial unavailable header
/^From:.*\@263\.net/
DISCARD Commercial unavailable header
/^To:.*\.TXT@/
DISCARD Commercial unavailable header
/^To:.*apatite.*\</
DISCARD
Commercial unavailable header
#vi
/usr/local/etc/postfix/body_checks
範例:body_checks
/http\:\/\/168\-news\.com/
DISCARD
Commercial drop the unavailable body
/http\:\/\/.*edms\.tv/
DISCARD Commercial drop the unavailable body
/mailto\:.*\@126\.com/
DISCARD Commercial drop the unavailable body
/mailto\:.*\@powererp\.org/
DISCARD
Commercial drop the unavailable body
/0982\-281\-125/
DISCARD Commercial unavailable body
/www\.email104\.com/
DISCARD Commercial
unavailable body
/\/nomail\.gif\"/
DISCARD
Commercial nomail unavailable body
/\/nomail\.htm\"/
DISCARD Commercial
nomail unavailable body
#postmap -q -
regexp:/usr/local/etc/postfix/header_checks <
/usr/local/etc/postfix/header_checks # 不需要重新啟動
postfix,設定立刻生效
@. Mail 連線 IP
管理
擋掉惡意 Spam 攻擊的 IP 網段 CIDR
(Classless Inter-Domain Routing) postfix 2.x
之後的版本應該都支援這個用法,它可直接編輯允許連線及不可連線的 IP 網段,挺不錯用的 ^^ 可是有問題 ..
在我的機器上掛上就收不到信還是需要再 try 看看 ...
#vi
/usr/local/etc/postfix/main.cf
smtpd_client_restrictions =
cidr:/usr/local/etc/postfix/client.cidr
#vi /usr/local/etc/postfix/client.cidr
# Sapm IP Groups
220.163.0.0/16
DISCARD spam
218.62.0.0/16
DISCARD spam
218.63.0.0/16
DISCARD spam
61.159.0.0/16
DISCARD spam
#postmap -q -
cidr:/usr/local/etc/postfix/client.cidr <
/usr/local/etc/postfix/client.cidr
#postfix reload