如何构建垃圾邮件过滤邮件网关

如何构建垃圾邮件过滤邮件网关

作者Brian Goldberg - {brian AT carbonite D0T com}

www.carbonite.com

垃圾邮件已经从恶化演变为威胁。 SysAdms需要一个打击垃圾邮件的策略。 您可以使用加载在所有用户计算机上的过滤软件,但是需要大量时间才能安装,并且维护可以真正拖累您的时间和资源。 更好的方法是使用集中式的设备,在进入企业之前过滤垃圾邮件。 这种“反垃圾邮件网关”比单独安装的客户端软件要容易得多,易于管理和维护。 此外,它可以被调整为更有效。

概述

1.构建裸机Linux服务器
一个。 自定义配置
b。 分区
C。 防火墙选项
d。 包装选择
e。 LANG变量

2.安装Postfix消息传输代理(MTA)
一个。 禁用sendmail
b。 安装Postfix
C。 配置Postfix
d。 测试Postfix
e。 配置邮件转发
F。 再次测试

3.安装Mailscanner
一个。 安装MailScanner软件包
b。 初始MailScanner配置

4.安装Spamassassin
一个。 安装SpamAssassin
b。 配置SpamAssassin

5.安装ClamAV
一个。 安装ClamAV
b。 配置ClamAV
C。 测试ClamAV

第一步 - 构建裸骨Linux服务器

我使用了一些最新版本的RedHat Linux。 版本8,9或Fedora应该可以正常工作。 我使用GUI安装程序选择自定义构建。

一个。 自定义用户配置
选择键盘,语言和时区的通用选项。

b。 分区
您应该至少使用这种布局对服务器进行分区:
                /
/usr
/var
这将保护您的服务器免受日志丢失。

C。 防火墙配置
我选择了“无防火墙”选项。 我认为这个设备是流量管理设备,而不是安全设备。 上游安全应由实际的防火墙来处理。 当然,许多人可能不同意这一点,并选择加载IPTables。 只需确保您配置了正确的链来允许流量正常流动。

d。 包装选择
当您进入包装选择时,DE-SELECT EVERYTHING。 返回并选择以下项目:

编辑器 - >你需要这个vi文件
开发工具 - >您需要编译软件

一旦机器自行构建,它将重新启动。

e。 修复LANG变量
一旦重新启动,我们需要编辑LANG变量。 RedHat的LANG变量设置LANG =“en_US.UTF-8”可能导致MailScanner和SpamAssassin使用的一些perl代码中的编译错误。

在Red Hat Linux中,您必须编辑文件/ etc / sysconfig / i18n以更改行:
        
LANG="en_US.UTF-8"
SUPPORTED="en_US.UTF-8:en_US:en"
To:
LANG="en_US"
SUPPORTED="en_US.UTF-8:en_US:en"
然后,您需要重新设置和导出LANG变量:
                [root@titan sysconfig]# LANG='en_US'
[root@titan sysconfig]# export LANG

步骤II - 安装Postfix

我选择使用postifx而不是sendmail作为我的MTA。 我喜欢postfix,因为它的配置是非常容易理解的。 此外,我相信它比sendmail更轻巧。

一个。 禁用现有的Sendmail服务
在安装postfix之前,您需要禁用在Linux框上运行的现有sendmail项目。
                Service sendmail stop
chkconfig sendmail off
b。 安装Postfix
从www.postfix.org下载postfix 2.1.5,并按照 这个postfix文件进行安装。 确保在passwd,组和别名文件中添加所需的记录。 Postfix和Mailscanner将无法使用它们!

当您“安装”时,接受所有的默认设置

C。 配置Postfix
Postifx有两个文件可以控制其大部分功能。 这些是main.cf和master.cf。

具体main.cf编辑:
                myhostname = titan.corp.com
mydomain = corp.com
myorgin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain $mydomain
mynetwork_style = host
注意:其中一些项目需要更改,而有些仅需要取消注释。

d。 测试Postfix构建
现在测试postfix是非常重要的,以确保一切正常。

发送电子邮件到这个邮件服务器。 您可以在端口25上telnet到此框并手动发送电子邮件。

e。 配置Postfix转发电子邮件
由于我们不希望此设备成为我们邮件的最终目的地,因此我们需要配置Postfix将我们的域的所有邮件转发到SMTP邮件服务器。 我们需要确保仅转发我们的域的邮件,并删除其他域的邮件(不要成为公开邮件转发 - 非常糟糕!)

在main.cf中编辑这个项目
                relay_domains = lab.net
这告诉Postfix哪些域应该中继邮件。 所有发送给这个Doamin的邮件(并且只有这个域)将被转发到其远程SMTP服务器。 您可以将多个域放在这里,只需用逗号或空格分隔。

添加行到main.cf的末尾
                transport_maps = hash:/etc/postfix/transport
这告诉Postfix用于解决中继邮件的目的地址的方法:

添加行到“/ etc / postfix / transport”的末尾
                lab.net                smtp:[192.168.2.225]
该命令将域“lab.net”特定映射到IP地址192.168.2.225,并告诉Postfix使用SMTP作为传输。 所有通过此垃圾邮件网关中转的用于lab.net的邮件将通过SMTP转发到192.168.2.225。

