中国网管论坛's Archiver

haoyan800 发表于 2008-1-20 17:35

快速架设mail过滤系统

我们大概都知道目前virus大多是经过e-mail来传播的。而且很多公司的使用计算机的人员对

  于附档名是exe,vbs,这类的大多不会有戒心,反正有的看东西就照看。谁知道一点,就变

  成了传播vires的人了,而且因此计算机当机了还会装出一个无辜的脸请MIS的人来看,所以呢

  我就来说一些免钱的解决方法,

  一:

  请到这个网站下载程序。

  [url]http://batemail.sourceforge.net/[/url]

  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;

  

玻璃茬子 发表于 2008-1-20 18:53

不错不错  顶一下。

页: [1]

Powered by Discuz! Archiver 6.1.0  © 1999-2008 bbs.bitsCN.com