針對qmail我是這樣防止垃圾郵件的
發表于:2007-05-25來源:作者:點擊數:
標簽:
針對qmail我是這樣防止垃圾郵件的 1,安裝qmail的時候增加smtpauth,這是大家都清楚的。這樣避免了一些惡意的人隨意使用你的 服務器 。 2,配合smtpauth需要進行對ip地址的控制。比如對本地地址就不再限制其權限了。 3,修改ucspi-tcp-x.xx的代碼,編輯文件r
針對qmail我是這樣防止垃圾郵件的
1, 安裝qmail的時候增加smtp auth,這是大家都清楚的。這樣避免了一些惡意的人隨意使用你的
服務器。
2, 配合smtp auth需要進行對ip地址的控制。比如對本地地址就不再限制其權限了。
3, 修改ucspi-tcp-x.xx的代碼,編輯文件rblsmtpd.c。
原文件中的"rbl.maps.vix.com",修改為"relays.ordb.org"。編譯后使它支持對垃圾郵件服務器的查詢。其工作原理是將一臺服務器的IP地址反向書寫,然后向提供服務的服務器查詢,如果被登記為垃圾服務器,就返回127.0.0.2,這樣本機服務器就無法和垃圾服務器通信了,舉例說明,某服務器1.2.3.4來連接你的服務器,于是查詢4.3.2.1.relays.ordb.org,如果返回127.0.0.2就表明是垃圾服務器,否則就是正常的服務器。如果你自己的IP也能夠返回127.0.0.2的話,就要趕快和www.ordb.org聯系了,這說明你的服務器由問題了。
4, 編譯了代碼之后,修改smtpd.sh啟動腳本。1002,1001對應qmaild的uid與gid.
/usr/local/bin/tcpserver -q -p -R -c 100 -u 1002 -g 1001 -x /vmail/etc/tcp.smtp.cdb 0 smtp /usr/local/bin/rblsmtpd -b -r 'relays.ordb.org:Open relay problem - see <URL:http://ordb.org/lookup/?host=%IP%>' /var/qmail/bin/qmail-smtpd /vmail/bin/vchkpw /usr/bin/true /bin/md5checkpw /usr/bin/true 2>&1 &
5, 對qmail中增加badrcptto控制。
Qmail中缺省有一個配置文件叫做badmailfrom,字面意思很簡單,只要列進這個列表就是要干掉的郵件。Mailfrom自然是源地址,同樣我們可以控制目標地址,也就是對rcpt to的控制,所以把空文文件命名為badrcptto。
先修改一個簡單的文件qmail-showctl.c,查找badmailfrom,復制該行,將badmailfrom改為badrcptto,編譯后,就可以顯示badrcptto控制文件中的內容了,不過這個修改中看不中用。
接下來修改qmail-smtpd.c,這就動真格的了。還是跟著badmailfrom走,查找bmf相關的單詞,對應復制,并將其修改為brt。
并在void smtp_mail(arg) char *arg;函數中增加對brtcheck的調用。
if (flagbarf) { err_bmf(); return; }
if (relayclient) {
--addr.len;
if (!stralloc_cats(&addr,relayclient)) die_nomem();
if (!stralloc_0(&addr)) die_nomem();
}
else
if (!addrallowed()) { err_nogateway(); return; }
if (!env_get("RELAYCLIENT") && brtcheck()) { err_brt(); return; }
if (!stralloc_cats(&rcptto,"T")) die_nomem();
if (!stralloc_cats(&rcptto,addr.s)) die_nomem();
if (!stralloc_0(&rcptto)) die_nomem();
out("250 ok\r\n");
}
6, 針對垃圾郵件的特征定制代碼。
前人的經驗介紹了不少,自己也不能太懶惰,也整理了一些不順眼的郵件。
正常來講,郵件地址的開頭應該是字母,不應該是數字,盡管現在很多服務器能夠支持全數字的郵件地址,所以我的做法是只要是@前只有數字的就橫刀砍死。
我們來看這樣一個地址 a@b.cn,盡管我不知道是不是有這樣的域名,但是這應該是最短的郵件地址了,所以一個郵件地址至少有6個字節,低于的殺,a@b.c顯然不合法,自然不用理會他的內容。郵件地址超短有問題,超長也不多好,定義一個長度,太長的同樣有問題。
其實我想說的就是對發信人的地址進行分析,合法通過,非法干掉。
對應以上分析修改了qmail-smtpd.c的addrparse函數。
都是前人的經驗,整理了一下,千萬不要追究我侵權。
gadfly 回復于:2003-08-12 12:32:02
|
很不錯,比較全面
qmail anti-spam section 還有其它一些工具,
可以動態的針對主題內容進行過濾。
有興趣可以參看
http://www.fanqiang.com/a6/b4/20011124/0810001589.html
|
wolf1980 回復于:2003-08-17 16:43:08
|
真不錯!
|
emylekao 回復于:2004-11-18 10:32:30
|
第三點說的內容與http://www.chrishardie.com/tech/qmail/qmail-antispam.html#sysoption1文中說的
rblsmtpd -rrelays.ordb.org -rblackholes.mail-abuse.org
作用一致嗎?那篇文章中好像沒有提到要修改源代碼。
|
原文轉自:http://www.kjueaiud.com
老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月
|