由於最近垃圾信愈來愈多。雖然公司已有裝 spamassassin 但它只是標記是不是 spam , 無法直接就刪掉郵件。除佔空間之外使用者看了也煩。
經多方考量決定使用 postfix 的 body check 來阻擋郵件,在郵件內容上進行過濾與防護,但此方式雖然簡單。也需要人工去作這個過濾條件。雖然需花點時間份析郵件但好處是不用裝其它的應用程式在主機上比較能夠快速的處理掉問題
文章大綱
使用 postfix body check
- 阻擋特定關鍵字
- 補充 header check 的不足
- 有些垃圾郵件或惡意郵件會偽裝 header,看起來像正常郵件,但其惡意內容藏在 body。
- Body check 可以進一步過濾這類偽裝得很好的郵件。
- 輕量的內容過濾
- 若不想用像 SpamAssassin 或 Amavis 這種複雜的郵件內容過濾系統,可用 body_checks 作為簡單替代。
- 適合資源有限或需求簡單的環境。
- 可自訂過濾規則。如正規條件
使用 body check 的限制
- 效能影響
- 無法解析 MIME 結構
- Postfix 的 body check 是逐行處理文字,對 HTML、Base64、 Quoted-Printable 編碼內容等支援有限,難以完整偵測某些垃圾郵件。但可把關鍵字作上述編碼寫進條件。
- 誤判風險高
- 如果過濾條件寫的太散(條件太寬),可能會誤判正常郵件tive),導致合法郵件被拒收。
- 不適合複雜反垃圾郵件邏輯,要一筆一筆加。
分析準則
通常垃圾有幾個可判斷的準則。
- 來源主機。可經由觀看原始郵件的 header 看出
- 郵件的 from . 但這可能是假造。但 postfix 仍可用 header_check 擋掉
- 要吸引你去點擊的 Link 或 按鈕 所帶的 URL . 此 URL 通常會跟被假造的網站不同。如信件會使用仿玉山銀行的信用卡內容。但所提供的點擊 URL 卻不是玉山銀行的網域。
- 如廣告信件可針對 whatsapp ID . 所留的辦公室電話。官網。作關鍵字阻擋

阻擋須知
由於中文或日文傳送郵件是可能會使用 MIME 或 Quoted-Printable 編碼。故在作關鍵字阻擋時也必需把其關鍵字編碼。如 不正アク 要變成『=E4=B8=8D=E2=80=8C=E6=AD=A3=E2=80=8B=E3=82=A2=EF=BB=BF=E3=82=AF=E2=80=8E』的 Quoted-Printable 編碼 但如果信件是用 MIME 編碼那就至建議用檢查 header 的方式去擋。
範例條件
