在Linux 下打击垃圾和病毒邮件
整机外设
目前不少邮件服务器都采用稳定的Linux平台,要在Linux邮件服务器上打击垃圾邮件和病毒邮件,我们有什么好的办法呢?
垃圾邮件屏蔽的初步设定
首先,我们要在邮件服务器上通过各种方法,尽可能阻止垃圾邮件及病毒邮件的入侵,然后再通过客户端决定是否通过过滤软件的使用或设置封锁某些发件人、关键字的邮件,通过两种手段来达到阻止垃圾及病毒邮件的目的。
下面就讲讲具体的设置步骤和方法。在邮件服务器(使用了基于sendmail的邮件服务器基本都可以采用这些方法)上阻止垃圾/病毒邮件的三个步骤:在mail server上设定access;通过黑名单数据库的比较来过滤垃圾邮件;安装MailScanner配合防病毒软件的使用,阻止垃圾邮件及病毒邮件的入侵。
首先对Linux服务器上的sendmail使用权限进行设置:
[root@mail mail]#cd /etc/mail
[root@mail mail]#vi access
192.168 RELAY
*.com REJECT (拒收并且退信)
*@*.com REJECT (拒绝色情、广告的发件人)
221.17.128 DISCARD (丢掉邮件)
提示:“*”部分可以根据自己的需要设置相应的电子邮件地址。
其中,RELAY是允许客户端发信出去,REJECT、DISCARD是禁止对方寄信进来,建议使用DISCARD,因为有一些垃圾信的攻击,发信人会采取伪装的手法,这样导致邮件服务器退信无法退回去,造成系统的资源和网络带宽的浪费。
接着执行命令:makemap hash access.db < access即可完成初步设置。
黑名单数据库过滤设置
目前在网络上较准确且免费的垃圾邮件黑名单数据库是http://www.ordb.org/lookup/。如果公司的邮件服务器被列入了某些垃圾邮件的黑名单数据库时,可能会造成发往某些公司的邮件对方收不到,一般我们可通过网站查询公司的邮件服务器是否被列入黑名单中或是否成为垃圾信的中转站。
如果查询到公司邮件服务器被屏蔽,可以通知这些网站管理员予以解除封闭。接着我们就以使用免费的ordb.org 所提供的黑名单清单为例,设置邮件服务器进出邮件首先经过黑名单过滤:
[root@mail mail]#cd /etc/mail
[root@mail mail]#vi sendmail.mc
接着在弹出的设置文件中的MAILER 之前插入下面的一行:
FEATURE(`dnsbl', `relays.ordb.org', `“Email blocked using ORDB.org - see <http://ORDB.org/lookup/?host=”$&{client_addr}“>”')
保存修改结果后执行m4 sendmail.mc > sendmail.cf完成操作。
安装使用Mail Scanner、SOPHOS
Mail Scanner是一个使用非常广泛的电子邮件安全系统,而且它是开放源代码的软件,还可以和多种反病毒软件相配合,例如著名的用于邮件系统的反病毒软件SOPHOS。
下面就教大家安装测试Mail Scanner、SOPHOS。
安装Mail Scanner
我们首先进入下载Mail Scanner的网站(http://www.sng.ecs.soton.ac.uk/mailscanner/)下载该软件,目前最新的版本为Version 4.34.8-4,下载到的文件形如MailScanner-4.34.8-4.rpm.tar.gz。
接着执行以下命令安装Mail Scanner:
tar zxvf MailScanner-4.34.8-4.rpm.tar.gz
cd MailScanner-4.34.8-4
[MailScanner-4.34.8-4]# ./install.sh
值得注意的是,如果系统有些perl语言的相关文件没有安装上,在安装的过程中会提示,只要下载./Update-MakeMaker.sh就可以了,然后再重新运行一次./install.sh就可以安装成功。这样我们就完成了Mail Scanner的安装。
安装SOPHOS
首先到SOPHOS官方网站http://www.sophos.com/products/sav/eval/下载安装程序。下载前需先注册,在输入你的注册资料时最重要是你的电子邮件地址一定要正确,系统会发一封邮件提供下载链接。
接着执行以下命令安装SOPHOS:
tar zxvf linux.intel.libc6.tar.Z (先把文件解压就会出现一个sav-install的目录)
cd sav-install
[sav-install]#useradd -M -s /bin/true test (安装前要先新增一个用户test)
[sav-install]#/usr/sbin/Sophos.install (安装Sophos后系统会更新目前最新的病毒代码)
安装完成后,所有的文件都会在/usr/local/Sophos目录中出现。
配置使用SOPHOS与Mail Scanner
先执行icheckd d命令,启动SOPHOS的InterCheck服务。
执行vi /etc/MailScanner/MailScanner.conf,打开vi编辑器来修改MailScanner的设置文件。注意将Virus Scanners = none修改为“Virus Scanners = sophos”。
然后我们就可以启动Mail Scanner(确保你已经在它的安装目录中,如MailScanner-4.34.8-4目录):
#service sendmail stop (先把sendmail服务关闭,才可启动Mail Scanner)
#chkconfig sendmail off (开机不启动sendmail)
#chkconfig MailScanner on (开机自动启动Mail Scanner)
#service MailScanner start (最后启动Mail Scanner)
注意:Mail Scanner会将sendmail分成两个独立的程序“incoming”和“outgoing”进行扫描,这样就完成了Mail Scanner和SOPHOS的启动和加载。要对Mail Scanner做详细的设置可以修改/etc/MailScanner/MailScanner.conf 文件。
接下来可以做个简单的测试,通过发一封有病毒的邮件给test@abc.com(可以到 http://www.eicar.org/anti_virus_test_file.htm这个网页中去下载病毒代码来测试,使用时一定要小心!)。如果收到有病毒的邮件,在“主题”的开头会有<Virus>的字样出现。而在收到有病毒的邮件时候,系统也会回一封E-mail给发信人,通知发出的邮件有病毒。在系统的“/var/log/mailing”的LOG文件中也会出现一个病毒邮件的信息。
Mail Scanner+ SOPHOS的组合可以帮助Linux下的邮件系统阻止大部分的垃圾邮件和病毒邮件的攻击,但不表示系统是百分之百安全的,有时系统对病毒邮件的识别还是会有错漏,所以除了注意及时更新病毒代码外,平时还要注意收集一些垃圾邮件的主题和特征,才能达到较安全的防范效果。