增强Sendmail的抗DoS攻击能力
增强Sendmail的抗DoS攻击能力 还记得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