您所在的位置: 首页>>读书频道>>操作系统>>Linux>>

18.12.6 拒绝服务攻击

http://book.51cto.com  2008-04-22 11:52  [美]Evi Nemeth Garth Snyder Trent R.Hein  人民邮电出版社  我要评论(0)

18.12.6  拒绝服务攻击

要防止拒绝服务攻击(denial of service,DoS)是很困难的,因为没有一种方法可以预先知道一则消息是一个攻击还是一份有效的电子邮件。攻击者可以尝试各种卑鄙的招数,包括用假连接淹没SMTP端口,用巨大的消息填满磁盘分区,阻塞向外的连接,以及邮件炸弹。sendmail有一些配置参数可以帮助减慢或限制一次拒绝服务攻击的冲击,但是这些参数也会妨碍合法的邮件传输。邮件过滤库(milter)可能会帮助系统管理员对抗一次长时间的拒绝服务攻击。

MaxDaemonChildren选项可以限制sendmail进程的数目。它能防止系统被sendmail的任务压跨,但也让攻击者能够非常容易地关闭SMTP服务。MaxMessageSize选项有助于防止邮件队列目录被填满,但如果把它设置得太小,合法邮件将被弹回(您可以向用户说明这项限制,这样当邮件被弹回时他们就不会感到惊讶。无论如何我们建议把限制设得高一些,因为一些合法的邮件也很大)。ConnectionRateThrottle选项限制的是每秒钟内允许的连接数目,它可以大大减缓连接速度。最后,可以设置MaxRcptsPerMessage,它控制一则消息中允许收件人的最大数目,这可能会有所帮助。

sendmail一直能够根据系统的平均负载来拒绝链接(REFUSE_LA选项)或者把电子邮件排入队列(QUEUE_LA选项)。在8.12版的sendmail引入了一种变化(DELAY_LA选项),它能让邮件继续流动,但是速度却被降低了。参考18.12.3节关于性能的详细说明。

尽管这一切都致力于保护您的邮件系统,但用邮件轰炸您的人还是会妨碍合法的邮件传输。邮件炸弹是相当卑鄙的。

科罗拉多大学为每个学生(大约有25000人)提供了一个电子邮件账户,pine是默认的邮件阅读器。几年前,一位学生在本地的计算机商店获得了一份新工作,他的雇主说服他提供口令文件的一个副本。然后这家公司给口令文件中的每个人都发送了一则广告,大约分成每次1000个收件人(这使得To: 行非常长)这样来发。

pine是把默认的回复模式设置为对所有的收件人和发件人作出答复来编译的。许多学生用这样的问题来做答复:“为什么您给我发送这封垃圾?”。当然这样的信发给了To: 行中的其他所有人。结果是服务器拒绝所有服务—无论是电子邮件还是任何其他使用。sendmail接管了所有的CPU计算周期,邮件队列庞大无比,所有正在进行的工作都被暂停。唯一的解决方案是让这台机器下线,进入每个用户的邮件缓冲区,并删除讨厌的消息(也已经用了对标题[Subject]行进行信头检查的方法)。

【责任编辑:夏书 TEL:(010)68476606】

回书目   上一节   下一节
如何有效防御SQL注入攻击
系统应用日志分析管理
Linux——从菜鸟到高手
网络管理系统如何支撑ITSM
垃圾邮件新对策:远程定制托管服务
 
 验证码: (点击刷新验证码)   匿名发表
  • Visual C++ 完全自学宝典

  • 作者:强锋科技,朱洪波
  • Visual C++ 6.0是微软公司为程序人员提供的Visual Studio 6.0工具套件中的重要组成部分。本书由浅入深地介绍使用Visual C++ 6.0..
Copyright©2005-2008 51CTO.COM 版权所有