增强Sendmail的抗DoS攻击能力

12/3/2006来源:Qmail人气:5913

还记得一个月以前的Yahoo,eBay......受到的拒绝服务(Denial Of Service)攻击吗?

  当然,他们遭受的只是Web服务的DOS攻击。其实从最根本上来讲,各种拒绝服务攻击都是攻击目标的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

,