增强Sendmail的抗DoS攻击能力

发表于:2007-05-25来源:作者:点击数: 标签:
还记得一个月以前的Yahoo,eBay......受到的拒绝服务(DenialOfService)攻击吗? 当然,他们遭受的只是Web服务的DOS攻击。其实从最根本上来讲,各种拒绝服务攻击都是攻击目标的TCP/IP协议堆栈,并不是什么很特殊的运用方式,其目的都是让 服务器 瘫痪,无法工

 还记得一个月以前的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 Inte.net Mail Extension protocol,多用途的网际邮件扩充协议 
  配置参数:MaxMimeHeaderLength 
  参数描述:经过MIME编码的最大报文长度 
  默认值:没有定义 
  推荐值:1024或者更小 

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

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