POSTFIX邮局系统搭建全过程 (六)


12、              安装amavisd-new
(1)       依赖关系的解决
以下为官方声明所必须的软件包列表,使用perl -MCPAN -e shell进行安装
Archive::Zip
Compress::Zlib
Convert::TNEF 
Convert::UUlib
MIME::Base64
MIME::Parser
Mail::Internet
Net::Server
Digest::MD5
IO::Stringy
Time::HiRes
Unix::Syslog
BerkeleyDB 
有些可能在上面已经安装,但是为了保险起见,还是建议逐个验证一遍。
(2)       创建运行时目录,并赋予amavis用户(前文中所建)
# mkdir -pv /var/amavis/{tmp,var,db,home}
# chown -R amavis:amavis /var/amavis
#chmod -R 750 /var/amavis
(3)       安装amavisd-new-2.6.4
# tar -zxvf amavisd-new-2.6.4.tar.gz
# cd amavisd-new-2.6.4
拷贝服务端至$PATH中指定的目录,推荐拷贝至/usr/local/sbin
#cp amavisd /usr/local/sbin/
#chown root /usr/local/sbin/amavisd
#chmod 755 /usr/local/sbin/amavisd
拷贝主配置文件至/etc,并修改相应的权限:
#cp amavisd.conf /etc
# chown root:amavis /etc/amavisd.conf
# chmod 640 /etc/amavisd.conf
创建amavisd运行中所需要的隔离区域:
# mkdir -v /var/virusmails
# chown amavis:amavis /var/virusmails/
# chmod 750 /var/virusmails/
(4)       编辑主配置文件
#vi /etc/amavisd.conf
 
确保您的如下选项的值如下文所示:
$daemon_user   = 'amavis';
$daemon_group = 'amavis';
$mydomain = 'xxt.cn'; (此处可更改为自己的DNS)
 
$virus_admin             = "postmaster/@$mydomain"; 
$mailfrom_notify_admin     = "postmaster/@$mydomain"; 
$mailfrom_notify_recip     = "postmaster/@$mydomain"; 
$mailfrom_notify_spamadmin = "postmaster/@$mydomain";
$mailfrom_to_quarantine = '';
 
virus_admin_maps => ["postmaster/@$mydomain"] (指定报告病毒和垃圾邮件时发送系统邮件的用户身份)
spam_admin_maps   => ["postmaster/@$mydomain"]
 
启用ClamAV,(大概在第363)去掉如下行前的注释符:
#['ClamAV-clamd',
#     /&ask_daemon, ["CONTSCAN {}/n", "/var/run/clamav/clamd"],
# qr//bOK$/, qr//bFOUND$/,
#    qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],
#     ['Mail::ClamAV', /&ask_clamav, "*", [0], [1], qr/^INFECTED: (.+)/],---375
 
并将如上行中的/var/run/clamav/clamd修改为:/var/run/clamav/clamd.socket
(5)       测试启动
#/usr/local/sbin/amavisd
也可以按如下命令调试启动:
#/usr/local/sbin/amavisd debug
注意加到开机启动中
echo “/usr/local/sbin/amavisd”>>etc/rc.d/rc.local
 
可能会遇到下面的错误:
fetch_modules: error loading optional module MIME/Decoder/BinHex.pm:
  Can't locate Convert/BinHex.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8) at /usr/lib/perl5/site_perl/5.8.8/MIME/Decoder/BinHex.pm line 43.
  BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.8.8/MIME/Decoder/BinHex.pm line 43.
  Compilation failed in require at /usr/local/sbin/amavisd line 197.
这个时候就需要下载Convert-BinHex-1.119.tar.gz,安装后再启动。
#tar -zxvf Convert-BinHex-1.119.tar.gz
#cd Convert-BinHex-1.119
#perl Makefile.PL
#make
#make install
13、              配置postfix,让它能调用amavisd,以实现病毒及垃圾邮件的过滤
(1)       配置/etc/postfix/master.cf
#vi /etc/postfix/master.cf
在文末添加如下内容:
# ==========================================================================
# service type   private unpriv   chroot   wakeup   maxproc command + args
#             (yes) (yes) (yes) (never) (100)
# ==========================================================================
#
amavisfeed 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 smtpd_delay_reject=no
-o smtpd_client_restrictions=permit_mynetworks,reject
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o smtpd_data_restrictions=reject_unauth_pipelining
-o smtpd_end_of_data_restrictions=
-o smtpd_restriction_classes=
-o mynetworks=127.0.0.0/8,192.168.0.0/16
-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,no_milters
-o local_header_rewrite_clients=
 
