小规模DDoS用Freebsd+IPFW搞定

来源:asp之家 时间:2009-12-24 14:52:00 

笔者公司共有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,IPFW,DDoS
0
投稿

猜你喜欢

  • 入门认识:典型邮件服务器

    2007-03-27 09:40:00
  • 如何提升网站的链接广泛度

    2008-06-30 12:42:00
  • 优化从网站的基础入手 着重网站的设计重点

    2008-12-30 09:39:00
  • 学习十九楼模式用论坛程序打造门户样式站

    2008-11-21 16:56:00
  • dedecms生成速度超级优化攻略 从50秒20页到0.72秒20页

    2010-12-08 16:35:00
  • Apache服务器配置全攻略(五)

    2008-01-20 14:55:00
  • XP下IIS不能添加扩展名映射的BUG

    2008-05-25 13:46:00
  • phpwindV6.3关于前台银行操作日志链接问题

    2009-02-20 15:35:00
  • GoDaddy常见问题之如何在共享主机帐户上使用Password Vault?

    2010-04-14 13:00:00
  • Google推出中文AdSense for Mobile

    2007-09-19 13:25:00
  • 新手慎防:2010年常见网赚骗局(二)

    2010-05-09 23:37:00
  • 吕英建SEO讲课记录 如何提高网站的权重

    2009-02-12 10:46:00
  • Linux和Windows系统升级的最大不同

    2009-02-10 18:36:00
  • 让SEO更大的作用

    2009-01-16 16:39:00
  • 配置好时间和日期补余 让Adsense收益最大化

    2009-07-21 17:44:00
  • DNS服务器:使用防火墙时的应用方法

    2009-05-14 10:36:00
  • 应用:让OpenSSH成为安全的Web服务器

    2008-10-09 16:51:00
  • 服务器虚拟化的必须考虑的十大因素

    2010-08-15 18:35:00
  • 用MDaemon搭建邮件服务器(下)

    2007-11-23 13:39:00
  • 三次优化让我的广告点击率从0.5%提高到3.0%

    2007-10-26 15:57:00
  • asp之家 网站运营 m.aspxhome.com