全国客户服务:4006-054-001 疑难解答:159-9855-7370(7X24合作/咨询),173-0411-9111/155-4267-2990(售前),座机/传真:0411-83767788,微信:543646
上一张 下一张

QMAIL邮件防毒原理和部署实践-计算机职称论文发

电子邮件应用越来越广泛,利用电子邮件传播的蠕虫病毒迅速泛滥,严重危害了用户计算机的正常使用。出于“病从口入”的考虑,目前最有效的办法就是在电子邮件服务器上部署防毒

4006-054-001 立即咨询

QMAIL邮件防毒原理和部署实践-计算机职称论文发

发布时间:2022-10-05 21:44 热度:

QMAIL邮件防毒原理和部署实践-计算机职称论文发

QMAIL邮件防毒原理和部署实践

胡春英

摘要:电子邮件应用越来越广泛,利用电子邮件传播的蠕虫病毒迅速泛滥,严重危害了用户计算机的正常使用。出于“病从口入”的考虑,目前最有效的办法就是在电子邮件服务器上部署防毒体系。本文从Qmail的邮件系统机制出发,系统介绍了Qmail邮件系统构造,分析了Qmail邮件防毒的原理,并介绍Qmail邮件防毒体系的部署和应用。

关键词:电子邮件 病毒 防毒 Qmail Qmail-Scanner ClamAV Maildrop

一、 引言

随着Internet的迅速扩展,电子邮件应用越来越广泛,一种利用电子邮件传播的蠕虫病毒迅速泛滥,伴随电子邮件的广泛应用猖獗肆虐,严重危害了用户计算机的正常使用,并给网络带来很大的负载影响。

出于“病从口入”的考虑,要防止电子邮件病毒的危害,目前最有效的办法就是在电子邮件服务器上部署防毒体系,利用电子邮件存贮转发的机制,在用户收到电子邮件之前对电子邮件进行查毒过滤,在用户发送电子邮件之前也对电子邮件也进行查毒过滤。

二、 Qmail邮件系统原理

Qmail软件是由Dan Bernstein开发出来的为标准Unix服务器提供邮件传输代理 (mail transfer agent,MTA)功能的大型电子邮件系统,作为企业级电子邮件系统广泛应用于各大企业。

Qmail系统由几个可执行、可灵活替换的程序构成,这些程序彼此互相协作,共同提供电子邮件服务。Qmail系统中有9个核心程序,其中qmail-smtpd负责接收来自远程主机(包括远程邮件服务器和SMTP客户端)的电子邮件并将它们传送给qmail-queue处理,qmail-inject则是用来接收本地产生的电子邮件并传送给qmail-queue程序,qmai-queue程序处理qmail-smtpd和qmail-inject发来的邮件,移进邮件队列以便发送。一旦电子邮件被成功的放在邮件队列中,Qmail系统就调用qmail-send程序来处理他。

考虑到电子邮件是经过编码后传送的,为检查病毒需要先对电子邮件进行解码,这要花费一定的CPU计算时间和I/O时间。对电子邮件解码之后,进行查毒需要分析特殊字节序列,这也需要一定的CPU计算时间和I/O时间。所以,要实现对Qmail邮件系统进行防毒,需要选择合适的环节来进行。

三、 Qmail邮件防毒的原理

为实现电子邮件系统防毒,在Qmail邮件系统中最合适的部分就是在qmail-queue环节,因为在此环节电子邮件已经存储在邮件系统的硬盘上,如果是本地电子邮件,则尚未转发到用户的信箱中;如果是远程电子邮件,则尚未交给qmail-remote发送到远程邮件系统。

所以,Qmail邮件防毒的原理就是替换原来Qmail系统的qmail-queue,采用新的队列处理程序先对电子邮件进行解码和查毒:如果查毒结果是病毒邮件,则即刻从队列中丢弃这封电子邮件;如果查毒结果是正常邮件,则交给Qmail系统原来来qmail-queue进行队列处理。

在本文介绍的电子邮件防毒部署中,采用Maildrop软件包中的reformime程序将电子邮件队列中的电子邮件解码到临时目录,采用Clam AntiVirus对临时目录下的解码后电子邮件进行查毒,采用Qmail-Scanner代替qmail-queue进行电子邮件队列管理。

