iT邦幫忙

0

有人會假用我的domain發信,應如何處理

zpple 2009-05-22 12:20:3711183 瀏覽

我是用freebsd搭postfix,最近常發現一封信Men's@xxx.com.tw(xxx.com.tw是我的domain)寄信給群組人員,但我的user中並沒有Men's這個人,查了mail網際網路標題,似乎指這信來自from p3n88h56.ugto.mx (p3n88h56.ugto.mx [148.214.88.56]),請問一下,這樣在postfix中應如何阻擋呢?用header_check和body_check沒用,因為他會一直換

看更多先前的討論...收起先前的討論...
wonton iT邦高手 6 級 ‧ 2009-05-27 15:05:06 檢舉
雖然你已經選到了最佳解答, 但針對假冒自己 Domain 的信件, 可以用 SPF 的方法, 你可以參考 http://blog.yam.com/ymwen/article/19089930
cooch iT邦研究生 3 級 ‧ 2009-05-27 18:49:43 檢舉
SPF 的作用不太一樣,

SPF 主要是要對外宣告自己郵件網域合法的寄送主機來源等相關資訊,
正確設定自家郵件網域的 SPF 可以協助別人辨識該單位收到來自我們郵件網域的信件是否為 SPAM !
有助於讓自己的信件避免被認定為 SPAM !

目前已知 gmail 會參考信件來源網域之 SPF 設定(可從表頭直接看出)!

但設定 SPF 有幫助是有前提的,
必須來源網域有設定 SPF ,
收件者的郵件系統也有讀取來源網域之 SPF 作為 SPAM 的參考依據下才有作用!!
zpple iT邦新手 3 級 ‧ 2009-06-09 15:42:15 檢舉
我現在用sbl-xbl.spamhaus.org和一個專擋大陸CBL- anti-spam.org.cn,加上用header_checks和body_checks來做,SPF之前我有看到,但似乎做用並不明顯,我就沒有做了
sbl-xbl其實已經阻檔大部分的spam ip了,原本用的DNSBL都已經停止服務,所以我現在就只用spamhaus和anti-spame的DNSBL
但我比較想知道的是,DNSBL的寫法是reject_rbl_client,這應是代表會reject給寄信者,我能否不要reject給寄信者,直接將信給drop呢?這樣寄件者就不會知道我的存在了
cooch iT邦研究生 3 級 ‧ 2009-06-10 07:19:03 檢舉
在有 MailScanner 的狀況下是可以指定符合條件判斷後,
指定後續的處理方式,
包括 Drop,

但是如果沒有 MailScanner 的情形下...
因為我現在已經沒有那種作業環境,
所以無法求證是否可以做同樣的彈性處理!
wonton iT邦高手 6 級 ‧ 2009-06-19 11:23:41 檢舉
太久沒上來, 原來後續還有 cooch 大回應 :p

其實原 po 會發現有假冒自己的 domian 的信件, 也是因為該信件很容易通過自己 mail server 的 spam 檢查, 所以如果原 po 在自己的 mail 環境裡作上 SPF 設定, 那自然可以找出何者為假冒, 因為它符合了您兩個前提, 收件者 (原po) 有讀取 SPF 作為 SPAM 依據, 並且讀到了來源網域 (原po網域) 的 SPF 和發信者 (假冒) 不同, 判為 SPF fail, 就可以 discard 掉了.

當然 SPF 越多人實現會更有用, 但是即便對於沒有設定 SPF 的來源網域, 自己的郵件系統頂多讀不到 Dns SPF record 而判為 SPF none, 再跑後端的其他 content filter 機制即可, 也不會危害到原來的 mail, 但如果有設定的 (如 gmail), 就賺到了, 可以把假冒 gmail 的都擋掉了, 何樂而不為. (損失 SPF 查詢和比對的資源就是了)
wonton iT邦高手 6 級 ‧ 2009-06-19 11:35:15 檢舉
1. 其實我之前和你有同樣被假冒 domain 的困擾, 但我實作 SPF 後, 完全地有用, 我不曉得為何你會覺得作用不明顯

2. 我剛剛查了一下, 沒查到可以直接 drop 的方法. 不過通常垃圾信發信者是不會再等你的 reject 的, 所以他其實不會管你存不存在一樣亂發, 不過 reject 倒是有點浪費自己的資源就是 orz
wonton iT邦高手 6 級 ‧ 2009-06-19 11:36:52 檢舉
可以請 cooch 大分享一下您的 5 個 DNSBL 嗎?
我的環境剛好也是 postfix + mailscanner, 不過一直不知道哪些 DNSBL 比較好用.
SPF 與 其是否提供 SMTP Authentication 可能會有連動關係,
若沒提供 SMTP Authentication,
同時對該筆Server的TXT值設SPF的註記,
又而本身的 MX Server 又有做 SPF 檢查的話,
通常就會要求 User 從其所在的ISP的SMTP為外寄郵件伺服器,
這樣不是就會造成 User 從其他地方,
以自己的信箱名義寄的話,就可能會被擋的狀態吧?
所以 SPF 要有相關的配套做法吧?
cooch iT邦研究生 3 級 ‧ 2009-06-19 12:10:37 檢舉
很遺憾,
無法提供給您,
2年前因政策關係被迫更改另外一個超難用的郵件系統,
原有系統所有相關資料已不復存在,