然后运行命令:
                postmap /etc/postfix/transport
此命令构建Posfix将用于转发邮件的哈希表/文件。 如果你不这样做,它不会工作。

最后将此行添加到main.cf
                append_at_myorigin = no
这些行将确保您的垃圾邮件网关在邮件通过时不会添加任何自己的标题域信息。

F。 再次测试
停止并启动postfix以确保所有更改都需要。
                postfix stop
postfix start
我知道这是冗余的,但是在安装MailScanner之前,您应该再次测试系统。 确保邮件通过系统wihtout问题通过。 如果您遇到问题,现在可以比安装MailScanner,SpamAssassin和ClamAV之后更容易修复。

步骤III - 安装MailScanner


一个。 安装MailScanner
MailScanner安装非常容易安装。 只需从http://mailscanner.info下载包。 我使用RedHat / Mandrake的版本。

将tar文件放在您选择的目录中,然后运行:
                tar zxvf MailScanner-
   
    .tar.gz
   
运行安装脚本:
                ./install.sh
使用chkconfig确保MailScanner设置为正确的运行级别。
                chkconfig --list | grep MailScanner
你应该看到:
                MailScanner     0:off   1:off   2:on    3:on    4:on    5:on    6:off
此外,您需要通过chkconfig禁用postfix。 MailScanner本身启动postfix。
                chkconfig postfix off
b。 配置邮件扫描仪设置

通过添加以下行来更新postfix的main.cf:
        header_checks = regexp:/etc/postfix/header_checks 
在/ etc / postfix / header_checks文件中添加以下行:
        /^Received:/ HOLD
以下是对邮件扫描器的编辑 - 在/etc/MailScanner/MailScanner.conf中放置/更新
        Run As User = postfix
Run As Group = postfix
Incoming Queue Dir = /var/spool/postfix/hold
Outgoing Queue Dir = /var/spool/postfix/incoming
MTA = postfix
以下是您需要做的一些文件权限更改:
            chown postfix.postfix /var/spool/MailScanner/incoming
chown postfix.postfix /var/spool/MailScanner/quarantine
现在测试服务器是个好主意。 发送消息到远程服务器,看看它是否通过。 它应该,然后你可以移动到安装SpamAssassin。

第四步 - SpamAssassin

一个。 安装SpamAssassin
SpamAssassin也很容易安装,但是,您需要确保安装了正确的PERL模块。 他们是:
                        Digest::SHA1
HTML::Parser
可选模块:
                        MIME::Base64
DB_File
Net::DNS
Mail::SPF::Query
Time::HiRes
您可以安装SpamAssassin:
                perl -MCPAN -e 'install Mail::SpamAssassin'
然后安装
                Net::DNS
b。 配置SpamAssassin
您不需要编辑任何SpamAssassin conf文件,因为所有配置都通过MailScanner完成。

在/etc/MailScanner/MailScanner.conf中,我们将进行以下更改:
更改此行:
                Use SpamAssassin = no
至:
                Use SpamAssassin = yes
更新SpamAssassin用户状态目录设置:
                SpamAssassin User State Dir = /var/spool/MailScanner/spamassassin
然后运行命令:
                mkdir /var/spool/MailScanner/spamassassin
chown postfix.postfix /var/spool/MailScanner/spamassassin
重新启动MailScanner以进行更改。
                service MailScanner restart

步骤V - ClamAV

一个。 安装ClamAV
在安装ClamAV之前,您需要添加clamav用户和组。 你可以这样做:
                groupadd clamav
useradd -g clamav -s /bin/false -c "Clam AntiVirus" clamav
一旦完成,您可以构建该软件。
打开包装:
                tar xvzf clamav-0.80.tar.gz
通用构建过程:
                ./configure
make
我遇到了一个问题,我的RedHat Fedora Core 3构建是通过使用这个命令“ln -s /usr/lib/libidn.so.11.4.6 /usr/lib/libidn.so”修复的。 有关详细信息,请访问此网页:“http://kb.atmail.com/view_article.php?num=132&title=libidn.so:%20No%20such%20file%20or%20directory”
                make install
现在,您需要加载ClamAV的perl模块
                perl -MCPAN -e shell 
install Parse::RecDescent
install Inline
install Mail::ClamAV
b。 配置ClamAV和MailScanner设置
在/usr/local/etc/clamd.conf中进行以下编辑:

在“示例”一词前添加'#'

在/usr/local/etc/freshclam.conf中也一样

现在您需要更新ClamAV的病毒库文件
                        [root@titus]# freshclam
ClamAV update process started at Sat Jan 29 19:43:51 2005
main.cvd is up to date (version: 29, sigs: 29086, f-level: 3, builder: tomek)
daily.cvd is up to date (version: 691, sigs: 804, f-level: 4, builder: ccordes)
更新MailScanner的配置文件以使用ClamAV
                                'Virus Scanners = clamav'
在MailScanner.conf中,检查“监控ClamAV更新”的设置,以确保它与您的ClamAV病毒数据库文件的位置相匹配。 这应该是“/usr/local/share/clamav/*.cvd”。

本文档的原始位置: http : //www.carbonite.com/guides/scannerbuild.html

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