说明:注意每行“-o”前的空格;
(2)       修改/etc/postfix/main.cf
#vi /etc/postfix/main.cf
在文末添加如下行:
content_filter=amavisfeed:[127.0.0.1]:10024
(3)       postfix重新加载主配置文件,并查看启动情况
# postfix reload && tail -f /var/log/maillog
(4)       查看amavisd是否在监听10024端口,并测试服务启动情况:
[root@mail postfix]# telnet localhost 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
ehlo localhost
250-[127.0.0.1]
250-VRFY
250-PIPELINING
250-SIZE
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
250 XFORWARD NAME ADDR PORT PROTO HELO SOURCE
quit
221 2.0.0 [127.0.0.1] amavisd-new closing transmission channel
Connection closed by foreign host.
(5)       postfix重新加载配置文件后将授权并激活"127.0.0.1:10025"端口,一个正常的服务连接应该类同下面所示:
[root@mail postfix]#  telnet localhost 10025
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 Welcome to our mail.xxt.cn ESMTP,Warning: Version not Available!
EHLO localhost
250-mail.xxt.cn
250-PIPELINING
250-SIZE 52428800
250-VRFY
250-ETRN
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
quit
221 2.0.0 Bye
Connection closed by foreign host.
(6)       通过amavisd测试发信
[root@mail ~]# telnet localhost 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
HELO localhost
250 [127.0.0.1]
MAIL FROM:<>
250 2.1.0 Sender <> OK
RCPT TO:<lyf>
250 2.1.5 Recipient <lyf> OK
DATA
354 End data with <CR><LF>.<CR><LF>
<lyf>
From:Anti-Virus tester
To: MailServer Admin
Subject:amavisd test!
amavisd test!!
.
250 2.0.0 Ok, id=32278-01, from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as 3FE6A7488EB
quit
221 2.0.0 [127.0.0.1] amavisd-new closing transmission channel
Connection closed by foreign host.
(7)       使用EXTmail登陆lyf用户查看邮件的情况,如果收到则说明功能正常。
 
