• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • Amavisd-new+postfix在Fedora 上的安裝

    發表于:2007-07-04來源:作者:點擊數: 標簽:
    Amavisd-new是郵件代理伺服器(MTA)和防毒軟件之間的中介程式,搭配其他病毒掃描軟件,如Clam Antivirus、Sophos Sweep等(這里假設你用的是ClamAntivirus,它的安裝方法,我將另外再寫一份,到時和這篇合起來參才就是一個完整的郵件防毒軟件安裝手冊了),就
    Amavisd-new是郵件代理伺服器(MTA)和防毒軟件之間的中介程式,搭配其他病毒掃描軟件,如Clam Antivirus、Sophos Sweep等(這里假設你用的是ClamAntivirus,它的安裝方法,我將另外再寫一份,到時和這篇合起來參才就是一個完整的郵件防毒軟件安裝手冊了),就可以讓郵件伺服器過濾含有病毒的郵件。
    這套軟件的安裝比較復雜,因為防毒的需要,涉及到其他很多的模塊,類似Rar 、Zip等等,在裝Amavisd-new前一定要裝好它們;
    需要的模塊分為兩部份,下面分別列出。
    一、外部的程式
    compress,
    gzip,
    bzip2,
    nomarch (or arc),
    lha,
    arj (or unarj),
    rar (or unrar),
    zoo,
    pax,
    cpio,
    lzop,
    freeze (or unfreeze or melt),
    ripole.
    cabextract
    在安裝這些模塊之前,可以用rpm -ihv來查詢一下,你的FC3下面有沒有自帶的,如果有,那最好不過了,可以跳過它來安裝接下來模塊。
    如果沒有,可以到這個網址上面去下載它的rpm包,網址:http://dag.wieers.com/packages/,下載之后,直接安裝它。也可以直接到它們自己的官方網站上下載。
    這些模塊的下載網址列表如下:



    * file: ftp://ftp.astron.com/pub/file/
    compress: ftp://ftp.warwick.ac.uk/pub/compression/
    * gzip: http://www.gzip.org/
    bzip2: http://sources.redhat.com/bzip2/
    nomarch: http://rus.members.beeb.net/nomarch.html
    arc: ftp://ftp.kiarchive.ru/pub/unix/arcers/
    lha: http://www2m.biglobe.ne.jp/~dolphin/lha/prog/
    unarj: ftp://ftp.kiarchive.ru/pub/unix/arcers/
    arj: http://testcase.newmail.ru/files/ (arj is preferable to unarj)
    rar, unrar: http://www.rarsoft.com/, ftp://ftp.kiarchive.ru/pub/unix/arcers/
    (rar is preferable to unrar)
    zoo: ftp://ftp.kiarchive.ru/pub/unix/arcers/
    lzop: http://www.lzop.org/download/
    freeze: ftp://ftp.warwick.ac.uk/pub/compression/
    ripOLE: http://www.pldaniels.com/ripole/
    * pax: http://www.gnu.org/software/paxutils/
    or: http://heirloom.sourceforge.net/
    cpio: http://www.gnu.org/software/cpio/
    or: http://heirloom.sourceforge.net/
    * ClamAV: http://clamav.elektrapro.com/ (open source virus scanner)
    SAVI: http://www.csupomona.edu/~henson/www/projects/SAVI-Perl/dist/
    dspam: http://www.nuclearelephant.com/projects/dspam/
    cabextract http://heidelberg.freshrpms.net/rpm.html?id=29
    bdb: http://www.sleepycat.com/ (Berkeley db libr. used via BerkeleyDB)
    因為模塊較多,尋找及下載時間相當費時間,而且安裝時因為模塊的依賴關系相互纏繞,很難理清,往往一個模塊的安裝需要其他的.so文件,
    而且那個.so文件又依賴其他的.so文件,為了程式能夠正常處理下去,你就不得不把一個個模塊安裝下去,因為不知道到底還有多少個依賴,
    每次裝完之后就又出現另外一個,這種不休不止的感覺讓人煩燥,好了,廢話不多說了,總之提醒你,耐心安裝就對了,沒有處理不了的依賴。
    因為compress沒有rpm包,只能下載它的tar ball安裝檔案,所以跟其他的套件的安裝方式不同,這里對它進行說明一下:
    1下載它的套件,這需要一點時間,視你的網路而定,我的是128K專線,所以我有時間可以小息一下,中間確實喝了一杯茶,linux總是這樣讓人覺得很悠閑的樣子。
    #wget ftp://ftp.warwick.ac.uk/pub/compression/compress-4.0.1.tar.gz

    --21:11:50-- ftp://ftp.warwick.ac.uk/pub/compression/compress-4.0.1.tar.gz
    => `compress-4.0.1.tar.gz'
    正在查找主機 ftp.warwick.ac.uk... 137.205.192.13
    正在連接 ftp.warwick.ac.uk[137.205.192.13]:21... 連上了。
    以 anonymous 的身份登入... 登入完成!
    ==> SYST ... 完成。 ==> PWD ... 完成。
    ==> TYPE I ... 完成。 ==> CWD /pub/compression ... 完成。
    ==> PASV ... 完成。 ==> RETR compress-4.0.1.tar.gz ... 完成。
    長度:23,713 (非正式資料)

    100%[=====================================================================>] 23,713 2.02K/s ETA 00:00

    21:14:48 (2.02 KB/s) - `compress-4.0.1.tar.gz' saved [23,713]
    這樣就表示已經下載完成了,接著可以進行下一步了。
    2把它解壓縮到/usr/local/src/compress(你也可以把它解壓到你想要的目錄里面或者你的~目錄里,由你自己選擇,這里以/usr/local/src/compress
    為例,沒有什么特別的用意,純屬個人喜歡問題)
    #mkdir /usr/local/src/compress
    #tar -zxvf compress-4.0.1.tar.gz -C /usr/local/src/compress
    #cd /usr/local/src/compress
    #make
    #make install
    Ok安裝完成。
    假設你把以上所需套件都安裝全了,我們接著往下進行Perl相關套件的安裝。
    二、Perl相關套件的安裝
    Amavisd-new對Perl的依賴程度相當高,因為它本身大部份都是用Perl寫成的包括它的執行檔,透過它所需要的Perl模組就可以很清楚地知道了。
    官方網站列出它所需的Perl模組,如下:
    Archive::Tar (Archive-Tar-x.xx)
    Archive::Zip (Archive-Zip-x.xx) (1.14 or later should be used!)
    Compress::Zlib (Compress-Zlib-x.xx)
    Convert::TNEF (Convert-TNEF-x.xx)
    Convert::UUlib (Convert-UUlib-x.xxx) (stick to the new versions!)
    MIME::Base64 (MIME-Base64-x.xx)
    MIME::Parser (MIME-Tools-x.xxxx) (latest version from CPAN - currently 5.415)
    Mail::Internet (MailTools-1.58 or later have workarounds for Perl 5.8.0 bugs)
    Net::Server (Net-Server-x.xx)
    Net::SMTP (libnet-x.xx) (use libnet-1.16 or latter for performance)
    Digest::MD5 (Digest-MD5-x.xx)
    IO::Stringy (IO-stringy-x.xxx)
    Time::HiRes (Time-HiRes-x.xx) (use 1.49 or later, some older cause problems)
    Unix::Syslog (Unix-Syslog-x.xxx)
    BerkeleyDB with bdb library 3.2 or later (4.2 or later preferred)
    這些是基本的模組,也就是說安裝Amavisd-new前必需安裝以下的Perl模組,少一個都不行,我因為沒有安裝BerkeleyDB,安裝好Amavisd-new之
    后進行測試,死活不通,弄得我頭破血流。
    在Fedora core3里默認安裝有5.85的Perl版本,所以我們不必花費時間再去下載與安裝它,如果在你的電腦上是第一次使用它,那么開始前需要對
    它進行配置,配置很簡單,但也很重要,尤其是里面的多個url的選擇,我一開始只選了一個,在安裝模組時有很多找不到,可把我害慘了,后來重新配
    置一次,才行。所以說配置好它很重要這里我不多說,以后我再把自己的操作感受寫出來,供大家參考。
    我們可以透過Perl的CPAN方式來進行安裝,先在終端機視窗里執行下面這條指令。
    #Perl -MCPAN -e shell
    Warning [/etc/inputrc line 11]:
    Invalid variable `mark-symlinked-directories'

    cpan shell -- CPAN exploration and modules installation (v1.7601)
    ReadLine support enabled

    cpan>


    而后安裝以上所列出來的模塊

    install Archive::Tar
    install Archive::Zip
    install Compress::Zlib
    install Convert::TNEF
    install Convert::UUlib
    install MIME::Base64
    install MIME::Parser
    install Mail::Internet
    install Net::Server
    install Net::SMTP
    install Digest::MD5
    install IO::Stringy
    install Time::HiRes
    install Unix::Syslog
    install BerkeleyDB

    舉個例子說明如下:
    安裝File::MMagic模組
    cpan>install File::MMagic
    CPAN: Storable loaded ok
    Going to read /root/.cpan/Metadata
    Database was generated on Mon, 11 Apr 2005 03:56:00 GMT
    CPAN: LWP::UserAgent loaded ok
    Fetching with LWP:
    ftp://ftp.shellhung.org/pub/CPAN/authors/01mailrc.txt.gz
    LWP failed with code[500] message[LWP::Protocol::MyFTP: Bad hostname 'ftp.shellhung.org']
    Fetching with Net::FTP:
    ftp://ftp.shellhung.org/pub/CPAN/authors/01mailrc.txt.gz
    Fetching with LWP:
    ftp://mirrors.hknet.com/CPAN/authors/01mailrc.txt.gz
    Going to read /root/.cpan/sources/authors/01mailrc.txt.gz
    CPAN: Compress::Zlib loaded ok
    ......
    ......
    ......
    /usr/bin/make test -- OK
    Running make install
    Installing /usr/lib/perl5/site_perl/5.8.5/File/MMagic.pm
    Installing /usr/share/man/man3/File::MMagic.3pm
    Writing /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi/auto/File/MMagic/.packlist
    Appending installation info to /usr/lib/perl5/5.8.5/i386-linux-thread-multi/perllocal.pod
    /usr/bin/make install -- OK

    出現這些信息時表示你已經安裝好了File::MMagic這個模組了。
    其他的模組用這種方法都安上去。

    如果你能順利地安裝到這里,那么謝天謝地,整個過程,你己經走了一半了,接著往下走吧。

    三、安裝與設定Amavisd-new
    在安裝完需要的套件之后,我們就可以安裝Amavisd-new了。
    首先在http://www.ijs.si/software/amavisd/#download這里下載最新版的Amavisd-new,我這里用的版本是2.2.1,
    所以我下載下來的檔案是amavisd-new-2.2.1.tar.gz。
    我把它解壓到了/usr/local/src/,解壓前它自動在/usr/local/src里面創建了一個叫做amavisd-new-2.2.1的文件夾,
    所有解壓出來的文件都放在里面了。
    #tar xzvf amavisd-new-2.2.1.tar.gz
    在安裝它之前,我們得為這套軟件的執行建立用戶賬號。
    #/usr/sbin/useradd -s /bin/false -d /var/amavis -c "Amavis User" amavis
    這樣我了就為系統增加了一個叫做amavis的用戶賬號,它沒有自己的bash,并且家目錄在/var/amavis下面;默認情況,這條
    語句也在FC3建立了一個群組的賬號,這個賬號在以后我們有需要用到它。
    接著在它的家目錄里,建立三個子目錄,在配置Amavisd-new時需要用到它們:
    #mkdir /var/amavis/tmp /var/amavis/var /var/amavis/db
    為了系統與套件的安全性,不能讓那些普通用戶去讀寫/var/amavis,需要把/var/amavis設定為只有amavis擁有讀寫權限,
    也就是把/var/amavis的擁有者設為amavis即可,執行如下的命令:
    #chown -R amavis:amavis /var/amavis
    #chmod -R 750 /var/amavis

    假設你現在不在/usr/local/src/amavisd-new-2.2.1下面,我們用下面的命令進到里面去:
    #cd /usr/local/src/amavisd-new-2.2.1
    把里面的amavisd檔案復制到/usr/local/sbin里面
    #cp amavisd /usr/local/sbin
    并且為了提高它的安全性,需要設為只有超級管理員才可以讀取它,因為這個檔案是用Perl寫成的,可以用一般的文字編輯器瀏覽它。
    #chown root /usr/local/sbin/amavisd
    賦給它可執行的屬性
    #chmod 755 /usr/local/sbin/amavisd
    把Amavisd-new的配置文件amavisd.conf復制到/etc下面,以方便套件在運行時載入它。
    #cp amavisd.conf /etc/
    把/etc/amavisd.conf的擁有者設為root
    #chown root /etc/amavisd.conf
    改變它的文件屬性
    #chmod 644 /etc/amavisd.conf
    創建一個文件夾,用于在amavisd掃描到病毒時,把感染病毒的郵件放進去進行隔離;它也可以用來存貯垃圾郵件。
    #mkdir /var/virusmails
    改變/var/virusmails的擁有者
    #chown amavis:amavis /var/virusmails
    改變/var/virusmails的屬性
    #chmod 750 /var/virusmails

    現在我們現再來編輯amavisd-new的配置文件,用你習慣的文字編輯器打開/etc/amavisd.conf,設置以下的變量值:
    $daemon_group='amavis';
    $daemon_user='amavis';
    $MYHOME = '/var/amavis';
    $TEMPBASE = "$MYHOME/tmp";
    $db_home = "$MYHOME/db";
    $helpers_home = "$MYHOME/var";
    $pid_file = "$MYHOME/var/amavisd.pid";
    $lock_file = "$MYHOME/var/amavisd.lock";
      $remove_existing_spam_headers = 0; //不移除郵件頭部的X-SPAM標志字段
      $X_HEADER_LINE = "By $myproduct_name $myversion_id ($myversion_date) Using ClamAV at $mydomain"; //定義顯示在郵件頭部的病毒掃描
    里面涉及到的文件夾,在上面都已經建立好了。
    假如你用的是ClamAV作為防毒程式,那么你需要把它的用戶加入到amavis群組里面,并在ClamAV的配置文件
    clamd.conf的最后加上這個設置語句:
    AllowSupplementaryGroups

    到現在為止,這個程式安裝的差不多了,現在可以執行它來看看測試信息。
    #/usr/local/sbin/amavisd debug
    也可以指定執行程式的用戶執行程式,如下面指令:
    #/usr/local/sbin/amavisd -r vscan debug

    Apr 12 20:20:12 mail.js.act-cn.com /usr/sbin/amavisd[3911]: starting./usr/sbin/amavisd at mail.js.act-cn.com amavisd-new-2.2.1 (20041222),Unicode aware, LANG=zh_TW.UTF-8
    Apr 12 20:20:12 mail.js.act-cn.com /usr/sbin/amavisd[3911]: user=,EUID: 0 (0); group=, EGID: 0 10 6 4 3 2 1 0 (0 10 6 4 3 2 1 0)
    Apr 12 20:20:12 mail.js.act-cn.com /usr/sbin/amavisd[3911]: Perl version 5.008005
    Apr 12 20:20:12 mail.js.act-cn.com /usr/sbin/amavisd[3911]: INFO: no optional modules: Razor2::Client
    Apr 12 20:20:12 mail.js.act-cn.com /usr/sbin/amavisd[3911]:Net::Server: 2005/04/12-20:20:12 Amavis (typeNet::Server::PreForkSimple) starting! pid(3911)
    Apr 12 20:20:12 mail.js.act-cn.com /usr/sbin/amavisd[3911]: Net::Server: Binding to TCP port 10024 on host 127.0.0.1
    Apr 12 20:20:12 mail.js.act-cn.com /usr/sbin/amavisd[3911]: Net::Server: Setting gid to "507 507"
    Apr 12 20:20:12 mail.js.act-cn.com /usr/sbin/amavisd[3911]: Net::Server: Setting uid to "507"
    Apr 12 20:20:12 mail.js.act-cn.com /usr/sbin/amavisd[3911]: Net::Server: Setting up serialization via flock
    ..............
    ..............
    ..............
    Apr 12 20:20:17 mail.js.act-cn.com /usr/sbin/amavisd[3912]: Net::Server: Child Preforked (3912)
    Apr 12 20:20:17 mail.js.act-cn.com /usr/sbin/amavisd[3913]: Net::Server: Child Preforked (3913)
    Apr 12 20:20:17 mail.js.act-cn.com /usr/sbin/amavisd[3911]: Net::Server: Parent ready for children.
    Apr 12 20:20:17 mail.js.act-cn.com /usr/sbin/amavisd[3912]: TIMING [total 113 ms] - bdb-open: 113 (100%), rundown: 0 (0%)
    Apr 12 20:20:17 mail.js.act-cn.com /usr/sbin/amavisd[3913]: TIMING [total 96 ms] - bdb-open: 96 (100%), rundown: 0 (0%)
    出現以上最后面兩句信息時,一般來說表示套件安裝成功。
    你也可以用下面的指令來測試它:
    #telnet 127.0.0.1 10024
    Trying 127.0.0.1...
    Connected to localhost.localdomain (127.0.0.1).
    Escape character is '^]'.
    220 [127.0.0.1] ESMTP amavisd-new service ready
    如果你的終端機里面出現以上信息,那你的這個套件就安裝成功了。

    四、配置Postfix與Amavisd-new,實現過濾病毒郵件。
    用編輯器打開你postfix的master.cf檔案,在最后加入下面的語句,你最好用復制的方法,下面的語句貼到你的master.cf檔案里,以減小手動輸入時產生的錯誤,
    語句如下:

    smtp-amavis unix - - n- 2 smtp
    -o smtp_data_done_timeout=1200
    -o smtp_send_xforward_command=yes
    -o disable_dns_lookups=yes
    -o max_use=20

    127.0.0.1:10025 inet n- n - - smtpd
    -o content_filter=
    -o local_recipient_maps=
    -o relay_recipient_maps=
    -o smtpd_restriction_classes=
    -o smtpd_client_restrictions=
    -o smtpd_helo_restrictions=
    -o smtpd_sender_restrictions=
    -o smtpd_recipient_restrictions=permit_mynetworks,reject
    -o mynetworks=127.0.0.0/8
    -o strict_rfc821_envelopes=yes
    -o smtpd_error_sleep_time=0
    -o smtpd_soft_error_limit=1001
    -o smtpd_hard_error_limit=1000
    -o smtpd_client_connection_count_limit=0
    -o smtpd_client_connection_rate_limit=0
    -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks
    保存配置文件,退出編輯器,而后再編輯postfix的另外一個配置文件main.cf,在里面增加一句指令,這句指令如下:
    content_filter=smtp-amavis:[127.0.0.1]:10024

    重新載入postfix的配置文件
    #/etc/init.d/postfix reload.
    執行如下的測試指令

    #telnet 127.0.0.1 10025
    Trying 127.0.0.1...
    Connected to 127.0.0.1.
    Escape character is '^]'.
    220 yourhost.example.com ESMTP Postfix
    --> quit
    221 Bye
    Connection closed by foreign host.
    如果出現了上面的信息就表示程式配置成功,可以使用它了。
    如果你還想進一步測式看看你的郵件伺服器是否真的會通過amavisd-new來掃描病毒,就需要執行下面的命令交互測試。
    -> $ telnet 127.0.0.1 10024
    Trying 127.0.0.1...
    Connected to 127.0.0.1.
    Escape character is '^]'.
    220 [127.0.0.1] ESMTP amavisd-new service ready
    --> MAIL FROM:<test@example.com>
    250 2.1.0 Sender test@example.com OK
    --> RCPT TO:<postmaster>
    250 2.1.5 Recipient postmaster OK
    --> DATA
    354 End data with <CR><LF>.<CR><LF>
    --> Subject: test1
    -->
    --> test1
    --> .

    *** 250 2.6.0 Ok, id=31859-01, from MTA: 250 Ok: queued as 90B7F16F

    --> MAIL FROM:<test@example.com>
    250 2.1.0 Sender test@example.com OK
    --> RCPT TO:<postmaster>
    250 2.1.5 Recipient postmaster OK
    --> DATA
    354 End data with <CR><LF>.<CR><LF>
    --> Subject: test2 - virus test pattern
    -->
    --> X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
    --> .

    you should get one of the following replies (or similar), depending on
    the $final_virus_destiny and *virus_lovers* settings in amavisd.conf:
    *** 550 5.7.1 Message content rejected, id=16968-01 - VIRUS: EICAR-AV-Test
    *** 250 2.5.0 Ok, but 1 BOUNCE
    *** 250 2.7.1 Ok, discarded, id=16984-01 - VIRUS: EICAR-AV-Test
    *** 250 2.6.0 Ok, id=17041-01, from MTA: 250 Ok: queued as 3F1841A5F5

    --> QUIT
    221 2.0.0 [127.0.0.1] (amavisd) closing transmission channel
    Connection closed by foreign host.
    如果得到上面的信息,那么恭喜你了,你的病毒掃描程式運行很順暢。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>