作者: 我本善良 (---.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…我沒有很仔細的測過,所以不保証未來會不會出問題。有問題那您就得自行負責囉。