在安装procmail及sanitizer后,系统都只能处理寄进服务器内的信件,无法处理利用邮件服务器来寄出病毒信,因此在安装procmail-gateway修改sendmail.cf后可以在服务器寄信前拦截掉病毒信,减轻网络的负荷。
2、确定procmail已安装
检查sendmail.cf中有下面的语句:
mlocal, p=/usr/bin/procmail, f=lsdfmaw5:/|@qspfhn9, s=envfroml/hdrfroml, r=envtol/hdrtol,
t=dns/rfc822/x-unix,
a=procmail -t -y -a $h -d $u
3、确定毒药文件路径及档案存在
/etc/procmail/poisoned-files
4、确定陷阱文件路径及档案存在
/etc/procmail/html-trap.procmail
5、编写系统回信警告通知文件
vi /etc/procmail/policy.txt
内容范例:
这封信是系统自动发出的讯息。
您的信件可能中毒,系统已加以隔离处理,请尽速扫毒后再重新寄此封信。
vi /etc/procmail/quarantined.txt
有人寄病毒信给您,系统已加以拦截,信件相关讯息如下。
6、确定档案权限
touch /var/log/procmail.log <--档案不存在时才touch
chmod 644 /var/log/procmail.log
touch /var/spool/mail/quarantine <--档案不存在时才touch
chmod 644 /var/spool/mail/quarantine
touch /var/log/scores <--档案不存在时才touch
chmod 644 /var/log/scores
7、修改procmailrc
vi /etc/procmailrc
范例文件如下:
maildir=/var/mail
verbose=off
path="/usr/bin:$path:/usr/local/bin"
#nimda virus
:0 bh
* ^content-type: audio/x-wav;
* name="readme.exe"
/dev/null
shell=/bin/sh
poisoned_executables=/etc/procmail/poisoned-files
#寄信通知系统管理者,若需更多人请在postmaster后加逗点再输入email即可
security_notify="postmaster"
#系统通知讯息发布人
security_notify_verbose="postmaster"
#寄信通知寄件人
security_notify_sender=yes
#寄信通知寄件人讯息内容
security_notify_sender="/etc/procmail/policy.txt"
#寄信通知给收件人的讯息内容
security_notify_recipient="/etc/procmail/quarantined.txt"
#可放20字长度以下字符随机数值,增加安全性
secret="sfd9734965q34o2ldgbl"
#检疫隔离信件文件位置
security_quarantine=/var/spool/mail/quarantine
#宏病毒扫描积分门坎,一般而言,中毒信件得分通常都会超过100分
poisoned_score=100
#宏病毒扫描日志文件位置
score_history=/var/log/scores
logfile=/var/log/procmail.log
includerc=/etc/procmail/html-trap.procmail
8、修改sendmail.cf
vi /etc/sendmail.cf
在档案最后加上以下的内容:
注意:复制/贴上以下内容有时会因为html tag的问题造成sendmail服务无法重新启动,此时可下载完整sendmail.cf范例文件 (右键/另存目标)至本机再复制/贴上至服务器或上传至服务器。
#在m
##### @(#)procmail.m4 8.11 (berkeley) 5/19/1998 #####
mprocmail, p=/usr/bin/procmail, f=dfmsphnu9, s=11/31, r=21/31, t=dns/rfc822/x-unix,
a=procmail -f- -y -m $h $f $u
# (空此行一定要先空tab)
# 在my name for error messages设定的后面加上下面两行
# avoid host map lookups if address has this pseudo-domain on it cpprocmail
# 在ruleset 98后面加上下面设定
# filter all mail through procmail
#
# strip the pseudo-domain and continue (already gone through the filter)
r$*<@$+.procmail>$* $@ $1<@$2.>$3
r$*<@$+.procmail.>$* $@ $1<@$2.>$3
#
# no pseudo-domain, send to filtering mailer
r$*<@$+.>$* $#procmail $@/etc/procmail/filter.rc $:$1<@$2.procmail>$3
r$*<@$+>$* $#procmail $@/etc/procmail/filter.rc $:$1<@$2.procmail>$3
9、建立过滤档filter.rc
vi /etc/procmail/filter.rc
范例文件内容如下:
logfile=/var/log/procmail.log
nl="
"
logabstract=no
poisoned_executables=/etc/procmail/poisoned-files
includerc=/etc/procmail/html-trap.procmail
:0 # re-send the message
! -oi -f "$@"
文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




