用Sendmail增强mail的抗DoS攻击能力

发表于:2007-06-23来源:作者:点击数: 标签:
各种拒绝服务攻击都是攻击目标的TCP/IP协议堆栈,并不是什么很特殊的运用方式,其目的都是让 服务器 瘫痪,无法工作。 之所以这类攻击能容易得逞,是因为当初建立IP协议标准的时候,主要目的是为了提供最有效的服务,却没有考虑到对于包的来源的有力的验证机

   

各种拒绝服务攻击都是攻击目标的TCP/IP协议堆栈,并不是什么很特殊的运用方式,其目的都是让服务器瘫痪,无法工作。 之所以这类攻击能容易得逞,是因为当初建立IP协议标准的时候,主要目的是为了提供最有效的服务,却没有考虑到对于包的来源的有力的验证机制。

这点缺陷导致了DOS攻击致命的恶果。

如果你的mail服务器遭到这种攻击,你会怎么办?

在Sendmail8.10.0发布以前,这是一件很恼火的事情。现在就不一样了,有了Sendmail8.10.0,只需要按照下文简单配置几个参数,你的mail服务器的抗拒绝服务攻击能力就大大提高了。推荐值适用于中小型的Mail服务器。

1.配置最少的自由块数

配置参数:MinFreeBlocks

参数描述:文件系统用来接受标准SMTP(简单邮件传输协议)邮件的队列中的最少的自由块数目。

越小越容易被攻击致命。

默认值:100

推荐值:4000或者更大

2.最大邮件大小

配置参数:MaxMessageSize

参数描述:每封邮件的最大尺寸,以比特(bytes)为单位。越大越容易被攻击致命。

默认值:不限制

推荐值:5M

3.自动重建别名

配置参数:AutoRebuildAliases

参数描述:需要的时候自动重建所有别名。如果设定为True的话,这是一个潜在的能引起拒绝服务攻击的危机。

默认值:False

推荐值:False

4.队列平均负荷

配置参数:QueueLA

参数描述:单一队列时的平均负荷。根据CPU的数量适当设定(8*CPU数量)

默认值:可变的

推荐值:10*CPU数量

5.平均负荷拒绝临界点

配置参数:RefuseLA

参数描述:一旦平均负荷超过此临界点,所有Incoming的SMTP连接均拒绝。

默认值:可变的

推荐值:8*CPU数量

6.最大的守护进程的子进程数

配置参数:MaxDaemonChildren

参数描述:容许Fork的最大的子进程数。超过此数目,连接就会被拒绝。如果设定值小于等于零,就意味着不限制。

默认值:没有定义

推荐值:根据内存大小设定。(例如,128M内存建议值为40)

7.最大的报头长度

配置参数:MaxHeadersLength

参数描述:所有报头的最大总长

默认值:没有设定

推荐值:32或者64K

8.最大MIME编码报文长度

MIME,Multipurpose Internet Mail Extension protocol,多用途的网际邮件扩充协议

配置参数:MaxMimeHeaderLength

参数描述:经过MIME编码的最大报文长度

默认值:没有定义

推荐值:1024或者更小

9.每封邮件的最多接收者

配置参数:MaxRecipientsPerMessage

参数描述:如果设定了的话,每封邮件只能同时抄送给指定数量的收信人。超过此数目就会返回一个452的错误代码。也就是说,在邮件队列中,会被无限期的延缓发送。

默认值:没有设定

推荐值:10-100

原文转自:http://www.ltesting.net