◆ 客户端设置

在Outlook Express主窗口,单击“工具T)”选单,在下拉选单中选中“账号A)”。在“Internet账号”窗口中,选定某一邮件账号,单击“属性P)”。在弹出的账号“属性”窗口中,选择“服务器”选项卡,选中“我的服务器要求身份验证V)”。单击旁边的“设置E)”按钮,在“外发邮件服务器”窗口中选择“使用与接收邮件服务器相同的设置U)”。按“确定”后,设置便完成了。

4)使用专用工具防止垃圾邮件

SpamAssassin的安装过程比较简单,这里就不赘述了。

其配置过程如下:

SpamAssassin预设了许多默认规则,可以在/usr/share/spamassassin下找到,用户想添加自己的规则,可以配置通过/etc/mail/spamassassin/local.cf文件实现。要在其中添加白名单即可以确信不会发送垃圾邮件的发件人列表)。设置代码如下:

whitelist_from_rcvd people@basic.com

whitelist_from_rcvd @ people.com

以上两条规则将people@basic.com邮箱和@people.com整个域加入了白名单。

下面还要把SpamAssassin与Sendmail此处以Sendmail为例,Qmail、Postfix略有不同)整合在一起。最简单的方法是使用procmail来调用SpamAssassin过滤器。procmail来调用SpamAssassin的过程如图2所示。

图2

添加以下内容到/etc/procmailrc文件:

:0fw

/usr/bin/spamassassin

:0

* X-Spam-Status: Yes

Spam

如果希望SpamAssassin不检查大邮件,可以对其做出限制,添加一行:

:0fw * < 1000000   /usr/bin/spamassassin

这段代码表示把邮件检查的大小限制在1000K字节以内。SpamAssassin还提供了一个专门的spamd后台守护程序,可以设置为系统启动时自动启动。在Mail-SpamAssassin-3.-0.2/spamd/下有一个redhat-rc-script.sh脚本,将此脚本放入RedHat的启动目录/etc/rc.d/init.d/下即可。同时,还需要对/etc/procmailrc文件做如下修改:

:0fw

/usr/bin/spamc -s 100000

这样就可以通过控制spamd进程来调整过滤器的运行状态。配置完成后,可以发邮件进行测试。如果看到在邮件头出现与spam检查相关的几项内容,表示SpamAssassin已经开始发挥作用。

除了设置内部的规则之外,SpamAssassin也可以访问其他外部的垃圾邮件过滤规则集,这样可以进一步增强其适用性。Chinese_rules.cf是用于垃圾邮件过滤系统SpamAssassin的中文垃圾邮件过滤规则集。由于以前没有中文的过滤规则集,SpamAssassin对中文邮件过滤的准确性不高。CCERT反垃圾邮件研究小组推出了第一个基于SpamAssassin的中文垃圾邮件过滤规则集Chinese_rules.cf。把Chinese_rules.cf复制到/usr/share/spamassassin配置文档中的命令为:

# wget -N -P /usr/share/spamassassin www.ccert.edu.cn/spam/sa/Chinese_rules.cf

要注意的是,CCERT每周更新一次规则集,更新使用CCERT反垃圾邮件服务在6个月内处理过的垃圾邮件为样本。经常更新Chinese_rules.cf会使过滤效果更好。

Linux有一个称为crond的守护程序,主要功能是周期性地检查/var/spool/cron目录下的一组命令文件的内容,并在设定的时间执行这些文件中的命令。用户可以通过crontab命令来建立、修改、删除这些命令文件。例如用crontab命令实现每周一08:35自动更新:

A.首先建立一个文件,文件名称myproject(名称可随意设定):

#crontab -e

B.文件内容为:

35 08 * * 1 wget -N -P /usr/share/spamassassin

www.ccert.edu.cn/spam/sa/Chinese_rules.cf; /etc/init.d/init-script restart

用vi编辑后存盘退出。

C.使用crontab命令添加到任务列表中:

#crontab myproject

这样,Linux服务器便会在每星期一的8点35分会自动下载Chinese_rules.cf更新规则。

5)Sendmail服务器防范DoS攻击措施

通过设置/etc/mail/Sendmail.mc的一些目录限度,DoS攻击的有效性就会大受限制。可参考本刊8月刊《分类防范对Linux的DoS》)。另外可以考虑使用非root权限运行Sendmail服务,使用基于xinetd的SMTP服务即可。

缺省情况下Sendmail的守护进程作为set-UID用户进程来运行。如果Sendmail的守护进程被缓冲区溢出攻击的话,可能危及root账号的安全,而root用户的权限最高,攻击者可以摧毁整个服务器。因此需要降低Sendmail运行权限为普通用户。方法如下:

A.建立mail用户名称:

#useradd mail -s /bin/false

B.修改Sendmail使用的文件和目录的权限:

#chown root:mail /var/spool/mail;#chmod 1775 /var/spool/mail

#chown -R :mail /var/spool/mail/*;#chmod -R 660 /var/spool/mail/*

#chown mail:mail /usr/sbin/Sendmail;#chmod 6555 /usr/sbin/Sendmail

#chown mail /var/spool/mqueue/*;chown -R mail:mail /etc/mail

#chmod -R 664 /etc/mail

C.为Sendmail创建一个超级访问程序/etc/xine.d/Sendmail:

service smtp

{socket_type=stream

wait=no

user=mail

group=mail

server=/usr/sbin/Sendmail

server_args=-bs

log_on_success+=DURATION USERID

log_on_failure+=USERID

nice=10

disable=no}

D.修改/etc/crontab,使其拥有如下实体:

10 * * * * mail /usr/sbin/Sendmail -q

表示10分钟运行一次邮件服务器。

E.修改配置文件site.config.m4,添加以下内容:

define(`confTEMP_FILE_MODE’, `0660’)dnl

define(`ALIAS_FILE’, `/etc/mail/aliases’)

F.停止Sendmail守护进程。

G.使用“killall -USR1 xinetd”重新启动xinetd超级服务器。

H.使用命令:“telnet localhost 25”连接Sendmail。

I.查看Sendmail运行情况,使用命令:

#ps aux   grep Sendmail

mail 25274 0.0 0.7 4048 1808 ? SN 04:11 0:00 Sendmail: server

root 25294 0.0 0.2 1520 592 ttyp0 S 04:15 0:00 grep Sendmail

上面显示Sendmail作为mail用户在运行。然后使用quit命令推出即可。


相关内容