史萊姆論壇

返回   史萊姆論壇 > 專業主討論區 > 網路疑難應用技術研討區
忘記密碼?
論壇說明

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


發文 回覆
 
主題工具 顯示模式
舊 2006-12-24, 08:59 PM   #1
Chin-Wei 帥哥
長老會員
 
Chin-Wei 的頭像
榮譽勳章
UID - 114112
在線等級: 級別:14 | 在線時長:257小時 | 升級還需:28小時級別:14 | 在線時長:257小時 | 升級還需:28小時級別:14 | 在線時長:257小時 | 升級還需:28小時級別:14 | 在線時長:257小時 | 升級還需:28小時
註冊日期: 2007-02-18
文章: 3448
精華: 0
現金: 1674 金幣
資產: 32804 金幣
預設 技術 - 曙光三百秒--終於見到一線曙光

有在管理 Mail Server 的人都知道架設 Mail Server 本身並不困難,但是後續的維護卻是所有 Server 中最難搞定的一環,尤其是與垃圾信(SPAM)的對抗,我們永遠處在下風。現在的群組發信軟體所發出的垃圾信千變萬化,一百封信可能有一百種完全不一樣的形式(pattern),若是要自行維護過濾條件根本防不勝防。所幸,拜 Open Source 社群的貢獻,讓我們有了對抗垃圾信的強力武器,例如 MailScanner、SpamAssassin、ClamAV、Procmail、DNSBL 等。但即使有了這些工具的協助,對於以動態IP使用廣告信軟體大量發送信件的垃圾郵件客,仍然無法有效的防堵,因此,才有所謂的灰名單(greylist)的誕生。

白名單(whitelist)、黑名單(blacklist)很容易理解,只要是有列在白名單上的使用者,我們就會毫不考慮地收下對方所寄送過來的郵件;反之,若是被列在黑名單上的使用者,我們則會毫不考慮地拒絕對方所寄送過來的郵件。那麼灰名單又是什麼?其實灰名單機制簡單的說,就是不管對方是任何人,當對方寄送郵件到我們的郵件主機時,我們一律拒絕對方的 "第一封信"。

這個機制的目的在於,"正常的" 郵件主機在被退信時,會在隔一定的時間之後(註1)再次嘗試寄送該信件;而廣告信寄送軟體都是丟了就跑,當它們被退信時將不會嘗試再次寄送該信件。因此利用灰名單機制就可以有效的防堵那些以動態IP,使用廣告信軟體大量發送信件的垃圾郵件客。當然,它也是有缺點的,它最主要的缺點就是會造成郵件的延遲遞送,依據對方郵件主機設定的差異,可能會延遲數分鐘至數小時。

那麼接下來就來講講最重要的實做吧!

==
註1:依據郵件主機設定上的差異,時間不一定但通常是五分鐘(300秒),因此又被稱之為 "曙光三百秒",這也是本篇文章標題的由來。






Sendmail + milter-greylist
安裝與使用說明



工作目錄:/usr/local/src

一、安裝milter-greylist
至milter-greylist官方網站下載:http://hcpnet.free.fr/milter-greylist/

tar zxvf milter-greylist-3.0.tgz
cd milter-greylist-3.0
./configure
make
make install





二、建立所需的目錄與資料庫檔案
mkdir /var/run/milter-greylist
mkdir /var/milter-greylist
touch /var/milter-greylist/greylist.db
chown smmsp.smmsp /var/run/milter-greylist
chown smmsp.smmsp /var/milter-greylist
chown smmsp.smmsp /var/milter-greylist/greylist.db
chmod 700 /var/run/milter-greylist
chmod 700 /var/milter-greylist
chmod 600 /var/milter-greylist/greylist.db





三.將 /usr/local/etc/mail/greylist.conf 複製到 /etc/mail/greylist.conf

修改greylist.conf:
pidfile "/var/run/milter-greylist/milter-greylist.pid"
verbose <= Log較多的訊息,方便debug
list "my network" addr { 127.0.0.0/8 192.168.1.0/24 } 
這個是白名單,寫在這裡面的網段不會被greylist。

把下面這二行:
acl greylist list "grey users" delay 30m autowhite 3d
acl whitelist default

改成:
#acl greylist list "grey users" delay 5m autowhite 3d
acl greylist default delay 5m autowhite 3d





四.將 /usr/local/src/milter-greylist-3.0/rc-redhat.sh 複製成 /etc/rc.d/init.d/milter-greylist

修改 /etc/rc.d/init.d/milter-greylist:

pidfile="/var/run/milter-greylist/milter-greylist.pid"
user="smmsp"
OPTIONS="-P $pidfile -p $socket -L 24"

註:
-L 24:表示以255.255.255.0 這個netmask來比對寄信方的IP,也就是只要同在一個C Class網段下就認定它們是來自相同的mail server。主要是用來work around當寄信方採用多台mail server進行負載平衡時,greylist可能產生的誤判。因為當你退信給對方,下一次對方再寄送過來的時候可能是使用不同的mail server,也就是以不同的IP來寄送。詳細資料可參考README中的第七節『Dealing with mail farms』。

在 start() 開頭,echo 指令的下方(29行處)加上:
if [ -e "/var/lock/subsys/milter-greylist" ]; then
exit 1;
fi

stop() 中的這行註解掉:
#[ $RETVAL -eq 0 ] && success || failure





五.設定開機時自動啟動 milter-greylist
chkconfig --add milter-greylist
chkconfig milter-greylist on
service milter-greylist start





六.修改 /etc/mail/sendmail.mc
在 OSTYPE(`linux')dnl 之後,MAILER(smtp)dnl 之前加上:
INPUT_MAIL_FILTER(`greylist',`S=local:/var/milter-greylist/milter-greylist.sock')dnl
define(`confMILTER_MACROS_CONNECT', `j, {if_addr}')dnl
define(`confMILTER_MACROS_HELO', `{verify}, {cert_subject}')dnl
define(`confMILTER_MACROS_ENVFROM', `i, {auth_authen}')dnl
define(`confMILTER_MACROS_ENVRCPT', `{greylist}')dnl





七.重新啟動 sendmail 或 MailScanner。
(milter-greylist 機制並不會因為使用MailScanner而有所差別,可以正常使用)




========================================
下面是我已經改好的 /etc/rc.d/init.d/milter-greylist,
懶得自己改的就直接 copy 回去用吧。

引用:
#!/bin/sh
# $Id: rc-redhat.sh.in,v 1.7 2006/08/20 05:20:51 manu Exp $
# init file for milter-greylist
#
# chkconfig: - 79 21
# description: Milter Greylist Daemon
#
# processname: /usr/local/bin/milter-greylist
# config: /etc/mail/greylist.conf
# pidfile: /var/run/milter-greylist/milter-greylist.pid

# source function library
. /etc/init.d/functions

pidfile="/var/run/milter-greylist/milter-greylist.pid"
socket="/var/milter-greylist/milter-greylist.sock"
user="smmsp"
OPTIONS="-P $pidfile -p $socket -L 24"

if [ -f /etc/sysconfig/milter-greylist ]
then
. /etc/sysconfig/milter-greylist
fi
RETVAL=0
prog="Milter-Greylist"

start() {
echo -n $"Starting $prog: "
if [ -e "/var/lock/subsys/milter-greylist" ]; then
exit 1;
fi

if [ $UID -ne 0 ]; then
RETVAL=1
failure
else
daemon /usr/local/bin/milter-greylist -u $user $OPTIONS
RETVAL=$?
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/milter-greylist
[ $RETVAL -eq 0 ] && success || failure
fi;
echo
return $RETVAL
}
stop() {
echo -n $"Stopping $prog: "
if [ $UID -ne 0 ]; then
RETVAL=1
failure
else
killproc /usr/local/bin/milter-greylist
RETVAL=$?
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/milter-greylist
#[ $RETVAL -eq 0 ] && success || failure
fi;
echo
return $RETVAL
}
restart(){
stop
start
}

condrestart(){
[ -e /var/lock/subsys/milter-greylist ] && restart
return 0
}

case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
condrestart)
condrestart
;;
status)
status milter-greylist
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart}"
RETVAL=1
esac
exit $RETVAL


==
在 Open Source 社群之中,你我並不孤單.....

此帖於 2006-12-24 09:18 PM 被 Chin-Wei 編輯.
__________________
思考,正是從一個錯誤,跳進另外一個錯誤。
Chin-Wei 目前離線  
送花文章: 5387, 收花文章: 1361 篇, 收花: 5457 次
回覆時引用此帖
有 3 位會員向 Chin-Wei 送花:
zasiza (2007-01-13),微風輕狂 (2007-01-11),飛鳥 (2006-12-25)
感謝您發表一篇好文章
舊 2006-12-24, 09:04 PM   #2 (permalink)
長老會員
 
Chin-Wei 的頭像
榮譽勳章
UID - 114112
在線等級: 級別:14 | 在線時長:257小時 | 升級還需:28小時級別:14 | 在線時長:257小時 | 升級還需:28小時級別:14 | 在線時長:257小時 | 升級還需:28小時級別:14 | 在線時長:257小時 | 升級還需:28小時
註冊日期: 2007-02-18
文章: 3448
精華: 0
現金: 1674 金幣
資產: 32804 金幣
預設

阿鳥老大,偶的 Sendmail + ClamAV + SpamAssassin + MailScanner + DNSBL + Milter-Greylist + MailSanner-MRTG 終於完全建置完畢,蘿莉團中央黨部主機終於可以免除spam的侵害...


http://blogimage.roodo.com/onion_club/331099f6.jpg
感動啊.......

此帖於 2006-12-24 09:18 PM 被 Chin-Wei 編輯.
Chin-Wei 目前離線  
送花文章: 5387, 收花文章: 1361 篇, 收花: 5457 次
回覆時引用此帖
舊 2006-12-24, 09:50 PM   #3 (permalink)
管理版主
 
superxboy 的頭像
榮譽勳章
UID - 21259
在線等級: 級別:55 | 在線時長:3359小時 | 升級還需:1小時級別:55 | 在線時長:3359小時 | 升級還需:1小時級別:55 | 在線時長:3359小時 | 升級還需:1小時級別:55 | 在線時長:3359小時 | 升級還需:1小時級別:55 | 在線時長:3359小時 | 升級還需:1小時
註冊日期: 2003-01-02
住址: 北極
文章: 10335
現金: 130 金幣
資產: 844182589 金幣
預設

引用:
作者: Chin-Wei
阿鳥老大,偶的 Sendmail + ClamAV + SpamAssassin + MailScanner + DNSBL + Milter-Greylist + MailSanner-MRTG 終於完全建置完畢,蘿莉團中央黨部主機終於可以免除spam的侵害...


http://blogimage.roodo.com/onion_club/331099f6.jpg
感動啊.......
我來開發廣告信寄信軟體好了...=.=...目標攻破蘿莉團中央黨部主機...盜取所有蘿莉
__________________
http://images.gamebase.com.tw/mybase/32/05/281/happy_card_000002776.jpg
愛的時候,可以不公平;不愛了、分開了,總該公平了吧

重情重義重粉味 愛台愛鄉愛查某
superxboy 目前離線  
送花文章: 3254, 收花文章: 4835 篇, 收花: 21651 次
回覆時引用此帖
舊 2006-12-24, 10:39 PM   #4 (permalink)
註冊會員
 
莊孝偉 的頭像
榮譽勳章
UID - 258986
在線等級: 級別:50 | 在線時長:2790小時 | 升級還需:15小時級別:50 | 在線時長:2790小時 | 升級還需:15小時級別:50 | 在線時長:2790小時 | 升級還需:15小時級別:50 | 在線時長:2790小時 | 升級還需:15小時級別:50 | 在線時長:2790小時 | 升級還需:15小時
註冊日期: 2006-12-17
文章: 2245
精華: 0
現金: 5984 金幣
資產: 21152 金幣
預設

好棒的洋蔥頭
莊孝偉 目前離線  
送花文章: 9114, 收花文章: 2043 篇, 收花: 8026 次
回覆時引用此帖
舊 2006-12-25, 12:22 AM   #5 (permalink)
協調管理員
 
飛鳥 的頭像
榮譽勳章
UID - 23073
在線等級: 級別:72 | 在線時長:5513小時 | 升級還需:108小時級別:72 | 在線時長:5513小時 | 升級還需:108小時
註冊日期: 2003-01-07
VIP期限: 無限期
住址: 史萊姆團隊
文章: 7199
精華: 11
現金: 837 金幣
資產: 260029 金幣
預設

Open Source,自我加入中,我支持Open Source

Chin-Wei老大最強了,給你拍拍手
__________________
http://flybird017.googlepages.com/quok.gif http://flybird020.googlepages.com/new321.gif
寶貝你我的地球
, 請 少開電器,減少溫室氣體排放外,多種植植物,減少列印, 多用背面,丟棄時做垃圾分類。

http://netgames123.googlepages.com/tobikeways.jpg

飛鳥 目前離線  
送花文章: 11706, 收花文章: 3363 篇, 收花: 16453 次
回覆時引用此帖
向 飛鳥 送花的會員:
Chin-Wei (2006-12-25)
感謝您發表一篇好文章
舊 2006-12-25, 01:00 AM   #6 (permalink)
長老會員
 
Chin-Wei 的頭像
榮譽勳章
UID - 114112
在線等級: 級別:14 | 在線時長:257小時 | 升級還需:28小時級別:14 | 在線時長:257小時 | 升級還需:28小時級別:14 | 在線時長:257小時 | 升級還需:28小時級別:14 | 在線時長:257小時 | 升級還需:28小時
註冊日期: 2007-02-18
文章: 3448
精華: 0
現金: 1674 金幣
資產: 32804 金幣
預設

引用:
作者: superxboy
我來開發廣告信寄信軟體好了...=.=...目標攻破蘿莉團中央黨部主機...盜取所有蘿莉

http://img260.imageshack.us/img260/439/1avi000649382tx8.jpg
偶永恆不滅的蘿莉團豈是區區藍星人可以擊敗的了的
Chin-Wei 目前離線  
送花文章: 5387, 收花文章: 1361 篇, 收花: 5457 次
回覆時引用此帖
發文 回覆



發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用


所有時間均為台北時間。現在的時間是 04:20 AM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1