不過若同時用到 5 個 DNSBL ,
個人認為是哪5個差別應不大,

我唯一沒有用的是 spamcop,
因為誤判情形很嚴重!
cooch iT邦研究生 3 級 ‧ 2009-06-19 12:16:17 檢舉
twtw 提到的問題小弟也有遇到,
不過有時無法兼顧所有狀況,
當然以大部分的使用者為重!

不過就使用單位來說,
加上清楚的 SPF 紀錄其好處遠多於壞處!
wonton iT邦高手 6 級 ‧ 2009-06-24 09:26:36 檢舉
twtw 說的狀況沒錯, 不過公司內的 SMTP Server 若不作 SMTP Auth, 好像有點說不太過去?! 若有同時作了 SMTP Auth 和 SPF 的 policy 檢查, 只要把 permit_sasl_authenticated 放在 check_policy_service 之前即可解決這個問題.

smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination,
...........................
check_policy_service unix:private/spf-policy
wonton iT邦高手 6 級 ‧ 2009-06-24 09:27:27 檢舉
還是謝謝 :)
24
cooch
iT邦研究生 3 級 ‧ 2009-05-23 08:38:49
最佳解答

這是單純的 SPAM 過濾問題,
DNSBL 的使用要小心,
因為誤判的問題還蠻多的,

SPAM 的過濾不是強調可以擋掉全部的垃圾信,
而是如何精準的區分正常信件跟SPAM,
或是說在正常信件跟 SPAM 之間取得令人可接受的平衡點!

小弟在服務單位建置過的 SPAM 是用
MailScanner + Spamassassin + 5個DNSBL + DCC + razor2 + pyzor ,
透過 Mailscanner 對信件的 score 值來決定是否為 SPAM ,
開始上線後經過 3 個月的參數調校,

每個月正常信件總數1萬5000多封,
每月全單位誤判信件都在個位數內...

如果您有使用 DNSBL 在過濾 SPAM ,
透過 Mailscanner 可以調整為信件必須同時存在於 2 種(數目可調整)不同的 DNSBL 才判定為 SPAM,

如果您有使用多個 DNSBL ,
在沒有 mailscanner 的幫助下,
因為沒有 score 的機制,
所以只要存在任一個 DNSBL 的資料庫中就會被判定為 SPAM
DNSBL 用的越多,誤判情形越嚴重,

18
pcboy
iT邦高手 1 級 ‧ 2009-05-22 12:59:48

方法1. 不理它, 垃圾信不可能100%防堵

方法2. 作 DNS 反查, 不符合就拒收; 這樣對方寄信的 IP 和 domain 所用的 IP 不符合, 拒收or丟垃圾信
但是很多公司的 DNS Server 並沒有設定反查, 它們寄過來的信件下場會相同

18
逮丸逮丸
iT邦大師 1 級 ‧ 2009-05-22 13:01:59

1.改掉群組帳號的名稱。
2.若改群組帳號名稱,仍進來的話,就在 procmail 的 rule 中加入像:
如果寄給群組帳號的話,則檢查寄信者是否 match 那些群組帳號,
match 則送去群組帳號,不match就 drop 掉。
3.看您的 群組帳號,是公開的?還是只有內部知道?如果是前者,而且是放在網路上的話,只要google查得到的話,那第 2. 不適用,且也永遠會有 spam 往該帳號寄。
4.如果是公開的話,又想避免 spam 發給群組的話,就只好用 majordomo(太老的程式…)或 mailman,或 procmail 的 SmartList 以 moderate 的模式來發送群組信件。

如果就 hinet.net 而言,若信任其 mail server 的話,那就在 access 的檔案中加入 168.95.4 OK 的允許語法。
另外,若是從 Hinet 的動態 IP 就擋掉。
dynamic.hinet.net 550 Mail from Dynamic IP rejected; see http://mywebsite
各 ISP 的作法,應是其 Mail server 擋其他ISP的動態IP直接來寄信,而要求其動態 IP 的 Mail 都透過自己 ISP 的 mail server 再 relay 出去。
這樣即使 hinet 的 mail server 萬一列在 spam 名單之中,也應還是可以直接進來。

14
weiwill
iT邦新手 3 級 ‧ 2009-05-22 13:14:27

解決方法= = 丟到垃圾郵件 反正檔也檔不完了 檔太多 信又收不到

我要發表回答

立即登入回答