茫茫網海中的冷日 - 對這文章發表回應
茫茫網海中的冷日
         
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已!
 恭喜您是本站第 1664615 位訪客!  登入  | 註冊
主選單

Google 自訂搜尋

Goole 廣告

隨機相片
PIMG_00206.jpg

授權條款

使用者登入
使用者名稱:

密碼:


忘了密碼?

現在就註冊!

對這文章發表回應

發表限制: 非會員 可以發表

發表者: 冷日 發表時間: 2012/11/20 7:18:21
有鑑於 study-area 詢問數篇有關 eMail 問題?
但答案往往石沉大海!經過反覆測試才發表心得?提供
給新手一個參考:-)

本篇不在於告知 postfix 如何安裝,如需要請參考!
鳥哥網站!
http://linux.vbird.org/linux_server/0390postfix.php
主要針對 postfix 擋信參數用法及心得在此講解一下:

_1. /etc/postfix/main.cf 中比較注意是
~當每行的第一個字為空白(tab或空白鍵)的文字列皆被視為上一列的延續。
方便解讀分析!

_2.根據 postfix 官方文件的資訊,所有的規則寫在前面的如果符合就先被執行,
因此順序變的重要!

_3.而 Postfix 用戶端判別規則檢查順序如下:
1 → smtpd_client_restrictions
2 → smtpd_helo_restrictions
3 → smtpd_sender_restrictions
4 → smtpd_recipient_restrictions
5 → smtpd_data_restrictions
6 → header_checks
7 → body_checks

_4.我僅列表我的防範垃圾信規則如下︰
# -=------------------------------------------------------=-
# _1_Server: 220 smtp.example.com ESMTO Postfix
# check client use ip/domain
#
smtpd_client_restrictions = permit_mynetworks,
permit_sasl_authenticated,
reject_rbl_client relays.ordb.org,
reject_rbl_client dsn.rfs-ignorant.org,
reject_rbl_client spam.ecenter.idv.tw,
check_client_access regexp:/etc/postfix/client_checks

# _2_Client: MAIL FROM:<info@ora.com>
# check Mail From
#
smtpd_sender_restrictions = permit_mynetworks,
check_sender_access regexp:/etc/postfix/sender_access,
reject_unknown_client,
reject_non_fqdn_sender,
reject_unknown_sender_domain

# _3_Clinet: RCPT TO:<kdent@example.com>
# check local network Relay
#
smtpd_recipient_restrictions = permit_sasl_authenticated,
permit_mynetworks,
reject_unauth_destination

# _4_Client: Data (這段定義是要配合 spamassassin 用,若無!可以省略)
#
smtpd_data_restrictions = check_client_access cidr:/etc/postfix/header-local,
permit_mynetworks,
check_client_access cidr:/etc/postfix/header-auth,
permit_sasl_authenticated,
check_client_access cidr:/etc/postfix/header-remote
#
# -=------------------------------------------------------=-

上面參數意義我想大部份的人都瞭解,只幫各位複習一下!
permit_sasl_authenticated → 允許SASL寄送
permit_mynetworks → 允許本地網路寄送
reject_unauth_destination → 不允許非認證來來源寄送

reject_rbl_client relay.ordb.org → 不允許RBL資料庫中之用戶端寄送
reject_non_fqdn_sender → 用戶端的MAIL FROM命令若不是RFC要求的完整名稱則退信。
reject_unknown_client → 當SMTP Client連線時,postfix若無法查詢該用戶端之PTR紀錄,則拒絕連線。
reject_unknown_sender_domain → mail from 命令所提供的寄信人位置若查不到A 紀錄或MX紀錄則退信。

~其實重點不是講這些參數意義,而是自定義檔案用法,如下︰
__check_client_access regexp:/etc/postfix/client_checks
...
/.*\.dynamic\..*\.tw/ 554 Service unavailable
/.*\.dynamic\.hinet\.net/ 554 Service unavailable

Maillog 若有阻擋成功訊息如下:
Oct 2 09:04:12 tej9806 postfix/smtpd[20256]: connect from 61-225-206-44.dynamic
.hinet.net[61.225.206.44]

Oct 2 09:04:12 tej9806 postfix/smtpd[20256]: NOQUEUE: reject: CONNECT from 61-2
25-206-44.dynamic.hinet.net[61.225.206.44]: 554 <61-225-206-44.dynamic.hinet.net
^^^^
[61.225.206.44]>: Client host rejected: Service unavailable; proto=SMTP
^^^^^^^^^^^^^^^^^^^^
Oct 2 09:04:12 tej9806 postfix/smtpd[20256]: disconnect from 61-225-206-44.dyna
mic.hinet.net[61.225.206.44]

__check_sender_access regexp:/etc/postfix/sender_access
...
/.*firstbank\.com\.tw/ OK
/61\.219\.52\.9/ OK

/ms[1-9]\.epaper\.com\.tw/ DISCARD
/ms[a-z]\.epaper\.com\.tw/ DISCARD

/ecfs[1-9]\.epaper\.com\.tw/ DISCARD
/ecfs10\.epaper\.com\.tw/ DISCARD
/ecfsrv\.epaper\.com\.tw/ DISCARD

Maillog 若有阻擋成功訊息如下:
Sep 27 14:24:57 tej9806 postfix/smtpd[20168]: connect from msr.epaper.com.tw[211
.20.188.103]

