作者 主題: 這種瘋狂亂發的廣告信, 有辦法擋嗎?  (閱讀 23808 次)

0 會員 與 1 訪客 正在閱讀本文。

Bolunamiwa

  • 憂鬱的高中生
  • ***
  • 文章數: 156
    • 檢視個人資料
aablb.aablb@cassiecassie.org
aabbn.aabbn@benqbenq.com
aaama.aaama@carriecarrieb.com
aagbe.aagbe@bruisbruis.com
aagbl.aagbl@eleanoreleanor.com

每天都會遭受極大量上面的假造寄件者狂發廣告信,幾乎都是aaXXX.aaXXX@XXXXXXX.com (or org), SpamAssassin是可以辨識出來
但有辦法直接在access 或 sendmail.cf 設定就直接discard掉嗎?

kenduest

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3675
    • 檢視個人資料
    • http://kenduest.sayya.org
Re: 這種瘋狂亂發的廣告信, 有辦法擋嗎?
« 回覆 #1 於: 2005-01-12 22:26 »
引述: "Bolunamiwa"
aablb.aablb@cassiecassie.org
aabbn.aabbn@benqbenq.com
aaama.aaama@carriecarrieb.com
aagbe.aagbe@bruisbruis.com
aagbl.aagbl@eleanoreleanor.com

每天都會遭受極大量上面的假造寄件者狂發廣告信,幾乎都是aaXXX.aaXXX@XXXXXXX.com (or org),
SpamAssassin是可以辨識出來但有辦法直接在access 或 sendmail.cf 設定就直接discard掉嗎?


若是您是使用 postfix 的話,可以考慮使用 header_checks 的項目來過濾。搭配 regexp 過濾就可以處理掉。

header_checks = regex:/etc/postfix/header_check

該檔案內容大概像是:

/^From: .*aa...\.aa.+@/      REJECT

或者是那些項目就是 mail 溝通時後丟的 sender 項目,那也可以於 postfix 的 smtpd_recipient_restrictions
這類區段內使用 check_sender_access 項目阻擋。比方向是:

smtpd_recipient_restrictions =
permit_mynetworks,
sender_access regexp:/etc/postfix/sender_checks ,
reject_unauth_destination

該 /etc/postfix/sender_check 檔案內容大概就像是:

/.*aa...\.aa.+@/    REJECT

不過說到 spam 防堵是一個很大的課題,不知道 Bolunamiwa 兄是否有採用了 dnsdb 這類基本的 anti-spam 組態來阻擋
spam client 呢 :-)

不過老實說 mail 組態設定使用 sendmail 可能比較麻煩,所以有沒有考慮換用 postfix 替代 sendmail 呢?
I am kenduest - 小州

my website: http://kenduest.sayya.org/

phantom

  • SA 苦力組
  • 俺是博士!
  • *****
  • 文章數: 2185
    • 檢視個人資料
這種瘋狂亂發的廣告信, 有辦法擋嗎?
« 回覆 #2 於: 2005-01-12 22:37 »
我以前用最笨的方式...
用 access 檔. 直接擋 IP, or sender... 大概收集了 20000~25000 筆吧.

現在用 postfix, 除了用它內建的一些方式, 再加上我自己的 blacklist...
用 rbl 的缺點是掌控權不在自己手上.
Linux 非萬能, 沒 Linux 萬萬不能.
root = God
apt-get install ultimate-horsepower

Bolunamiwa

  • 憂鬱的高中生
  • ***
  • 文章數: 156
    • 檢視個人資料
Re: 這種瘋狂亂發的廣告信, 有辦法擋嗎?
« 回覆 #3 於: 2005-01-12 22:45 »
引用

若是您是使用 postfix 的話,可以考慮使用 header_checks 的項目來過濾。搭配 regexp 過濾就可以處理掉。
..

防堵是一個很大的課題,不知道 Bolunamiwa 兄是否有採用了 dnsdb 這類基本的 anti-spam 組態來阻擋
spam client 呢 :-)

