邮件扫描器/ Exim网关与Communigate PRO指南
在本教程中,我们将安装和设置Mailscanner作为Communigate pro群集前面的邮件防火墙。 本教程是为CENTOS 5.x Linux发行版编写的,但我确信它可以用于任何其他基于Linux的系统,但几乎没有修改。 系统将在执行模式下运行SELinux。 我们将使用的组件包括:
- 邮件扫描器
- 克拉姆夫
- exim
- Apache
- 邮件手表
- 剃刀
- spamassassin
- mysql
- 模糊的
- sanesecurity签名
- mailfeeder
安装软件包
我假设你已经安装了一个裸露的CENTOS 5系统与“开发工具”组一起工作,所以我不会太多的问题,如包选择和分区布局。 因为我们需要安装不属于默认的CENTOS基础的某些软件,所以我们需要配置系统以使用Dag Wieers rpm repo,因为它包装了大量我们需要的软件。
rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
完成后,我们已经将系统配置为使用rpmforge repo。
对于本教程,工作目录将是/ usr / local / src - 所有下载应该被下载并在其中提取。
Exim
yum install exim -y
/usr/sbin/alternatives --set mta /usr/sbin/sendmail.exim
service sendmail stop
/sbin/chkconfig --level 345 sendmail off
/sbin/chkconfig --level 345 exim off
MailScanner
wget http://www.mailscanner.info/files/4/rpm/MailScanner-4.66.5-3.rpm.tar.gz
tar xzvf MailScanner-4.66.5-3.rpm.tar.gz
cd MailScanner-4.66.5-3
./install.sh
克拉姆夫
yum install clamav clamav-db clamd -y
freshclam
Sanesecurity签名
wget http://www.sanesecurity.co.uk/clamav/update_sanesecurity.txt -O /usr/local/bin/update_sanesecurity.sh
chmod +x /usr/local/bin/update_sanesecurity.sh
ln -s /usr/local/bin/update_sanesecurity.sh /etc/cron.hourly/
/usr/local/bin/update_sanesecurity.sh
Apache
yum install httpd php php-mysql php-gd php-eaccelerator -y /sbin/chkconfig --level 345 httpd on
垃圾邮件
yum install spamassassin -y
模糊OCR
yum install netpbm-progs ocrad gocr gifsicle giflib-utils giflib -y
svn co svn://svn.own-hero.net/fuzzyocr/trunk/devel
cd devel/
perl -MCPAN -e 'install String::Approx'
perl -MCPAN -e 'install Time::HiRes'
perl -MCPAN -e 'install Log::Agent'
cp -rv {FuzzyOcr.cf,FuzzyOcr.scansets,FuzzyOcr.preps,FuzzyOcr.pm,FuzzyOcr.words,FuzzyOcr/} /etc/mail/spamassassin
chcon -R system_u:object_r:etc_mail_t /etc/mail/spamassassin/{FuzzyOcr.cf,FuzzyOcr.scansets,FuzzyOcr.preps,FuzzyOcr.pm,FuzzyOcr.words,FuzzyOcr/}
wget http://www.gbnetwork.co.uk/mailscanner/FuzzyOcr.words -O /etc/mail/spamassassin/FuzzyOcr.words
剃刀
yum install razor-agents
MySQL
yum install mysql mysql-server -y
邮件手表
wget http://dfn.dl.sourceforge.net/sourceforge/mailwatch/mailwatch-1.0.4.tar.gz
tar xzvf mailwatch-1.0.4.tar.gz
cd mailwatch-1.0.4
cp -av mailscanner/* /var/www/html/
cp /var/www/html/conf.php.example /var/www/html/conf.php
mkdir /var/www/html/temp
chmod u+rwx /var/www/html/temp
rm -f /var/www/html/{index.php,xml,jpgraph,fpdf}
cp /var/www/html/status.php /var/www/html/index.php
mv /var/www/html/jpgraph-1.12.1 /var/www/html/jpgraph
mv /var/www/html/fpdf152 /var/www/html/fpdf
mv /var/www/html/xmlrpc_1.2 /var/www/html/xmlrpc
chown apache.apache -R /var/www/html/
chmod ug+rwx /var/www/html/images
chmod ug+rwx /var/www/html/images/cache
chcon -R system_u:object_r:httpd_sys_content_t /var/www/html/
cp MailWatch.pm /usr/lib/MailScanner/MailScanner/CustomFunctions/
cp SQLBlackWhiteList.pm /usr/lib/MailScanner/MailScanner/CustomFunctions/
cp tools/db_clean.php /usr/local/bin/
cp tools/quarantine_maint.php /usr/local/bin/
Mailfeeder
wget http://www.pldaniels.com/mailfeeder/mailfeeder-0.2.3.tar.gz
tar xzvf mailfeeder-0.2.3.tar.gz
cd mailfeeder-0.2.3
make
cp mailfeeder /usr/local/bin/
配置包
配置Exim
介绍
要使用邮件扫描程序运行exim,您需要2个配置文件,一个用于在端口25上监听的守护程序,并接收传入邮件,另一个用于执行邮件扫描程序扫描的干净邮件的exim进程。 您还需要2个队列,一个用于传入,另一个用于已扫描的干净邮件。
我不会介绍exim提供的所有配置选项,我希望您能够获得详细的信息,其中关于如何配置正常运行的exim系统,所以我将仅专注于特定于此设置的那些区域。
- 所以要开始备份您的exim配置,然后在出站进程中创建第二个配置文件。
cp /etc/exim/exim.conf /etc/exim/exim.conf.orig
cp /etc/exim/exim.conf /etc/exim/exim_out.conf
入境进
这是用于在端口25上监听的exim守护程序的配置,并接受消息并将其排队,以便mailscanner进行处理。 配置文件是/etc/exim/exim.conf。
防病毒/安全检查
配置传入的exim守护进程(/etc/exim/exim.conf)使用clamav扫描传入邮件,并在smtp时间拒绝病毒感染的电子邮件和图像以及垃圾邮件。
av_scanner = clamd:/var/run/clamav/clamd.sock
邮件路由
配置您接受邮件的域名,我们将这些添加到文件/ etc / exim / relay_domains。
# example /etc/exim/relay_domains example.com
在exim配置中指定:
domainlist relay_to_domains = lsearch;/etc/exim/relay_domains
在/ etc / exim / mail-routes文件中配置要过滤邮件的域的路由。
#example /etc/exim/mail-routes example.com: xxx.xxx.xxx.xxx:xxx.xxx.xxx.xxx #this domain is on a CGP cluster of 2 front end nodes somedomain.com: xxx.xxx.xxx.xxx # this delivers to one CGP machine
配置路由器接受中继域的邮件。 您需要在check_backend:router下添加(请参阅下面的地址验证)。
deliver_clean: driver = manualroute domains = +relay_to_domains transport = remote_smtp route_data = ${lookup{$domain}lsearch{/etc/exim/mail-routes}}
邮件扫描程序集成
配置入站Exim只是为了排队邮件而不交付,以使邮件扫描程序能够处理它们。
spool_directory = /var/spool/exim.in process_log_path = /var/spool/exim/exim-process.info queue_only = true queue_only_override = false
RBL的
在acl_check_rcpt下配置RBL:
drop message = REJECTED because $sender_host_address is in a black list spamhaus.org dnslists = xen.spamhaus.org drop message = REJECTED because $sender_host_address is in a black list at $dnslist_domain\n$dnslist_text dnslists = bl.spamcop.net drop message = REJECTED because $sender_host_address is in a black list at $dnslist_domain\n$dnslist_text dnslists = dnsbl.sorbs.net