当前位置:操作系统 > Unix/Linux >>

Linux下qmail邮件系统防毒部分修订版

QMAIL-SCANNER + CLAMAV + MAILDROP for QMAIL

  代码:

  1.0所需软件:

  maildrop-1.5.2.20030423.tar.gz

  perl-Time-HiRes-1.38-3.i386.rpm

  perl-DB_File-1.804-88.4.i386.rpm

  clamav-0.65.tar.gz

  qmail-scanner-1.20.tgz

  2.0安装maildrop:

  # tar zxvf maildrop-1.5.2.20030423.tar.gz

  # cd maildrop-1.5.2.20030423

  # ./configure

  # make

  # make install-strip

  # make install-man

  3.0安装 perl插件

  # rpm -ivh perl-Time-HiRes-1.38-3.i386.rpm

  # rpm -ivh perl-DB_File-1.804-88.4.i386.rpm

  4.0安装clamav-0.65.tar.gz

  # groupadd clamav

  # useradd -g clamav ?d /usr/local/share/clamav -s /bin/false clamav

  # tar zxvf clamav-0.65.tar.gz

  # cd clamav-0.65

  # ./configure

  # make check

  # make install

  # vi /usr/local/etc/clamav.conf

  ===============================clamav.conf============================

  # Comment or remove the line below.

  #Example

  LogFile /var/log/clamd.log

  LogFileMaxSize 1M

  LogTime

  LogVerbose

  PidFile /var/run/clamd.pid

  DataDirectory /usr/local/share/clamav

  LocalSocket /tmp/clamd

  StreamMaxLength 10M

  MaxThreads 10

  MaxDirectoryRecursion 15

  User clamav

  ScanMail

  ScanArchive

  ScanRAR

  ArchiveMaxFileSize 10M

  ArchiveMaxRecursion 5

  ArchiveMaxFiles 1000

  ClamukoScanOnOpen

  ClamukoScanOnClose

  ClamukoScanOnExec

  ClamukoIncludePath /home/vpopmail

  ClamukoMaxFileSize 6M

  ClamukoScanArchive

  ===============================clamav.conf============================

  # touch /var/log/clamd.log

  # chown clamav:clamav /var/log/clamd.log

  4.1建立clamav的启动脚本:

  # vi /etc/init.d/clamd

  ==================================clamd===============================

  #! /bin/bash

  #

  # crond

  Start/Stop the clam antivirus daemon.

  #

  # chkconfig: 2345 90 60

  # description: clamdis a standard UNIX program that scans for Viruses.

  # processname: clamd

  # config: /usr/local/etc/clamav.conf

  # pidfile: /var/run/clamd.pid

  # Source function library.

  . /etc/init.d/functions

  RETVAL=0

  # See how we were called.

  prog="clamd"

  progdir="/usr/local/sbin"

  # Source configuration

  if [ -f /etc/sysconfig/$prog ] ; then

  . /etc/sysconfig/$prog

  fi

  start() {

  echo -n $"Starting $prog: "

  daemon $progdir/$prog

  RETVAL=$?

  echo

  [ $RETVAL -eq 0 ] && touch /var/run/clamd.pid

  return $RETVAL

  }

  stop() {

  echo -n $"Stopping $prog: "

  killproc $prog

  RETVAL=$?

  echo

  [ $RETVAL -eq 0 ] && rm -f /var/run/clamd.pid /tmp/clamd

  return $RETVAL

  }

  rhstatus() {

  status clamd

  }

  restart() {

  stop

  start

  }

  reload() {

  echo -n $"Reloading clam daemon configuration: "

  killproc clamd -HUP

  retval=$?

  echo

  return $RETVAL

  }

  case "$1" in

  start)

  start

  ;;

  stop)

  stop

  ;;

  restart)

  restart

  ;;

  reload)

  reload

  ;;

  status)

  rhstatus

  ;;

  condrestart)

  [ -f /var/lock/subsys/clamd ] && restart || :

  ;;

  *)

  echo $"Usage: $0 {start|stop|status|reload|restart|condrestart}"

  exit 1

  esac

  exit 0

  ==================================clamd===============================

  # chmod 755 /etc/init.d/clamd

  # chkconfig ?add clamd

  # chkconfig clamd on

  4.2更新病毒库

  # /usr/local/bin/freshclam

  4.3定时更新病毒库

  # crontab ?e

  00 9 * * * /usr/local/bin/freshclam --quiet

  5.0安装qmail-scanner-1.20.tgz

  # groupadd qscand

  # useradd -g qscand -s /bin/false qscand

  # tar zxvf qmail-scanner-1.20.tgz

  # cd qmail-scanner-1.20

  # ./configure

  --qmail-queue-binary /var/qmail/bin/qmail-queue

  --admin postmaster

  --domain nero.3322.org

  --notify sender,admin

  --local-domains nero.3322.org

  --lang en_GB

  --debug yes

  --unzip yes

  --scanners clamscan

  --install

  # chown qscand:qscand /var/qmail/bin/qmail-scanner-queue.pl

  # chmod 4755 /var/qmail/bin/qmail-scanner-queue.pl

  然后用一个普通用户执行/var/qmail/bin/qmail-scanner-queue.pl -z

  如果有Can't do setuid出现,回到安装文件目录,有个contrib目录,

  # cd contrib

  # make

  # make install

  附加作如下步骤:

  # chown qscand:qscand /var/qmail/bin/qmail-scanner-queue

  # chmod 4755 /var/qmail/bin/qmail-scanner-queue

  # chmod 0755 /var/qmail/bin/qmail-scanner-queue.pl

  然后用一个普通用户登陆,执行

  # /var/qmail/bin/qmail-scanner-queue -z

  # /var/qmail/bin/qmail-scanner-queue -g

  5.1修改环境变量

  在你的qmail启动脚本加入

  QMAILQUEUE=/var/qmail/bin/qmail-scanner-queue.pl

  export QMAILQUEUE

  如果作了附加步骤用下面的

  QMAILQUEUE=/var/qmail/bin/qmail-scanner-queue

  export QMAILQUEUE

  修改qmail-scanner-queue.pl中的

  my $clamscan_options="-r --disable-summary --max-recursion=10 --max-space=1000000";

  为:

  my $clamscan_options="-r --mbox --disable-summary --max-recursion=10 --max-space=1000000";

  5.2重起qmail 测试

  这里有测试程序

  # /qmail-scanner-1.20/contrib/test_installation.sh -doit

  5.3主要的排错监测日志:

  /var/log/maillog

  /var/log/clamd.log

  /var/spool/qmailscan/quarantine.log

  /var/spool/qmailscan/qmail-queue.log

  

上一个:SOLARIS+QMAIL+VPOPMAIL+IGENUS+QMAILAMDIN
下一个:经验与技巧:Openserver启动盘制作

更多Unix/Linux疑问解答:
路由原理介绍
子网掩码快速算法
改变网络接口的速度和协商方式的工具miitool和ethtool
Loopback口的作用汇总
OSPF的童话
增强的ACL修改功能
三层交换机和路由器的比较
用三层交换机组建校园网
4到7层交换识别内容
SPARC中如何安装Linux系统(2)
SPARC中如何安装Linux系统(1)
用Swatch做Linux日志分析
实战多种Linux操作系统共存
浅析Linux系统帐户的管理和审计
Linux2.6对新型CPU的支持(2)
电脑通通透
玩转网络
IE/注册表
DOS/Win9x
Windows Xp
Windows 2000
Windows 2003
Windows Vista
Windows 2008
Windows7
Unix/Linux
苹果机Mac OS
windows8
安卓/Android
Windows10
如果你遇到操作系统难题:
访问www.zzzyk.com 试试
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,