不過老實說 mail 組態設定使用 sendmail 可能比較麻煩,所以有沒有考慮換用 postfix 替代 sendmail 呢?


感謝kenduest兄提供postfix這麼實用的方法, dnsdb也有採用,
但目前使用中是sendmail, 不知有無類似的處理動作?

kenduest

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3675
    • 檢視個人資料
    • http://kenduest.sayya.org
Re: 這種瘋狂亂發的廣告信, 有辦法擋嗎?
« 回覆 #4 於: 2005-01-12 23:04 »
引述: "Bolunamiwa"

感謝kenduest兄提供postfix這麼實用的方法, dnsdb也有採用,
但目前使用中是sendmail, 不知有無類似的處理動作?


sendmail 可以支援 dnsbl,sendmail.mc 檔案補上像是:

FEATURE(dnsbl,`relays.ordb.org',`550 5.7.1 Mail from $&{client_addr} rejected based on external blacklist - See also http://www.ordb.org/')

使用 m4 讀取該檔案產生的 sendmail.cf 就可以支援該 dnsbl 功能,
剩下就看您要設定使用那些 dnsbl 的主機。

至於 mail header check 過濾在 sendmail 裡面我並不熟悉,我猜大概
還是要修改 sendmail.cf 檔案自己補上相關語法規則規律。不過
sendmail 的 macro 本身並不容易理解,所以一般可能人無法下手。

若是針對 e-mail 帳號其 sender 與 recepient 對象來過濾,這在 sendmail
裡面是可行的,只是就一般 access 檔案來看並不支援 regexp 語法。

From: id@hostname    REJECT
Connect: 192.168.1.1   REJECT
To: id@hostname   REJECT
I am kenduest - 小州

my website: http://kenduest.sayya.org/

alva

  • 活潑的大學生
  • ***
  • 文章數: 316
    • 檢視個人資料
這種瘋狂亂發的廣告信, 有辦法擋嗎?
« 回覆 #5 於: 2005-01-13 17:05 »
有遇到要退信件, 退不回...都卡在主機上嗎

我是用postfix

好幾千封垃圾郵件停在queue, 我只會用 postsuper 一封一封刪, 可否有比較快的方法
針對相同的網域整批刪件

前一陣子是這兩個網域
mail-server.com
www-mailserver.com


代碼: [選擇]
# postqueue -p

50A8E3E98C     5339 Thu Jan 13 10:57:53  MAILER-DAEMON
                 (connect to nitic.com.cn[218.69.91.38]: Connection timed out)
                                         ubnnnkm.cvvvbz@nitic.com.cn

574A33E93A     6348 Tue Jan 11 22:13:18  MAILER-DAEMON
          (connect to mail.aecxm.com.cn[220.162.236.41]: Connection timed out)
                                         ldsddcqvv.sddcv@aecxm.com.cn

5C71B3E943     6242 Tue Jan 11 23:41:48  MAILER-DAEMON
          (connect to mail.aecxm.com.cn[220.162.236.41]: Connection timed out)
                                         ckjddcvv.sdodcv@aecxm.com.cn

5F9743E919     5329 Tue Jan 11 08:09:58  MAILER-DAEMON
                 (connect to nitic.com.cn[218.69.91.38]: Connection timed out)
                                         dijsbnnnkm.cvvvbz@nitic.com.cn

.
.
.
.


phantom

  • SA 苦力組
  • 俺是博士!
  • *****
  • 文章數: 2185
    • 檢視個人資料
這種瘋狂亂發的廣告信, 有辦法擋嗎?
« 回覆 #6 於: 2005-01-13 17:11 »
引述: "alva"
有遇到要退信件, 退不回...都卡在主機上嗎

我是用postfix

好幾千封垃圾郵件停在queue, 我只會用 postsuper 一封一封刪, 可否有比較快的方法
針對相同的網域整批刪件

前一陣子是這兩個網域
mail-server.com
www-mailserver.com


代碼: [選擇]
# postqueue -p

50A8E3E98C     5339 Thu Jan 13 10:57:53  MAILER-DAEMON
                 (connect to nitic.com.cn[218.69.91.38]: Connection timed out)
                                         ubnnnkm.cvvvbz@nitic.com.cn

574A33E93A     6348 Tue Jan 11 22:13:18  MAILER-DAEMON
          (connect to mail.aecxm.com.cn[220.162.236.41]: Connection timed out)
                                         ldsddcqvv.sddcv@aecxm.com.cn

5C71B3E943     6242 Tue Jan 11 23:41:48  MAILER-DAEMON
          (connect to mail.aecxm.com.cn[220.162.236.41]: Connection timed out)
                                         ckjddcvv.sdodcv@aecxm.com.cn

5F9743E919     5329 Tue Jan 11 08:09:58  MAILER-DAEMON
                 (connect to nitic.com.cn[218.69.91.38]: Connection timed out)
                                         dijsbnnnkm.cvvvbz@nitic.com.cn

.
.
.
.



全部刪:
代碼: [選擇]
postsuper -d ALL

Or, 下載這個 perl script:
http://www.seaglass.com/postfix/pfdel.pl

super 好用.
Linux 非萬能, 沒 Linux 萬萬不能.
root = God
apt-get install ultimate-horsepower

alva

  • 活潑的大學生
  • ***
  • 文章數: 316
    • 檢視個人資料
這種瘋狂亂發的廣告信, 有辦法擋嗎?
« 回覆 #7 於: 2005-01-13 17:38 »
感謝  phantom 兄....

馬上試用....真是刪的漂亮

abelyang

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 1097
    • 檢視個人資料
這種瘋狂亂發的廣告信, 有辦法擋嗎?
« 回覆 #8 於: 2005-01-13 18:56 »
這個問題有幾個特徵及解法:

1. @domain 幾乎都存在, 且 NameServer 皆為  ns1.xp.com.tw.
所以,你若的 Mail Server 可以做成 NS 為 ns1.xp.com.tw 就拒收
這個問題就會很少
這個部份 Sendmail 用 Milter 可解,正規 sendmail.cf 應沒有解,


2. Message-ID 皆為你的主機
雖然大家都認為不能以 Message-ID 為檔信依據,但我檔了上百萬封這種信
從沒有人說有問題, 發信軟體直接寄到你的主機帶的 Message-ID 都是你的
除非是自己 Server 發出來的才會有自己的 Message-ID
sendmail.cf 可以直接檔掉, Message-ID 為你的 Server 的, 請查閱 www.sendmail.org


3. 來源 IP 是有規則的
我收到的這類 SPAM, IP 歸納如下
218.63.92.   
218.63.93.   
220.165.170.
220.165.171.
220.165.180.
220.165.181.
220.165.190.

我自己是會做統計,用程式產生 SPAM IP List, 只要被判為 SPAM 的 IP 超過
一定的次數就拒絕.

4. 目前這類 SPAM , 目前仍以 aa 開頭,所以 kenduest 兄的方法可以用.
sendmail 也可以做到這樣的, 但一般來說 sendmail.cf (or mc 中的 LOCAL_CONFIG)
是不好理解的 ,另外,有興趣者也可參考
http://www.unix-ag.uni-hannover.de/soft/check_local/
但是還有很多是掛的不是 aa 這樣,所以 regexp 的解法太費事


5. 重連接頻率限制
sendmail 在 8.13.x 版後支援 ratecontrol , 可以限定來源在特定
時間內的連接頻率(預設是 60s, 可修改):
sendmail.mc :
代碼: [選擇]

FEATURE(`delay_checks')dnl
FEATURE(`access_db', `hash -T<TMPF> /etc/mail/access')
dnl ......
FEATURE(`ratecontrol', `nodelay', `terminate')

在 access 中則寫:
代碼: [選擇]

ClientRate:127.0.0.1            0
ClientRate:203.66.132.          0
ClientRate:*                    1
ClientConn:*                    10

詳情請裝上 sendmail 8.13.x 以後版本,並詳閲 README

6. DNSBL
如同上面諸位所說的,但重點在用那個 rbl 好,我自己目前是用
t1.dnsbl.net.au
bl.spamcop.net.
這兩個的準確性都很高, t1 這個是綜合數個 rbl 的集合, spamcop 我用的結果
正確判斷的機率(這些 IP 來的信幾乎皆為 SPAM),高達 99.9%

在這個例子上,我自己目前的做法是 12356 , 這種 SPAM 幾乎沒收過

最後補充,sendmail 可以使用 Milter, 有些 free 的 Milter 可以做到
From 是否真有其人的 Check (反過來做 SMTP connection 中 的 RCPT 檢查)

至於另外所提到的退信,我也很苦惱,正苦思積極的方法(不要去手動做),目前
也只是先把 queue return 的時間調短,讓退不回去的信,進到 local 的信箱中

kenduest

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3675
    • 檢視個人資料
    • http://kenduest.sayya.org
這種瘋狂亂發的廣告信, 有辦法擋嗎?
« 回覆 #9 於: 2005-01-13 23:17 »
引述: "alva"
有遇到要退信件, 退不回...都卡在主機上嗎

我是用postfix

好幾千封垃圾郵件停在queue, 我只會用 postsuper 一封一封刪, 可否有比較快的方法
針對相同的網域整批刪件

前一陣子是這兩個網域
mail-server.com
www-mailserver.com


談到 postfix 設定,個人的組態配置基礎設定如下:

smtpd_recipient_restrictions =
        reject_non_fqdn_sender
        reject_non_fqdn_recipient
        reject_unknown_sender_domain
        reject_unknown_recipient_domain
        reject_unlisted_sender
        permit_mynetworks
        reject_rbl_client dnsbl.sorbs.net
        reject_rbl_client bl.spamcop.net
        reject_rbl_client relays.ordb.org
        reject_rbl_client xbl.spamhaus.org
        permit_sasl_authenticated
        reject_unauth_destination
        check_policy_service inet:127.0.0.1:40000


其中的 reject_unknown_sender_domain 可以阻擋 sender 不存在的情況,而 reject_unknown_recipient_domain 則是拒絕 recipient 不存在的情況。一堆 spam 通常很多都是亂送 sender 項目的。而reject_unlisted_sender 就是拒絕 sender 目的是自己主機的人,但是該帳號卻是不存在。

reject_rbl_client 部分就是 dnsbl 項目,個人常用是上面這幾台。

另外就是 postfix 某些版本預設不會 check recipient 是自己主機是該目的帳號是否存在,所以會先收信來再投遞,但是常常遇到不存在的對象時要退信,但是 sender 是假造的 e-mail 帳號所以退錯人或者是退不回去而跑出一堆 MAILER-DAEMON 信件,這時候可以考慮使用像是:

local_recipient_maps = proxy:unix:passwd.byname $alias_maps

這應該可以解決上面問題。

另外上面有掛 postgrey,這是非常有利的 anti-spam 做法,尤其這年頭很多都是直接在自己主機跑發廣告信軟體直接連結目的 mail server 送信情況可以有效阻擋。相關部分可以參考:

http://isg.ee.ethz.ch/tools/postgrey/
I am kenduest - 小州

my website: http://kenduest.sayya.org/

cisco3662

  • 鑽研的研究生
  • *****
  • 文章數: 739
    • 檢視個人資料
這種瘋狂亂發的廣告信, 有辦法擋嗎?
« 回覆 #10 於: 2005-08-23 17:41 »
引述: "abelyang"
這個問題有幾個特徵及解法:

1. @domain 幾乎都存在, 且 NameServer 皆為  ns1.xp.com.tw.
所以,你若的 Mail Server 可以做成 NS 為 ns1.xp.com.tw 就拒收
這個問題就會很少
這個部份 Sendmail 用 Milter 可解,正規 sendmail.cf 應沒有解,


2. Message-ID 皆為你的主機
雖然大家都認為不能以 Message-ID 為檔信依據,但我檔了上百萬封這種信
從沒有人說有問題, 發信軟體直接寄到你的主機帶的 Message-ID 都是你的
除非是自己 Server 發出來的才會有自己的 Message-ID
sendmail.cf 可以直接檔掉, Message-ID 為你的 Server 的, 請查閱 www.sendmail.org


3. 來源 IP 是有規則的
我收到的這類 SPAM, IP 歸納如下
218.63.92.   
218.63.93.   
220.165.170.
220.165.171.
220.165.180.
220.165.181.
220.165.190.

我自己是會做統計,用程式產生 SPAM IP List, 只要被判為 SPAM 的 IP 超過
一定的次數就拒絕.

4. 目前這類 SPAM , 目前仍以 aa 開頭,所以 kenduest 兄的方法可以用.
sendmail 也可以做到這樣的, 但一般來說 sendmail.cf (or mc 中的 LOCAL_CONFIG)
是不好理解的 ,另外,有興趣者也可參考
http://www.unix-ag.uni-hannover.de/soft/check_local/
但是還有很多是掛的不是 aa 這樣,所以 regexp 的解法太費事


5. 重連接頻率限制
sendmail 在 8.13.x 版後支援 ratecontrol , 可以限定來源在特定
時間內的連接頻率(預設是 60s, 可修改):
sendmail.mc :
代碼: [選擇]

FEATURE(`delay_checks')dnl
FEATURE(`access_db', `hash -T<TMPF> /etc/mail/access')
dnl ......
FEATURE(`ratecontrol', `nodelay', `terminate')

在 access 中則寫:
代碼: [選擇]

ClientRate:127.0.0.1            0
ClientRate:203.66.132.          0
ClientRate:*                    1
ClientConn:*                    10

詳情請裝上 sendmail 8.13.x 以後版本,並詳閲 README

6. DNSBL
如同上面諸位所說的,但重點在用那個 rbl 好,我自己目前是用
t1.dnsbl.net.au
bl.spamcop.net.
這兩個的準確性都很高, t1 這個是綜合數個 rbl 的集合, spamcop 我用的結果
正確判斷的機率(這些 IP 來的信幾乎皆為 SPAM),高達 99.9%

在這個例子上,我自己目前的做法是 12356 , 這種 SPAM 幾乎沒收過

最後補充,sendmail 可以使用 Milter, 有些 free 的 Milter 可以做到
From 是否真有其人的 Check (反過來做 SMTP connection 中 的 RCPT 檢查)

至於另外所提到的退信,我也很苦惱,正苦思積極的方法(不要去手動做),目前
也只是先把 queue return 的時間調短,讓退不回去的信,進到 local 的信箱中


我也愈到類似的問題了
想請教一下,學長提到
"我自己是會做統計,用程式產生 SPAM IP List, 只要被判為 SPAM 的 IP 超過
一定的次數就拒絕."

不曉得可以分享一下這個scripts嗎??

im903405

  • 可愛的小學生
  • *
  • 文章數: 6
    • 檢視個人資料
這種瘋狂亂發的廣告信, 有辦法擋嗎?
« 回覆 #11 於: 2005-12-27 14:57 »
引述: "phantom"
引述: "alva"
有遇到要退信件, 退不回...都卡在主機上嗎

我是用postfix

好幾千封垃圾郵件停在queue, 我只會用 postsuper 一封一封刪, 可否有比較快的方法
針對相同的網域整批刪件

前一陣子是這兩個網域
mail-server.com
www-mailserver.com


代碼: [選擇]
# postqueue -p

50A8E3E98C     5339 Thu Jan 13 10:57:53  MAILER-DAEMON
                 (connect to nitic.com.cn[218.69.91.38]: Connection timed out)
                                         ubnnnkm.cvvvbz@nitic.com.cn

574A33E93A     6348 Tue Jan 11 22:13:18  MAILER-DAEMON
          (connect to mail.aecxm.com.cn[220.162.236.41]: Connection timed out)
                                         ldsddcqvv.sddcv@aecxm.com.cn

5C71B3E943     6242 Tue Jan 11 23:41:48  MAILER-DAEMON
          (connect to mail.aecxm.com.cn[220.162.236.41]: Connection timed out)
                                         ckjddcvv.sdodcv@aecxm.com.cn

5F9743E919     5329 Tue Jan 11 08:09:58  MAILER-DAEMON
                 (connect to nitic.com.cn[218.69.91.38]: Connection timed out)
                                         dijsbnnnkm.cvvvbz@nitic.com.cn

.
.
.
.



全部刪:
代碼: [選擇]
postsuper -d ALL

Or, 下載這個 perl script:
http://www.seaglass.com/postfix/pfdel.pl

super 好用.


請問一下,我是裝postfix+MailScanner
如果是寄不出去的信被queue起來
那postqueue -p 所列出來的信件是放在那裡呢?
而這個pfdel.pl的程式是否刪的就是postfix沒寄出的信?

ycs_lamb

  • 懷疑的國中生
  • **
  • 文章數: 49
    • 檢視個人資料
這種瘋狂亂發的廣告信, 有辦法擋嗎?
« 回覆 #12 於: 2006-01-18 10:38 »
引述: "alva"
感謝  phantom 兄....

馬上試用....真是刪的漂亮


請問一下,這支程式要怎麼使用呀

我看它用法是寫 : pfdel <email_address>
我直接在終端機底下執行,確出現
-bash: pfdel: command not found
是不是我要在什麼特定的目錄下執行呢
還是有其它的問題
謝謝!

phantom

  • SA 苦力組
  • 俺是博士!
  • *****
  • 文章數: 2185
    • 檢視個人資料
這種瘋狂亂發的廣告信, 有辦法擋嗎?
« 回覆 #13 於: 2006-01-18 10:51 »
引述: "ycs_lamb"
引述: "alva"
感謝  phantom 兄....

馬上試用....真是刪的漂亮


請問一下,這支程式要怎麼使用呀

我看它用法是寫 : pfdel <email_address>
我直接在終端機底下執行,確出現
-bash: pfdel: command not found
是不是我要在什麼特定的目錄下執行呢
還是有其它的問題
謝謝!


1. 您下載及存好了 pfdel 這檔案嗎?
2. 確定 permission 是正確的.
3. 如果你存檔的地方不在 PATH 裡... 請用
代碼: [選擇]
./pfdel.pl <email_address>
Linux 非萬能, 沒 Linux 萬萬不能.
root = God
apt-get install ultimate-horsepower

ycs_lamb

  • 懷疑的國中生
  • **
  • 文章數: 49
    • 檢視個人資料
這種瘋狂亂發的廣告信, 有辦法擋嗎?
« 回覆 #14 於: 2006-01-18 10:55 »
引述: "phantom"
引述: "ycs_lamb"
引述: "alva"
感謝  phantom 兄....

馬上試用....真是刪的漂亮


請問一下,這支程式要怎麼使用呀

我看它用法是寫 : pfdel <email_address>
我直接在終端機底下執行,確出現
-bash: pfdel: command not found
是不是我要在什麼特定的目錄下執行呢
還是有其它的問題
謝謝!


1. 您下載及存好了 pfdel 這檔案嗎?
2. 確定 permission 是正確的.
3. 如果你存檔的地方不在 PATH 裡... 請用
代碼: [選擇]
./pfdel.pl <email_address>


嘿嘿
可以用了
謝謝你!!