SYN-COOKIE

作者 droplet

 

SYN-COOKIE_第1张图片

Cookie如何计算?
cookie = MD5(srcip,dstip,sport,dport)
端口是否需要考虑哪?没有端口的话,可以少一点计算。
Syn-cookie是无状态的,在Gateway上,不会保存任何与connection相关的东西,所以不会占用gateway的资源,缺点就是需要计算cookie,CPU占用会高一点。
如果不考虑端口的话,cookie是不是可以cache哪,如果cache了,就有查找的开销,并不一定比MD5的hash快多少。
在Syn-cookie之前,先要检查一下srcip是不是spoofing的,这里需要做一个反向的路由查找,看看是不是从错误的接口进来的,也可以确认一下源地址是否可达。
是不是也应该做一个源端口的检查哪?如果是0~1024的端口,就默认是非法的,因为这些端口在操作系统里面,一般是保留的,不会分配给应用程序。
Syn attack是否有signatue? 不同的syn flood工具,生成的工具包,应该有一定的模式,如果能够找到这个signature,就可以通过signature来直接drop这个syn,不用再做syn-cookie的检查了。
Syn-cookie会strip掉client和server的tcp option,对client,可疑在cookie里面带上tcp option,但是对server来说,就比较难办一点。strip掉tcp option,对connection的性能有影响。
对syn-flood的防范,目前还是threshold based,因为不能区分正常包和攻击包,但是如果能够定义攻击的signature,就可以做signature based的防范,这样可以更有效一点。

你可能感兴趣的:(tcp,cache,server,工具)