快速架设mail过滤系统

ZDNet软件频道 时间:2008-08-15 作者: | LUPA开源社区 我要评论()
本文关键词:过滤系统 mail 架设 Linux
我们大概都知道目前virus大多是经过e-mail来传播的。而且很多公司的使用计算机的人员对   于附档名是exe,vbs,这类的大多不会有戒心,反正有的看东西就照看。
我们大概都知道目前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.nn";
  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;
  

百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134