快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

和记娱乐博娱188_LED照明网进入



出自[url]http://shidongxue.blogdriver.com/shidongxue/699924.html[/url]

[code:1:521f71e2b6]基于freebsd5.3下 PF synproxy的DDOS警备规划- -

基于freebsd下 PF synproxy的DDOS警备规划

[择要]

本文讲述了基于freebsd5.3 下PF synproxy的DDOS警备规划,对付中小型企业抵挡每秒3万个包的进击不掉为一种可用规划。

[情况]

防火墙:台式机P4 2G,512内存。 FREEBSD5.3

WEB办事器:条记本PIII 700 256m, suse linux enterprise server 9

进击机械:条记本:PIII 700 256M, WIN2000 SERVER

进击对象:HGOD v0.4

测试机:条记本:PIII 700

拓朴:

=====

防火墙:xl0 外网卡:172.16.0.1; sis0 内网卡:192.168.100.1

WEB办事器:eth0 192.168.100.2

进击机:172.16.0.194

测试机:172.16.0.195

一、编译内核

#cd /usr/src/sys/i386/conf

#cp GENERIC billy-pf

#vi billy-pf

添加:

device pf

device pflog

device pfsync

options ALTQ

options ALTQ_CBQ # Class Bases Queuing (CBQ)

options ALTQ_RED # Random Early Detection (RED)

options ALTQ_RIO # RED In/Out

options ALTQ_HFSC # Hierarchical Packet Scheduler (HFSC)

options ALTQ_PRIQ # Priority Queuing (PRIQ)

options ALTQ_NOPCC # Required for SMP build

#config billy-pf

#cd ../compile/billy-pf

#make depend;make make install

二、编辑启动脚本/etc/rc.conf

pf_enable="YES" # Enable PF (load module if required)

pf_rules="/etc/pf.conf" # rules definition file for pf

pf_flags="" # additional flags for pfctl startup

pflog_enable="YES" # start pflogd(8)

pflog_logfile="/var/log/pflog" # where pflogd should store the logfile

pflog_flags="" # additional flags for pflogd startup

gateway_enable="YES"

三、改动/etc/pf.conf

ext_if="xl0"

int_if="sis0"

internal_net="192.168.100.1/24"

external_addr="172.16.0.1"

web_server="192.168.100.2"

nat on $ext_if from $internal_net to any -> ($ext_if)

#($ext_if) 括起来的缘故原由:假如你应用DHCP还设置设置设备摆设摆设外部地址,不括起来会存在问题。假如你分配的IP地址改变了,NAT仍旧会应用旧的IP地址转换出去的数据包。这会导致对外的连接竣事事情。为办理这个问题,应该给接口名称加上括号,奉告PF自动更新转换地址。

rdr on $ext_if proto tcp from any to $external_addr/32 port 80 -> $web_server port 80

#这一行重定向了TCP端口80(web办事器)流量到内部收集地址$web_server。是以,纵然$web_server在网关后面的内部收集,外部仍旧能够造访它。

pass in on $ext_if proto tcp from any to $web_server port 80 flags S/SA synproxy state

#连到外部地址的80端口,作SYNPROXY,以防DDOS进击

四、改动192.168.100.2的网关IP为192.168.100.1

五、改动/etc/sysctl.conf

net.inet.ip.forwarding=1

使防火墙进行IP转发

重启

六、测试

进击前先造访http://172.16.0.1/index.html,正常打开了WEB办事器上的主页

进击:

往防火墙的外部IP172.16.0.1的80端口发动DDOS进击。

hgod 172.16.0.1 80

察看WEB办事器192.168.100.2上的80端口连接环境和收到的包数。

统计防火墙上受进击强度(包/每秒)。

speed.sh

#!/bin/sh

oldval=0

curval=0

while true

do

curval=`netstat -i | grep xl0 | head -1 | awk '{print $5}'

if [ $oldval = 0 ]; then

old=$curval

else

echo `date`" pkg inbound rate o和记娱乐博娱188n xl0: $(($curval-$oldval)) pps"

oldval=$curval

fi

sleep 1

done

`

七、测试结果

DDOS进击下,防火墙接管到的包速度为:2.6万-2.8万个包每秒

在PF的保护下,仅DDOS进击时,WEB办事器没有收到一个包,阐明防火墙全盖住了不法包。

去掉落SYNPROXY的保护,即着末一条规则时,WEB办事器收到的包速成率与防火墙收到的包相称。造访WEB办事器时被回绝。

在PF保护下,WEB_server的造访正常。

结论:

基于PF的防DDOS进击对付每秒3万个包以下的进击抵挡效果出色。对付更大年夜流量的进击,有待进一步测试。

进一步的事情:

结合ALTQ中RED算法的连接耖尽进击警备。

只管对付不法IP的拦截PF可以大年夜显武艺,但对付完备TCP连接的消耖进击,同样异常紧张,下一篇将讲述若何使用RED(Rand和记娱乐博娱188om Early Detection)算法来适当保护合法用户。使用二八原则来区分用户的合法性。在外面上区分不了连接的合法性时,只能作适当的就义,就义忽然前来地造访的用户。

