首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何停止SYN_SENT?

如何停止SYN_SENT?
EN

Stack Overflow用户
提问于 2012-07-31 05:01:43
回答 1查看 45.2K关注 0票数 23

运行netstat会显示数百条这样的行,即使在重启服务器后也是如此-它再次开始发送,导致到该IP的许多连接。

代码语言:javascript
复制
tcp        0      1 server1700.skdedicate:36283 154.45.206.59:https   SYN_SENT
tcp        0      1 server1700.skdedicate:36283 154.45.206.59:https   SYN_SENT
tcp        0      1 server1700.skdedicate:36283 154.45.206.59:https   SYN_SENT
tcp        0      1 server1700.skdedicate:36283 154.45.206.59:https   SYN_SENT
tcp        0      1 server1700.skdedicate:36283 154.45.206.59:https   SYN_SENT

我停止了所有的脚本,但它仍然在尝试。

我知道这意味着IP没有响应SYN_SENT,但是我如何阻止这些SYN_SENT?或者,对此最好的解决方案是什么?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-12 04:14:14

这个问题似乎有很多观点,但还没有答案,所以我决定为任何寻求解决方案的人回答我自己的问题。

首先,知道原因是解决方案的一半。我受到了所谓的SYN洪流攻击,它使用HTTP协议行为来攻击自己

简而言之,远程客户端尝试通过发送SYN来建立与您的服务器的连接,您的服务器使用SYN_ACK (在您的日志中您将看到SYN_SENT)进行回复,并将等待直到它收到确认。如果在xx秒内没有收到确认,您的服务器将再次发送SYN_ACK,...再一次..。一遍又一遍。它最终将达到配置的阈值,并停止接受任何更多的SYN请求,使您的服务器无响应。发生在我身上的症状之一是,我的网站响应了一次,好像没有任何错误,但在接下来的xx次中没有响应。

对我有效的解决方案是启用SYN cookies,SSH到您的服务器,使用您最喜欢的编辑器打开以下文件。我在本例中使用vi

代码语言:javascript
复制
vi /etc/sysctl.conf

并将这些行添加到文件中,然后重新启动服务器。希望这能阻止攻击,就像对我一样

代码语言:javascript
复制
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_synack_retries = 3

我使用的是CentOS,我认为上面的解决方案可以在所有的发行版上运行,但是如果它没有为你的linux发行版搜索“如何停止SYN洪流攻击”

另外,阻止发起SYN请求的IP可能没有帮助,因为攻击者很可能已经欺骗了IP

票数 66
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11729517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档