14、              测试使用反病毒及反垃圾模块
(1)       病毒邮件发送测试
登录extmail,发送带有病毒附件的邮件(病毒样本在一个压缩包中),查看发送情况:
#tail �Cf /var/log/maillog
Aug 11 18:07:13 mail clamd[4821]: SelfCheck: Database status OK.
Aug 11 18:07:13 mail clamd[4821]: /var/amavis/tmp/amavis-20100811T165819-32278/parts/p493: VGEN.6.0 FOUND
Aug 11 18:07:13 mail clamd[4821]: /var/amavis/tmp/amavis-20100811T165819-32278/parts/p250: Jerusalem-USA FOUND
Aug 11 18:07:13 mail clamd[4821]: /var/amavis/tmp/amavis-20100811T165819-32278/parts/p251: DOS.PS-MPC.432 FOUND
Aug 11 18:07:13 mail clamd[4821]: /var/amavis/tmp/amavis-20100811T165819-32278/parts/p249: VGEN.6.0 FOUND
Aug 11 18:07:13 mail clamd[4821]: /var/amavis/tmp/amavis-20100811T165819-32278/parts/p252: Albania-429.A FOUND
Aug 11 18:07:13 mail clamd[4821]: /var/amavis/tmp/amavis-20100811T165819-32278/parts/p253: Albania.1 FOUND
Aug 11 18:07:13 mail clamd[4821]: /var/amavis/tmp/amavis-20100811T165819-32278/parts/p254: Albania.1 FOUND
Aug 11 18:07:13 mail clamd[4821]: /var/amavis/tmp/amavis-20100811T165819-32278/parts/p255: Small.130-gen FOUND
Aug 11 18:07:13 mail clamd[4821]: /var/amavis/tmp/amavis-20100811T165819-32278/parts/p256: Vgen.1065 FOUND
Aug 11 18:07:14 mail clamd[4821]: /var/amavis/tmp/amavis-20100811T165819-32278/parts/p258: Abraxas-1200 FOUND
Aug 11 18:07:14 mail clamd[4821]: /var/amavis/tmp/amavis-20100811T165819-32278/parts/p259: Abraxas-1214 FOUND
Aug 11 18:07:14 mail clamd[4821]: /var/amavis/tmp/amavis-20100811T165819-32278/parts/p260: Abraxas-15xx FOUND
Aug 11 18:07:14 mail clamd[4821]: /var/amavis/tmp/amavis-20100811T165819-32278/parts/p261: Abraxas-15xx FOUND
Aug 11 18:07:14 mail postfix/smtpd[350]: connect from localhost.localdomain[127.0.0.1]
Aug 11 18:07:14 mail postfix/smtpd[350]: AC4BD7488ED: client=localhost.localdomain[127.0.0.1]
Aug 11 18:07:14 mail postfix/cleanup[342]: AC4BD7488ED: message-id=<[email protected]>
Aug 11 18:07:15 mail postfix/smtpd[350]: disconnect from localhost.localdomain[127.0.0.1]
Aug 11 18:07:15 mail postfix/qmgr[32702]: AC4BD7488ED: from=<[email protected]>, size=12833, nrcpt=1 (queue active)
Aug 11 18:07:15 mail amavis[32278]: (32278-06) Blocked INFECTED (VGEN.6.0, Jerusalem-USA, DOS.PS-MPC.432, Albania-429.A, Albania.1, Small.130-gen, Vgen.1065, Abraxas-1200, Abraxas-1214, Abraxas-15xx, _0523_0001_001, ARCV-Made-255, ARCV-330, ARCV.562, ARCV.570, Ice.2, ARCV.773, DOS.Arcv.839, DOS.PS-MPC.447, ARCV.Anna.742, DOS.ARCV.745, DOS.Arcv.1183, Arcv.Christmas, ICE-9.A, Arcv.Ice.250, Gen.1575.B, Acid-670, AvatarAcid-674, DOS.Johanna, ARCV.Joanna.912, DOS.ARCV.Gen, Clonewar-923.A, Gen.649, Fire.795, DOS.X-2.Gen, Arcv-1060, ADA, Adolph.3, Advent, VCL.Shirley, Tic-1, Agip, AIDSII, AIDS.1, Dropper.5, BootSectorDr, Aircop-c, Hydra.3, Dropper.1, Alabama-B, Yale, DOS.Eddie, Redx, BadTaste, Amoeba.1, Pixel-296, Amstrad-740, Amstrad.1, Amstrad.2, Pixel-852, Jerusalem.9, Plastique.3, Plastique.2, AntiCAD-4096, Plastique.5, Jerusalem.2.Nemesis, Jerusalem.1, Andryushka.1, Andromeda.1140, Ohlala, Anthrax-E, Anti-D.2, Civil_War.561, V-1L, Plastique.1, Anti-Faggot, ChristmasViolator, Antimit, Antimon, VLADAnt...
Aug 11 18:07:15 mail amavis[32278]: (32278-06) ...ipode, DOS.Simulated.Virus, VGEN.10.0, VGEN.11.0, Anto-1, Pascal-400, Pascal-440, AntiPas-480, Pascal-529, AntiPas-605, Vgen.1334, V2000, April-1st.A, April-1st.E, Joke.Pani, Armageddon.C, Gen.742, DOS.Arara.1057, ARCV-4, VirTool.ARCV, Violator.1, Argentina, Ash.1, Ash-449, Ash.451, SillyC-737, ImpotentG, Ash-1602, Ash-1604, Asp, Astra-101, AT-133, AT-140.1, AT.144.B, AT.144.A, AT-149.B, VGEN.17.0, Atom-350, VCL.O.371, Atomic-480, Atomic, Attention.3, AT-II-114, ATII-118, AT-II-122, Atomic.2, Atom-Ant, Attitude.548, Attitude-724.825, Aurea.A, AustrPara.152, AustrPara.153.B, Austr.Para-155, Austr.Para-162, Austr.Para-187, Austr.Para-215, Austr.Parasite.3, Austr.Para-306, Austr.Para-338, Austr.Para-369, Austr.Para-377, AnkeHuber, DOS.Austr_Parasite.440, Austr.Para-482, DOS.Anke, Austr.Para-550, Austr.Para-588, Austr.Para-615, Austr.Para-784, Austr.Para-762, Gen.403.B, Clipper, DOS.AusTerm.3490, Austr.Para-VGADemo, DarkAvenger-1947), MYNETS LOCAL [127....
Aug 11 18:07:15 mail amavis[32278]: (32278-06) ...0.0.1] [127.0.0.1] <[email protected]> -> <[email protected]>, quarantine: virus-YeO+kSgVIMCX, Message-ID: <[email protected]>, mail_id: YeO+kSgVIMCX, Hits: -, size: 403109, 2439 ms
(2)       至此postfix的所有软件已经搭建完毕,就开始享受你自己的mail之旅吧!GOOD LUCK
参考文档:
1、  http://blog.yahunet.com/post-67.html
2、  http://hi.baidu.com/shengit/blog/item/d839502c7253a138349bf78c.html

你可能感兴趣的:(系统,搭建)