歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

Qmail加裝自動殺毒

  第一章

  Qmail-scan+Mcafee VirusScan Command Line

  qmail-scan的網站 http://qmail-scanner.sourceforge.net/,最新版本1.22

  需要依賴的程序

  reformime (來自 Maildrop 1.3.8+ )  Perl 5.6.1  Perl module Time::HiRes  Perl module DB_File (可能不需要或者系統已經存在)  Perl module Sys::Syslog (可能不需要或者系統已經存在)  TNEF unpacker

  這裡介紹手動安裝,主要是不想重新編譯Qmail加入QMAILQUEUE

  安裝Mcafee VirusScan Command Line,並且將uvscan ln到/usr/local/bin 和 .so文件ln到/usr/local/lib

  tar zxf qmail-scanner-1.22.gz  cd qmail-scanner-1.22

  配置qmail-scanner,路徑自定義,yourdomain替換為你的域名,詳細的參看./configure --help

./configure --spooldir /mail/qmailscan --qmaildir /mail/qmail --bindir /mail/qmail/bin --qmail-queue-binary /mail/qmail/bin/qmail-queue.real  --admin root --domain yourdomain --notify recips --local-domains yourdomain --silent-viruses auto --lang en_GB --debug no --unzip 1 --add-dscr-hdrs 0 --archive 0 --redundant no --log-details 0 --log-crypto 0 --fix-mime 2  --scanners "uvscan" --ignore-eol-check 0 --no-QQ-check

  添加用戶和組

pw groupadd qscand -g 65530pw useradd qscand -g qscand -d /mail/qmailscan -s /nonexistent -u 65530   創建目錄

mkdir -p /mail/qmailscanmkdir -p /mail/qmailscan/quarantine/tmp /mail/qmailscan/quarantine/cur /mail/qmailscan/quarantine/newmkdir -p /mail/qmailscan/working/tmp /mail/qmailscan/working/cur /mail/qmailscan/working/newmkdir -p /mail/qmailscan/archive/tmp /mail/qmailscan/archive/cur /mail/qmailscan/archive/new   復制文件,設置權限

cp quarantine-attachments.txt /mail/qmailscan/chown -R qscand.qscand /mail/qmailscan/cp qmail-scanner-queue.pl /mail/qmail/bin/qmail-scanner-queue.plchown qscand.qscand /mail/qmail/bin/qmail-scanner-queue.plchmod 4755  /mail/qmail/bin/qmail-scanner-queue.pl   初始化qmail-scan,代替qmail-queue先調用

/mail/qmail/bin/qmail-scanner-queue.pl -h/mail/qmail/bin/qmail-scanner-queue.pl -z/mail/qmail/bin/qmail-scanner-queue.pl -gmv /mail/qmail/bin/qmail-queue /mail/qmail/bin/qmail-queue.realln -s /mail/qmail/bin/qmail-scanner-queue.pl /mail/qmail/bin/qmail-queue

  mcafee病毒庫自動更新腳本update.sh, 放在uvscan目錄下面

#!/bin/shinstall_Directory=`dirname $0`mkdir /tmp/dat-updatescd /tmp/dat-updatescurrent_version=`$install_directory/uvscan --version grep "Virus data file" awk '{ print substr($4,2,4) }'`FTP "ftp://ftp.nai.com/pub/datfiles/english/dat-*.tar"new_version=`echo dat-*.tar awk '{ print substr($1,5,4) }'`if [ "$current_version" -ge "$new_version" ]    then        echo "No new .DATs available at this time"        echo "Currently installed version: $current_version"        echo "Version on FTP site:         $new_version"    else        tar -xf dat-*.tar        for file in `tar -tf dat-*.tar`          do            newfile=`echo $file tr [A-Z] [a-z]`            mv -f ./$file "$install_directory/$newfile"          done        current_version=`$install_directory/uvscan --version grep "Virus data file" awk '{ print substr($4,2,4) }'`        if [ ! "$current_version" -eq "$new_version" ]            then                echo "DAT file updates did not work correctly."                echo "Please try manually."            else                echo "DAT file updates sUCcessful"                echo "Currently installed version: $current_version"        fificd /rm -rf /tmp/dat-updateschmod +x update.sh  做個crond每6小時更新一次




0 */6 * * * /uvscan-path/update.sh

  如果郵件系統負荷很大,可以考慮使用sophie+sophos來做

  sophie能夠作為一個daemon,將病毒引擎和病毒庫裝載在內存中,然後創建一個socket供其他程序調用

  以下簡略說明一下

  1.安裝好sophos,默認路徑為 /usr/local/sav

ln -s /usr/local/sav/libsavi.so /usr/local/sav/libsavi.so.3ln -s /usr/local/sav/libsavi.so /usr/local/lib/libsavi.so.3

  運行./sweep能夠正常給出參數信息

  2.下載sophie,編譯,安裝