四、 Qmail邮件防毒体系部署

本文介绍的软件系统全部为GNU软件系统,可以从网上进行下载安装。

4.1 Maildrop安装

本系统主要是用到Maildrop软件包中的reformime程序,Maildrop软件包可从http://sourceforge.net/project/showfiles.php?group_id=5404下载:

tar zxvf maildrop-1.5.2.tar.gz

./configure [options]

make

make install-strip

make install-man

4.2 安装 perl-Time-HiRes

安装该Perl包主要是为安装Qmail-Scanner做准备,是RedHat Linux系统自带的RPM软件包,如果您的Linux系统没有安装则按以下进行安装:

rpm -ivh perl-Time-HiRes-1.20-23.i386.rpm

4.3 安装Clam AV

4.3.1 安装Clam AV软件包

从网上http://clamav.sourceforge.net/可下载ClamAV的软件包,并进行安装:

grouadd clamav

useradd –g clamav –s /bin/false clamav

tar zxvf clamav-0.68-1.tar.gz

cd clamav-0.68-1

./configure

make check

make install

touch /var/log/clam-update.log

chown clamav:clamav /var/log/clam-update.log

4.3.2 更新病毒库

Clam AV提供免费的病毒库更新服务,运行/usr/local/bin/freshclam可以更新病毒库。如果需要定时更新,可以在/etc/crontab中加入07 2 * * * clamav /usr/local/bin/freshclam --quiet -l /var/log/clam-update.log,以便每天定时更新病毒库。

4.3.3 改进查毒性能

ClamAV包括clamscan和clamd/clamdscan两部分,clamd是一个守护进程,由clamdscan通过TCP/IP连接并做查毒,而clamscan每次查毒都要把病毒库先导入内存。采用clamd系统性能会提高很多,如需使用clamd,要修改/usr/local/etc/clamav.conf,把Example前加# 或删掉,并运行clamd守护进程。

4.4 安装qmail-scanner

这是最最关键最最麻烦的一步!实际上,qmail-scanner不过是一个perl脚本,麻烦的是要给qmail打补丁并进行配置,使得qmail以qmail-scanner做为邮件queue的处理程序。Qmail-scanner调用maildrop的reformime对queue里的邮件进行解码,然后调用clam av进行查毒,根据查毒结果决定把来信过滤并发送警告,还是正常交给qmail-queue去处理。

4.4.1 安装Qmail的Queue补丁

从网上http://www.qmail.org/qmailqueue-patch可以下载Qmail的Queue补丁,并进行安装:

patch < qmailqueue-patch.txt

重新编译qmail:make

停止目前系统中的qmail进程,并make setup check

4.4.2 安装Qmail-scanner软件包

从网上http://qmail-scanner.sourceforge.net/可以下载Qmail-scanner软件包,并进行安装:

groupadd qscand

useradd -g qscand -s /bin/false qscand

tar zvxf qmail-scanner-1.21.gz

cd qmail-scanner-1.21

该软件包locale目录是各国语言目录,其中tw_BIG5是台湾大五码的汉字,如果您需要汉化,可以从网上下载BIG5<->GB码转换软件进行转换,实现Qmail-scanner告警信息的简体字汉化。下文配置参数中cn_GB目录正是由tw_BIG5目录通过BIG5和GB码转换软件转换而来。

因为Redhat 8.0不允许perl脚本setuid,以上的解决办法就是用.c编译为可执行文件,并设置setuid,在可执行文件中调用qmail-scanner-queue.pl脚本,最后把qmail-scanner-queue.pl的setuid取消。

目前系统缺省是my $clamscan_binary='/usr/local/bin/clamscan',如果你愿意改为clamdscan来检测病毒(性能更好点),可以改为

my $clamscan_binary='/usr/local/bin/clamdscan';

4.4.3 配置Qmail使用Qmail-Scanner查毒

第4.4.1章已介绍为Qmail打补丁,支持Qmail根据QMAILQUEUE变量选择不同的Qmail队列处理程序。因此,这里只需要在/etc/qmail/tcp.smtp增加QMAILQUEUE变量即可:

127.0.0.1:allow,RELAYCLIENT="",QMAILQUEUE="/usr/local/qmail/bin/qmail-queue"

:allow,QMAILQUEUE="/usr/local/qmail/bin/qmail-scanner-queue"

上述即是127.0.0.1本地的QMAILQUEUE为QMAIL自己的qmail-queue,而所有外部IP将使用/usr/local/qmail/bin/qmail-queue来做Qmail队列处理。

配置tcp.smtp后要还要运行

/usr/local/qmail/bin/tcprules /etc/qmail/tcp.smtp.cdb /etc/qmail/tcp.smtp.tmp < /etc/qmail/tcp.smtp

把/etc/qmail/tcp.smtp的配置更新到tcp.smtp.cdb库。

五、 维护测试

至此已完成所有安装和配置,你可以重新启动Qmail(最好重新启动邮件服务器),以便进行测试。

值得注意的是,以后对Qmail-Scanner有任何配置需要,直接修改/usr/local/qmail/bin/qmail-scanner-queue.pl即可,而且即配即生效,无需重新做什么,因为qmail-scanner-queue.pl只是一个Perl脚本。

主要排错监测日志如下:

/var/spool/qmailscan/quarantine.log

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

/var/log/clamd.log

/var/log/maillog

参考文献:

[1]《Life With Qmail》

[2]《Clam AntiVirus Readme文档》

[3]《Qmail Scanner Readme文档》

 



QMAIL邮件防毒原理和部署实践-计算机职称论文发

相关阅读

试论虚拟参考站(VRS)技术在现代测量中的应用

摘要:虚拟参考站的出现是GPS定位的有一项突破,它标志着GPS的发展进入了一个新阶段,它不仅使GPS提高了精度,同时扩大了...

论析从功能翻译理论看电视软新闻英译

20世纪70年代功能翻译理论在德国蓬勃发展。1971年卡塔琳娜·赖斯 (KatharinaReiss) 在《翻译批评的可能性与局限性》( Possibiliti...

比亚迪E5无法慢充故障诊断

近年来,包括我国在内的世界各国先后发布限时停售传统燃油车的政策。预计10年后,在我国销售的增量新车中,将没有内燃...

太阳能光伏系统的应用

结合某项目的太阳能光伏照明设计,具体阐述并网发电系统的构成及功能,并对光伏发电的效益做一定的分析...

浅析数字化技术在飞机装配中的应用_数字技术论

随着信息时代的到来,数字化技术被广泛应用。数字化技术在飞机装配中的应用显示了许多优势,使我国航空产品的开发发生...

应用SECTION处理AutoCAD和MAPGIS间的数据转换_计算机

本文简要介绍了通过AutoCAD的DXF数据格式与MAPGIS的MPJ数据格式直接转换在地质工作中存在的一些不足之处,重点阐述了AutoCAD的...

公司地址:大连市中山区曼哈顿大厦A座2610室 运营中心:大连市沙河口区金盾路127号 研发中心:大连市西岗区大工西岗科创产业园10层 邮政编码:116029
全国客户服务热线:4006-054-001 业务咨询、合作:159-9855-7370(同微信) / 173-0411-9111 董经理 售后座机 / 传真:0411-83767788 电子邮件:Djy@Jiqunzhihui.com
集群智慧®为我公司注册商标,在商标国际分类第1、7、9、11、20、30、35、36、37、38、40、41、42、44、45类用途中受法律保护,侵权必究。侵权删除:2544906@QQ.com
本企业已通过ISO9001国际质量管理体系认证、ISO45001职业健康安全管理体系认证、ISO14001环境管理体系认证、企业信用等级AAA级认证、科技型中小企业认证、高新技术企业认证。
本站部分服务由本平台认可的第三方服务机构提供,如服务的质量有任何问题,请第一时间向我平台反馈,我们将及时为您解决,平台保障用户的全部权益不受任何损害。
请认准本站网址(www.jiqunzhihui.org.cn),推荐百度搜索“集群智慧云科服”直达本站。
版权所有:大连集群智慧科技服务有限公司 ICP备案:辽ICP备2021010330号-3 增值电信业务经营许可EDI证:辽B2-20230179 手机版