Sep 27 14:24:58 tej9806 postfix/smtpd[20168]: NOQUEUE: discard: MAIL from msr.epaper.com.tw
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[211.20.188.103]: <edm@msx.epaper.com.tw>: Sender address triggers DISCARD action
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
; from=<edm@msx.epaper.com.tw> proto=ESMTP helo=<msr.epaper.com.tw>
Sep 27 14:24:58 tej9806 postfix/smtpd[20168]: 52FFC14145: client=msr.epaper.com.
tw[211.20.188.103]
Sep 27 14:24:59 tej9806 postfix/smtpd[20168]: disconnect from msr.epaper.com.tw[
211.20.188.103]

有無看出這兩個檔都用 regexp(正規表示法)作法,但所帶參數不一樣,
並非網路上所討論一樣!我的規則是所有用動態 IP 所架 MailServ 一律
阻擋,但來至於公司使用者不限是否為動態 IP。至於已確定誤判 Mail
Server 可試先定義在 sender_access 檔案內其允許值為 OK!

而正規表示法意義可參考鳥哥網站︰
http://linux.vbird.org/linux_basic/0330regularex.php

附 註︰
eMail 表頭垃圾信分析

~ 垃圾信範例︰~

_1、由 MTA 所產生 /var/log/maillog 內容
[root@tej9806 postfix]# cat /var/log/maillog |grep '9E41D14148'
Sep 27 02:25:30 tej9806 postfix/smtpd[1958]: 9E41D14148: client=comserver.nnrha.
org[209.96.171.130]

Sep 27 02:25:31 tej9806 postfix/cleanup[2547]: 9E41D14148: hold: header Received
: from gabriel.INTERNAL.NNRHA.ORG (comserver.nnrha.org [209.96.171.130])??by tej
┌^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
├→ 發送者正確 IP 位址
9806.tej.com.tw (Postfix) with ESMTP id 9E41D14148??for <xfs@tej.com.tw>; Wed, 2
^^^^^^^^^^^^^^^^^^^→由 SMTP Client
以【RCPT TO︰】 命令所指定的【信封地址】(即收件者),而該 User 有存在 aliases 檔內!
7 Sep 2006 02:25:30 +0800 (CST) from comserver.nnrha.org[209.96.171.130]; from=<
wkobcajod@bc1dftqw0iss.com> to=<xfs@tej.com.tw> proto=ESMTP helo=<gabriel.INTERNAL.NNRHA.ORG>
┌^^^^^^^^^^^^^^^^^^^^^^^^
├→ 來自於寄件者 【MAIL FROM︰】

_2、透過 Open WebMail 查看收到 Header
From wkobcajod@bc1dftqw0iss.com Wed Sep 27 02:25:39 2006
┌^^^^^^^^^^^^^^^^^^^^^^^^
├→ 這裡沒有冒號!來自於寄件者 【MAIL FROM︰】也可以造假!
Return-Path: <wkobcajod@bc1dftqw0iss.com>
X-Original-To: xfs@tej.com.tw
Delivered-To: root@tej.com.tw
X-TejNet-Auth-LOCAL: LOCAL
X-TejNet-Auth-SASL: SASL
X-TejNet-Auth-NONE: NONE
Received: from gabriel.INTERNAL.NNRHA.ORG (comserver.nnrha.org [209.96.171.130])
┌^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
├→ 發送者正確 IP 位址
by tej9806.tej.com.tw (Postfix) with ESMTP id 9E41D14148
for <xfs@tej.com.tw>; Wed, 27 Sep 2006 02:25:30 +0800 (CST)
^^^^^^^^^^^^^^^^^^^→由 SMTP Client 以【RCPT TO︰】 命令所指定的
【信封地址】(即收件者),而該 User 有存在 aliases 檔內!

Received: from bc1dftqw0iss.com ([218.35.90.113] RDNS failed) by gabriel.INTERNAL.NNRHA.ORG with Microsoft SMTPSVC(6.0.3790.1830);
Tue, 26 Sep 2006 14:25:13 -0400

~【DATA】~
From: MP4總站 <wkobcajod@bc1dftqw0iss.com> ←─ 寄件者可以造假!
Subject: 最新網友搶手貨--MP4經典果凍機下殺NT$2590
To: desert_lj@yahoo.com.tw ←─ 收件者可以造假!
Content-Type: text/html;
charset="big5";
charset="big5";
charset="big5";
charset="big5";
charset="big5"
Content-Transfer-Encoding: 8bit
Date: Wed, 27 Sep 2006 02:26:00 +0800
Message-ID: <GABRIELXsprw0m25q8a000091f2@gabriel.INTERNAL.NNRHA.ORG>
X-OriginalArrivalTime: 26 Sep 2006 18:25:15.0088 (UTC) FILETIME=[1C7DA500:01C6E199]
...

這是參考 OREILLY 書所參考研究出的,想給解讀 maillog 的人
一點方向!希望此篇能對大家有所幫助,也不吝諸位先進給與弟指教!


原文出處:鳥哥的 Linux 私房菜-新手討論區 • 檢視主題 - [分享] Postfix 進階篇
內容圖示
url email imgsrc image code quote
樣本
bold italic underline linethrough   












 [詳情...]
validation picture

注意事項:
預覽不需輸入認證碼,僅真正發送文章時才會檢查驗證碼。
認證碼有效期10分鐘,若輸入資料超過10分鐘,請您備份內容後,重新整理本頁並貼回您的內容,再輸入驗證碼送出。

選項

Powered by XOOPS 2.0 © 2001-2008 The XOOPS Project|