网络服务器预防dos攻击的层次-阿里云开发者社区

开发者社区> 开发与运维> 正文

网络服务器预防dos攻击的层次

简介:

web服务器在处理请求的时候会涉及三个层次,第一个层析是tcp连接的层次,第二个层次是http请求的层次,第三个层次是业务处理的层次,每个层次都可能存在dos攻击,所要作的预防措施就是每个更低的层次未决之前不为其分配上层资源,具体来说就是,tcp三次握手没有完成就不为之分配连接所需的内存资源,这个通过syn cookie可以完成,syn cookie的linux实现中顺便携带了一个时间参数可以很好的处理超时,三次握手虽然完成了,但是http请求没有发到之前不为之指派处理进程,从完成三次握手到收到http请求,也需要一个时间限制,时间到连接断开,这个可以通过TCP_DEFER_ACCEPT来实现,同样的道理,虽然收到了http请求,不能确定业务之前也不要为之指派业务处理器...这样就可以避免很多的dos攻击。 不光是web处理器需要这样配置,任何的网络服务都可以类似的分成若干层次,下层帮忙在有限的时间内得到上层的逻辑头之后再将请求往上层递交,限制时间到了的话本次请求直接丢弃。这个思想虽然违背一些分层原则,在层级之间插入了一把钩子,然而却可以避免很多的基于连接的攻击--上层的半连接攻击对于下层就是全连接攻击。要知道,攻击者是不会遵循什么原则的,因此也别指望他们完全遵循分层原则。



 本文转自 dog250 51CTO博客,原文链接:http://blog.51cto.com/dog250/1271182

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章