用户名: 密码: mail
中国安全信息网
设为首页
加入收藏
广告联系
首页 | 安全产品 | 企业安全 | 安全技术 | 新手学堂 | 安全专题 | 补丁下载 | 杀毒升级包 | 安全认证 | 交流社区
您现在的位置:首页>>中国安全信息网>>技术文摘>>安全专题>>DDOS专区>>正文

小规模DDoS(拒绝服务)用Freebsd+IPFW搞定

www.hacker.cn 发布时间:2005-9-28 11:26:58 作者: 来源:天极网

 笔者公司共有10台Web服务器,使用Redhat Linux 9作为操作系统,分布在全国各大城市,主要为用户提供HTTP服务。曾经有一段时间不少用户反映有的服务器访问速度缓慢,甚至不能访问,检查后发现是受到了DDoS攻击(分布式拒绝服务攻击)。由于服务器分布太散,不能采用硬件防火墙的方案,虽然IPtables功能很强大,足以应付大部分的攻击,但Linux系统自身对DDoS攻击的防御力本来就弱,只好另想办法了。

  一、Freebsd的魅力

  发现Freebsd的好处是在一次偶然的测试中,在LAN里虚拟了一个Internet,用一台Windows客户端分别向一台Windows Server、Linux Server和一台Freebsd在无任何防范措施的情况下发送Syn Flood数据包(常见的DDoS攻击主要靠向服务器发送Syn Flood数据完成)。Windows在达到10个包的时候就完全停止响应了,Linux在达到10个数据包的时候开始连接不正常,而Freebsd却能承受达100个以上的Syn Flood数据包。笔者决定将公司所有的Web服务器全换为Freebsd平台。

  在使用Freebsd后,的确过了一段时间的安稳日子。不过近日又有用户再次反映网站不能正常访问,表现症状为用户打开网页速度缓慢,或者直接显示为找不到网站。用netstat ?a查看到来自某IP的连接刚好50个,状态均为FIN_WAIT 1,这是属于明显的DDoS攻击,看来Freebsd没有防火墙也不是万能的啊,于是就想到了装防火墙。

  看了N多资料,了解到Freebsd下最常见的防火墙叫IP FireWall,中文字面意思叫IP防火墙,简称IPFW。但如果要使用IPFW则需要编译Freebsd系统内核。出于安全考虑,在编译结束后,IPFW是默认拒绝所有网络服务,包括对系统本身都会拒绝,这下我就彻底“寒”了,我放在外地的服务器可怎么弄啊?

  大家这里一定要小心,配置稍不注意就可能让你的服务器拒绝所有的服务。笔者在一台装了Freebsd 5.0 Release的服务器上进行了测试。

  二、配置IPFW

  其实我们完全可以把安装IPFW看作一次软件升级的过程,在Windows里面,如果要升级一款软件,则需要去下载升级包,然后安装;在Freebsd中升级软件过程也是如此,但我们今天升级的这个功能是系统本身已经内置了的,我们只需要利用这个功能即可。打开这个功能之前,我们还要做一些准备工作。

  下面开始配置IPFW的基本参数。

  Step1:准备工作

  在命令提示符下进行如下操作:

  #cd /sys/i386/conf

  如果提示没有这个目录,那说明你的系统没有安装ports服务,要记住装上。

  #cp GENERIC ./kernel_IPFW

  Step2:内核规则

  用编辑器打开kernel_IPFW这个文件,在该文件的末尾加入以下四行内容:

  options IPFIREWALL

  将包过滤部分的代码编译进内核。

  options IPFIREWALL_VERBOSE

  启用通过Syslogd记录的日志;如果没有指定这个选项,即使你在过滤规则中指定了记录包,也不会真的记录它们。

  options IPFIREWALL_VERBOSE_LI

  MIT=10

  限制通过Syslogd记录的每项包规则的记录条数。如果你受到了大量的攻击,想记录防火墙的活动,但又不想由于Syslog洪水一般的记录而导致你的日记写入失败,那么这个选项将会很有用。有了这条规则,当规则链中的某一项达到限制数值时,它所对应的日志将不再记录。

  options IPFIREWALL_DEFAULT_TO

  _ACCEPT

  这句是最关键的。将把默认的规则动作从 “deny” 改为 “allow”。这句命令的作用是,在默认状态下,IPFW会接受任何的数据,也就是说服务器看起来像没有防火墙一样,如果你需要什么规则,在安装完成后直接添加就可以了。

  输入完成后保存kernel_IPFW文件并退出。

三、编译系统内核

  由于Freebsd和Linux一样,都是公开源代码的操作系统,不像Windows那样代码是封装了的,出了问题我们只能猜测,或者咨询微软公司;由于Freebsd系统内核在不断升级,我们为了使用新版本中的功能,或者定制一个更高效、更稳定的系统,通常需要编译系统内核。

  当然,我们在这里编译内核,是为了能得到一个更高效的系统,而不是使用新版本的功能;

  在编译的过程中,可能会提示一些错误,为了尽可能减少错误提示,我们已将配置文件缩减到了最少,如果再出现什么错误提示,请仔细检查是否有输入错误等细小问题。

  Step1:编译所需的命令

  在命令行上执行如下命令:

  #/usr/sbin/config kernel_IPFW

  执行结束后会出现如下提示:Kernel build directory is ../compile/kernel_IPFW Don`t forget to do a make depend`

  #cd ../compile/kernel_IPFW

  在这个地方注意一下,Freebsd 4.X版本是../../compile/kernel_IPFW,但Freebsd 5.0版本却是../compile/kernel_IPFW。

  #make

  #make install

  Step2:开始编译内核

  根据系统性能差异,时间也有不同,普通双P4 XEON 1GB内存的服务器大约5分钟左右即可完成。

  四、加载启动项

  编译完成了,我们要让系统自动启动IPFW并记录日志,需要进行如下操作:

  Step1:编辑器编辑/etc/rc.conf

  加入如下参数:

  firewall_enable=`YES`

  激活Firewall防火墙

  firewall_script=`/etc/rc.firewall`

  Firewall防火墙的默认脚本

  firewall_type=`/etc/ipfw.conf`

  Firewall自定义脚本

  firewall_quiet=`NO`

  启用脚本时,是否显示规则信息;假如你的防火墙脚本已经不会再有修改,那么就可以把这里设置成“YES”了。

  firewall_logging_enable=`YES`

  启用Firewall的Log记录

  Step2:编辑/etc/syslog.conf文件

  在文件最后加入如下内容:

  !ipfw

  *.* /var/log/ipfw.log

  这行的作用是将IPFW的日志写到/var/log/ipfw.log文件里,当然,你也可以为日志文件指定其他目录。

  以上步骤完成后重启电脑。

  五、使用并保存规则

  完成后,你就会发现你能用SSH登录你的远程服务器了。

  Step1:测试

  刚登录的时候你不会发现你的系统发生了什么变化,但你可以试试以下这个命令:#ipfw show,将输出以下结果:65535 322 43115 allow ip from any to any。它告诉我们,IPFW已经成功启用,而且允许任何的连接。

  Step2:使用

  在命令提示符下输入如下命令:#ipfw add 10001 deny all from 218.249.20.135 to any。

  拒绝来自218.249.20.135的任何服务,执行完成后,你就会发现来自IP218.249.20.135的所有服务都会被拒绝。

  Step3:保存

  把这句代码加在/etc/rc.firewall文件里:ipfw add 10001 deny all from 218.249.20.135 to any,运行如下这个命令:#sh /etc/rc.firew

  all

  表示保存到rc.firewall里面时,不需要前面的#号,然后重新载入IPFW规则。

  或者重启一次你的系统,你的IPFW就生效了,只要你不手动解除,来自218.249.20.135的所有信息全部都会被拒绝。

【编辑:】
收藏此页关闭】【问题交流
相关文章:

会员名称:
密码:匿名 ·注册·忘记密码?
评论内容:
(最多300个字符)
  查看评论
站内搜索
    
推荐文章
·安全技术详解 跳板攻击与防御
·加速杀毒引擎 卡巴斯基设置教程
·局域网资源共享故障分析与解决
·悠过春节 电脑软件全自动操作
·木马病毒潜伏秘密 诡招全曝光
·ADSL防黑客攻击十大新妙法
·轻松几招 将电脑调整到完美的状态
·局域网中架设Win2003终端服务器
·禁止 MSN 自动运行的四妙招
·点对点无线网桥解决方案
最新文章
·安全技术详解 跳板攻击与防御
·超级连接VPN集团客户远程接入解决方案
·杭州国家软件产业基地一体化网络安全系统
·加密虎在远程教育网站应用案例
·佳讯飞鸿煤气96177客户服务系统解决方案
·F5助力中石化天津公司加油站远程访问
·无线网络安全八大技术利弊剖析
·“WORD杀手”病毒惊现 OFFICE用户临劫
·加速杀毒引擎 卡巴斯基设置教程
·分级防御对Linux服务器的攻击
免费专区
病毒升级包下载
系统补丁下载
免费在线服务
精品超全软件库
安全产品

设为首页 | 加入收藏 | 关于我们 | 网站留言 | 友情链接 | 广告服务 | 版权申明
CopyRight 2003-2006 www.hacker.cn All Right Reserved.
中国安全信息网 版权所有 普及网络安全-振兴中华 冀 icp 备字 030437号
tel:0311-85880333       webmaster@hacker.cn