作为保护办事器的和记娱乐博娱188不绝机运行的第三把利剑,还可结合负载均衡来增强WEB办事器的高可用性.[/code:1:521f71e2b6]

##################write by zjzf_1#######################

pf的synproxy 实现在nat 上

这可不是 个好的选择低效呀而且要改变收集拓扑

我粗略的看了看pf颁发点见地欠妥之处盼望高手指出

pf对每一个连接要用struct pf_state这个数据布局保存连接状态

pf经由过程调用RB_FIND RB_INSETR... ...完成对连接状态表的操作(openbsd/src/sys/tree.h)

这是一个树形布局似乎叫什么red-black trees

我要说的是 我感觉 对防火墙这种 实时要求对照高的器械上 我感觉这种做法不是很妥帖我建议用hash 分段来处置惩罚这个问题

以上两点 我小我觉得 是pf synproxy 不怎么样的关键缘故原由

我小我其实ethernet bridge上面实现的 效果还不错哈 :) 已经有产品出了

###########加精后改动##################

我上面 只是借转载文章粗略的说了一下pf的synproxy假犹如伙们乐意 深入评论争论这个问题

我们可以深入的评论争论一下顺便感谢斑竹[/url]

ayazero 回覆于:2005-07-14 08:58:53

给你英华了,呵呵~

我爱钓鱼 回覆于:2005-07-14 09:30:49

[quote和记娱乐博娱188:1b568fe105="ayazero"]给你英华了,呵呵~[/quote:1b568fe和记娱乐博娱188105]

这个是转贴,楼主已经阐清楚明了,不能是原创吧?:roll:

visualj 回覆于:2005-07-14 12:31:31

好文章就行了,顶

zjzf_1 回覆于:2005-07-17 02:12:14

没收到预期效果

zjzf_1 回覆于:2005-07-17 02:13:16

懂行的看门道不相识 帮我 顶

squall1 回覆于:2005-07-17 06:00:44

多谢兄弟指教,我加我网站里了。

colddawn 回覆于:2005-07-21 07:42:56

楼主,bridge要领下若何实现syn代理?

既然没有ip,也就无法“代理吧”,只能半途“冒充”一下吧。

剑心通明 回覆于:2005-07-21 08:33:59

收藏一下

zjzf_1 回覆于:2005-07-21 10:55:46

colddawn所谓的代理便是代替原有的办事供给单元 完成办事

可以有tcp 代理

ip代理

arp代理

ipx代理

以太网有arp代理

不必然要用sock代理或者http代理 把你对代理收集办事的熟识局限住

4dian 回覆于:2005-07-21 13:34:53

syncache

统计pps的这个不太准

3w似乎也没需要防了:)

>我小我其实ethernet bridge上面实现的 效果还不错哈已经有产品出了

楼主where 用bsd做防火墙?

zjzf_1 回覆于:2005-07-22 11:00:46

加精又取消为什么呀

colddawn 回覆于:2005-07-22 21:15:57

zjzf_1,欠美意思我感觉观点不清的应该是你,所谓“代理”便是两方作通讯时经由过程一其中心人,甲方把数据交给中心人,中心人处置惩罚过后交给乙方。

synproxy基滥觞基本理不过是“中心人”应用乙方的ip地址,受到syn包后,代替乙方回syn/ack给甲方,假如甲方有回答,再发送syn给乙方,就避免了甲方用捏造ip作synflood。

通俗网关式防火墙,是必要把乙放入内网,防火墙配乙的ip,把颠末验证的包nat给乙方,就如楼主所转文章。

现在的问题是事情在桥模式下的话,这其中心人(防火墙)是暗藏的,不管甲照样乙都不知道其存在,优点是不改动现有收集布局,然则对付实现proxy就对照麻烦,以是pf的synproxy今朝是不支持bridge要领下的proxy的,然则从道理来讲不是没有可能实现,不过要实现的话斟酌的内容就要多很多了,双方的通讯你都要截获、阐发、改动,并且必要冒充成某一方来完成握手,纵然是实现了,可能效率上也有很大年夜问题。

对付4dian的办理规划对照感兴趣,假如可以的话,可否讲一下实现机制或者给些代码看看?

3w pps就撑不住了?

按照syn包40字节来算,40*3w=1200000bytes

再*8=9600000bits/sec

也便是9M的流量,似乎不少软件防火墙应用的类似syncookie的技巧都能在这种流量下基础不影响造访吧?

zjzf_1 回覆于:2005-07-23 09:51:52

你可以联系我 测试下我的 qq17405718msn bsder@msn.com

pf肯定不是由于麻烦 以是不实现 否则他们就去应用 iptable 或者ipfw了

可能是他们感觉在收集层对运输曾处置惩罚 不太相宜吧

既然你 觉得我也 对照糊涂 那我也不再和你争什么了:) 或许我真得不清楚吧

您可能还会对下面的文章感兴趣: