作者: 我本善良 (---.eric.net.tw) 日期: 01/05/29 14:25 我們大概都知道目前virus大多是經過e-mail來傳播的。而且很多公司的使用電腦的人員對 於附檔名是exe,vbs,這類的大多不會有戒心,反正有的看東西就照看。誰知道一點,就變 成了傳播vires的人了,而且因此電腦當機了還會裝出一個無辜的臉請MIS的人來看,所以呢 我就來說一些免錢的解決方法, 一: 請到這個網站下載程式。 http://batemail.sourceforge.net/ batemail-0.6.1.tgz 二: cp /etc/sendmail.cf /etc/sendmail.cf.old chmod 600 sendmail.cf.old 三: Mlocal, P=/usr/bin/procmail, F=lsDFMAw5:/|@qShP, S=10/30, R=20/40, T=DNS/RFC822/X-Unix, A=procmail -a $h -d $u 把sendmail.cf上頭的東西改成底下 Mlocal, P=/usr/local/bin/batemail, F=lsDFMAw5/|@qShP, S=10/30, R=20/40, T=DNS/RFC822/X-Unix, A=batemail -a $h -d $u 請注意/usr/local/bin/batemail 這個是指您把程式放在哪裡。不想放這裡您就自已改之。 四:把batemail-0.6.1.tgz裡頭的notice檔放在/usr/local/etc/ 當然這個檔是可以改成中 文的。想改什麼自已動。 五:重新啟動 sendmail ,現在您的 mail server 已可過濾 exe.com.vbs.scr等副檔名為 此的附加檔。如果您連mpg . mp3 也想過濾,去看看batemail的程式自已改吧,很容易的。 嗯…下課 ******************************* 第二課:自動拷貝信件給某人 作者: 我本善良 (211.75.137.---) 日期: 01/05/29 22:08 一: 在程式加上這個變數 $USER="/var/spool/mail/asako"; 這裡指的是所有的信件都會轉寄給這個人,那為什麼要放這裡,因為這樣才可以用pop3 的 client 來收信,我想您該不會叫老板用pine來看信吧。 二:修改 batemail檔案 system($execstr); exec("/bin/cat $tempname >> $USER"); << 加入這一行 unlink($tempname); 程式修改完成,您不用重新啟動sendmail,試著寄封信看看是不是ok呢… 請自行搭配.forward 的功能,這樣大概公司所有的信件都跑不掉了。 嗯…第二節說到這裡,下課… PS...請網管人員勿作坯事,畢竟偷看別人的信件不是很好…如果你作了,請不要說是我教 的^^。 ********************** 只警告不殺檔的作法 作者: 我本善良 (211.75.137.---) 日期: 01/05/31 23:44 最後一課了,也請網友不要再寫信來問我有關這個程式的一些奇怪的問題,謝謝合作。 一: 設個變數 $NOTICEFILE1="/usr/local/etc/notice1"; 這裡的 notice1 表示您要提示的內容 二: 在 sub IsBoundary() 裡有個 return -1; 改為 return -2; 三:新加一個 function sub PrintEx { my $result; $result = open (NOTICE1, $NOTICEFILE1); if ($result) { while () { print; } close (NOTICE1); } else # A default notice, in case there isn't a valid notice file { print "This message has been altered to remove potentially "; print "malicious content.\n\n"; print "Please contact your network administrator for "; print "more information.\n"; LogIt("Warning: No notice file present"); } return 0; } 四: 找到以下的程式 $match=IsBoundary($line); if ($match > -1) { PrintEx(); <<< 加入這一行 print $line; 五: LogIt("Blocking attachment"); # Tell the poor sod why we mangled his email 加上 # 號>> # PrintExplanation(); $banning=$match; 收工下課 ps…我沒有很仔細的測過,所以不保証未來會不會出問題。有問題那您就得自行負責囉。 |