LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 955|回复: 1

基于syn cookie做一个防御syn flood的firewall的几个问题

[复制链接]
发表于 2005-4-27 16:12:07 | 显示全部楼层 |阅读模式
各位大虾:最近老师要我做一个防御syn flood的firewall。好多问题不懂。问几个弱弱的问题,我现在第一步要实现一个基于syn cookie的6次握手的firewall(用于防御syn flood)。即这个firewall充当一个proxy的功能。对于从client来的一个syn包,我们截获它,然后修改source address,以server的名义给client发syn+ack。syn+ack包的sequences我们通过加密产生的一个cookie。然后通过检验ack包,看其中的sequences是不是我们加密的cookie。如果是,那么我们再模拟client和server建立三次握手,这样client和server都认为握手成功就开始穿越firewall传输数据包了。
我的问题是:
1.其中几次握手中间的源和目的地址改变是不是可以直接用netfilter—iptable中的nat表来做?
2.截获syn包以后,如何产生有cookie的syn+ack包?我的想法是修改syn包的目的地址为firewall的ip地址,这样firewall就会给client回应一个带有cookie的syn+ack包,请问我的想法可行吗?
3.还有一个前三次握手的sequences和后三次握手的sequences不同的问题,所以握手完成之后传输数据包的时候每次经过防火墙的时候要修改一下sequences的值,请问如何修改?netfilter提供了这种扩展功能吗?
小弟刚刚接触网络和linux,对包的流程和linux还很不清楚,请大虾们不吝赐!如果我的想法不对后者有更好的想法请一定告诉我!
发表于 2005-4-29 22:02:21 | 显示全部楼层
你的想法是正确的思路,的确外面防止DDOS的防火墙也就这样的思路
我没开发过,只看过些防火墙的基本资料
很多防火墙具有防止DDOS是先检测完全建立连接的情况,用这个区分真假请求,然后在从防火墙发起一个连接到服务器
这样就可以确保服务器不给攻击了。接下来的情况就是一个算法,通过算法把连个分开的连接给它合并在一起。cisoc的pix我知道这样做的
但是因为这样的算法多是私有的,所以你可以查查看资料,但是不保证完全能找到
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表