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

笔者公司共有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文件并退出。

时间: 2024-11-01 03:23:25

小规模DDoS(拒绝服务)用Freebsd+IPFW搞定的相关文章

小规模DDoS用Freebsd+IPFW搞定_网络冲浪

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

搞定互联网安全的四大计划

摘要:互联网安全正处于危机中.本文中,我们将为您提供四项切实可行的解决方案建议--包括一套自上而下的改变互联网运作的全方位的计划. 现如今,互联网可以说是无处不在.从我们手中的各种移动设备到我们工作所使用的电脑的互联,我们无时无刻不是生活和工作在其中的.但不幸的是,我们在线工作生活在安全保障方面并不充分.任何坚定的黑客都可以窃听到我们说过什么,并通过模仿冒充我们,执行各种网络恶意活动. 很显然,我们对于互联网的安全亟待需要进行反思了.而通过对全球通信平台进行翻新改造,来加装安全和隐私控制的确是不

搞定大数据:AI和机器学习在数据处理与保护上的应用

作为咨询师和顾问,有关各自数据.信息和网络安全事务时,重复"规模"问题挺有难度.不幸的是,上市公司的"外行"总监和管理人员,以及政府高管,倾向于将"规模"(当它属于数据保护的时候)看做不好的东西,甚至是令人恐怖的事物. 原因部分在于,几乎没有什么实用的方法,可以向这些位置上的人解释:某组织的安全运营中心是有可能每天收到百万个"事件",以及,同时处理和调查这些事件的固有潜在危害,以及,适度保证没有任何一起事件能够溜过安全人员的检

格子啦一键还原 轻松搞定数据备份还原“其实只在瞬间!”

无论是在家悠闲的宅男宅女,还是在公司拼搏的上班族,电脑里面的数据一直是我们关心的东西.常常有人感叹:电脑死机了,以前的快乐时光找不回了;电脑崩溃了,报表文档不见了;电脑瘫痪了,上级要的报告没了,要被炒鱿鱼了--有没有办法可以解决这个问题,让我们不在为电脑数据问题而烦恼呢?格子啦一键还原就可以轻轻松松搞定数据备份还原. 格子啦一键还原(http://hy.gezila.com )是第一款实现3秒备份,5秒还原的秒杀软件,采用数据地图专利技术可创建1000个还原点,恢复到不同时候,系统瘫痪F11一键

vb 数组问题,求各位大神搞定,谢谢

问题描述 vb 数组问题,求各位大神搞定,谢谢 Private Sub Command1_Click() Dim strDataValue() As StringDim stray() As StringDim strss As StringDim ar1() As StringDim sss As StringDim i As Integer strss = ""1245121443437676764"" ar1 = Split(strss) For i = 0

帮你快速搞定网页配色的方法(附配色神器)

  完全零基础的新手如何做好网页配色?今天@喪心病狂十六夜貓 这篇好文,从网页基色.强调色.深色到应用整个配色方案 都有详细的流程与教学,每个步骤几乎都不用思考,用文章提供的配色神器就可以搞定了,你只要决定整个风格就行了.好东西千万別错过,来收! 目录 决定基色 决定强调色 决定深色 让我们应用配色方案 01. 首先决定基色 首先,来决定网站的基色吧!虽然说你可以使用任何你喜欢的颜色,但为了让别人理解你的设计意图和理念,尽量还是需要注意以下几点. 善于使用手边的资料 客户端的标志上常用的颜色,往

如何利用6个摄影构图法搞定设计布局?

  摄影设计双学习!今天腾讯的同学一边聊摄影,一边聊设计,总结了6个实用的摄影技巧,同样适合拿来搞定网页设计中的布局,设计是主,摄影是客,客从主意,帮你快速理解网页上的构图,来学习咯. 小K :一幅好照片要把观众的注意力吸引到趣味中心的被摄主体上.无论是拍什么类型的照片,都会有一个主体.你喜欢拍人物,拍生态,这些都不是问题,但是一旦主体被模糊,欣赏照片时就会忽略照片的主体,这样的照片是不失败不完美的,因为真正想让观众看的东西并没有一眼看到.例如婚纱照,主体肯定是人物新娘和新郎.如果目光都被新娘后

10个文字排版秘诀搞定你的PPT设计

  10个文字排版秘诀搞定你的PPT设计          资深视觉设计师 Janie Kliever 在 Design School 发表了一篇文章,列出 10 个能帮你增进文字排版的诀窍和密技,虽然介绍的是英文字型,不过还是相当实用,让我们一起来看看吧! 1.将要表达的讯息配上适当的感觉 用了两种差不多的字型?或是你总是用最喜欢的那一种字型?以上都是没有妥善选择字型的情形. 每种字型都散发独特的情感或个性,也许是友善.新潮.严肃或傻里傻气,但大部分的字型并不是万用的,所以你要判断一个字型对你

分分钟搞定IOS远程消息推送

分分钟搞定IOS远程消息推送 一.引言 IOS中消息的推送有两种方式,分别是本地推送和远程推送,本地推送在http://my.oschina.net/u/2340880/blog/405491这篇博客中有详细的介绍,这里主要讨论远程推送的流程与配置过程. 二.远程推送机制的原理 1.从一张很火的图说起 搜索IOS远程推送,你总能看到一张如下的流程示意图,因为这张图确实很火,所以我也将它引用在此: 这张图示意的很清晰,大致意思是这样:你的应用服务端将消息发送到apple的APNS服务器,APNS服