./configure --prefix=/usr/local/sav/sophie --with-savilib=/usr/local/savmakemkdir /usr/local/sav/sophiemkdir /usr/local/sav/sophie/binmkdir /usr/local/sav/sophie/etcmkdir /usr/local/sav/sophie/varcp sophie /usr/local/sav/sophie/binln -s /usr/local/sav/sophie/bin/sophie /usr/local/bin/cp etc/sophie.cfg etc/sophie.savi /usr/local/sav/sophie/etcln -s /usr/local/sav/sophie/etc/sophie.cfg /etc/

  手動設置好/usr/local/sav/sophie/etc 下面的sophie.cfg和sophie.savi

  注意sophie.cfg裡面的設置sophie運行的用戶用root,組用qscand

  sophie.savi可以將所有類型的檢查都打開,例如zip/rar之類的

  先直接啟動sophie, /usr/local/bin/sophie

  3.重新配置qmail-scanner

./configure --spooldir /mail/qmailscan --qmaildir /mail/qmail --bindir /mail/qmail/bin --qmail-queue-binary /mail/qmail/bin/qmail-queue.real --admin root --domain yourdomain --notify recips --local-domains yourdomain --silent-viruses auto --lang en_GB --debug no --unzip 1 --add-dscr-hdrs 0 --archive 0 --redundant no --log-details 0 --log-crypto 0 --fix-mime 1 --scanners "sophie" --ignore-eol-check 0 --no-QQ-check

....

  因為sophie能夠直接檢查zip等,可以將qmail-scanner裡面關於zip/tnef這些的變量值設為空

  例如my $unzip_binary='';

............

  4.一切工作正常,就可以將sophie放入後台運行sophie -D

  5.關於病毒庫更新

  在 http://www.sophos.com/downloads/ide

  找到對應你的sophos的版本的ide的更新下載URL,我的是3.80為http://www.sophos.com/downloads/ide/380_ides.zip

  寫個script自動更新

cd /usr/local/savrm 380_ides.zipfetch -q "http://www.sophos.com/downloads/ide/380_ides.zip"unzip -o -qq 380_ides.zipkill -HUP `cat /usr/local/sav/sophie/var/sophie.pid`

  有關sophie,參見

http://www.vanja.com/tools/sophie/

  並且閱讀qmail-scanner的FAQ

  另外,qmail-scanner建議使用daemontools來運行sophie

  用於限制sophie的資源使用和檢查sophie daemon是否還活著

  另外,發現必須用perl 5.6才能跑起來 qmail-scanner 不知道是不是RPWT



0 */6 * * * /uvscan-path/update.sh

  如果郵件系統負荷很大,可以考慮使用sophie+sophos來做

  sophie能夠作為一個daemon,將病毒引擎和病毒庫裝載在內存中,然後創建一個socket供其他程序調用

  以下簡略說明一下

  1.安裝好sophos,默認路徑為 /usr/local/sav

ln -s /usr/local/sav/libsavi.so /usr/local/sav/libsavi.so.3ln -s /usr/local/sav/libsavi.so /usr/local/lib/libsavi.so.3

  運行./sweep能夠正常給出參數信息

  2.下載sophie,編譯,安裝

./configure --prefix=/usr/local/sav/sophie --with-savilib=/usr/local/savmakemkdir /usr/local/sav/sophiemkdir /usr/local/sav/sophie/binmkdir /usr/local/sav/sophie/etcmkdir /usr/local/sav/sophie/varcp sophie /usr/local/sav/sophie/binln -s /usr/local/sav/sophie/bin/sophie /usr/local/bin/cp etc/sophie.cfg etc/sophie.savi /usr/local/sav/sophie/etcln -s /usr/local/sav/sophie/etc/sophie.cfg /etc/

  手動設置好/usr/local/sav/sophie/etc 下面的sophie.cfg和sophie.savi

  注意sophie.cfg裡面的設置sophie運行的用戶用root,組用qscand

  sophie.savi可以將所有類型的檢查都打開,例如zip/rar之類的

  先直接啟動sophie, /usr/local/bin/sophie

  3.重新配置qmail-scanner

./configure --spooldir /mail/qmailscan --qmaildir /mail/qmail --bindir /mail/qmail/bin --qmail-queue-binary /mail/qmail/bin/qmail-queue.real --admin root --domain yourdomain --notify recips --local-domains yourdomain --silent-viruses auto --lang en_GB --debug no --unzip 1 --add-dscr-hdrs 0 --archive 0 --redundant no --log-details 0 --log-crypto 0 --fix-mime 1 --scanners "sophie" --ignore-eol-check 0 --no-QQ-check

....

  因為sophie能夠直接檢查zip等,可以將qmail-scanner裡面關於zip/tnef這些的變量值設為空

  例如my $unzip_binary='';

............

  4.一切工作正常,就可以將sophie放入後台運行sophie -D

  5.關於病毒庫更新

  在 http://www.sophos.com/downloads/ide

  找到對應你的sophos的版本的ide的更新下載URL,我的是3.80為http://www.sophos.com/downloads/ide/380_ides.zip

  寫個script自動更新

cd /usr/local/savrm 380_ides.zipfetch -q "http://www.sophos.com/downloads/ide/380_ides.zip"unzip -o -qq 380_ides.zipkill -HUP `cat /usr/local/sav/sophie/var/sophie.pid`

  有關sophie,參見

http://www.vanja.com/tools/sophie/

  並且閱讀qmail-scanner的FAQ

  另外,qmail-scanner建議使用daemontools來運行sophie



  用於限制sophie的資源使用和檢查sophie daemon是否還活著

  另外,發現必須用perl 5.6才能跑起來 qmail-scanner 不知道是不是RPWT



Copyright © Linux教程網 All Rights Reserved