分类: BSD
2009-01-30 21:16:14
垃圾邮件无所不在,由早期文字形态的信件,进化到图文并貌的HTML格式。而由于anti-spam技术的进步,几乎可达到九成的拦阻率。但「道高一尺、魔高一丈」,spammer开始大量运用图片形态的方式来寄送邮件。图像式垃圾邮件在图片内容加入大量的噪声数据(noisy data),藉以回避扫描引擎的侦测。
以目前anti-spam市场所推出的产品,若是缺少扫描图像式垃圾邮件的功能,相信也无法在市场上生存,例如:IronPort、Sophos 等厂商皆推出具备相,关功能的产品。
当然,开放源码的SpamAssassin也不能在此一功能上缺席,也出现了不少相对应的solution,例如:OcrPlugin。
而此篇文章所要介绍的 FuzzyOCR,是一套修改自OcrPlugin的Spamassassin plugin。同样是利用光学字符辨认(OCR)的方式,来识别图像式邮件所包含的「文字讯息」,并利用Fuzzy word matching算法判断辨识出来的文字。
主要具备了下列的功能:
Matching and learning techniques
Resource saving techniques
Safety measures
具体过程如下:
更新ports
# portsnap fetch update
通过ports安装
# cd /usr/ports/mail/p5-FuzzyOcr-devel
# make install clean
# cp /usr/local/share/examples/FuzzyOcr/FuzzyOcr.* /usr/local/etc/mail/spamassassin
# vi /usr/local/etc/mail/spamassassin/init.pre
加入如下内容:
# FuzzyOcr
loadplugin Mail::SpamAssassin::Plugin::FuzzyOcr
# vi /usr/local/etc/mail/spamassassin/FuzzyOcr.cf
确定focr_logfile设置为:
focr_logfile /var/log/FuzzyOcr.log
保存设置以后,重启反垃圾邮件网关引擎,例如:mailscanner
# /usr/local/etc/rc.d/mailscanner restart
如果没有用mailscanner,那么重启sa-spamd
# /usr/local/etc/rc.d/sa-spamd restart
测试是否正常工作:
# cd /tmp
# mkdir test;cd test
# fetch ~decoder/fuzzyocr/sample-mails.tar.gz
# unzip sample-mails.tar.gz
# spamassassin -t < ocr-gif.eml
或者查看日志文件:
# tail -f /var/log/FuzzyOcr.log
# tail -f /var/log/maillog