Chinaunix首页 | 论坛 | 博客
  • 博客访问: 18670970
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类: BSD

2008-04-09 09:05:17

@.  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.*\

#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 網段 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


阅读(581) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~