首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >每个TCP连接上的假阳性SYN洪水检测

每个TCP连接上的假阳性SYN洪水检测
EN

Stack Overflow用户
提问于 2020-01-17 16:38:06
回答 1查看 3.5K关注 0票数 0

我在一个(Raspbian) Debian Linux系统(4.19.75)上使用了几个PHP脚本(主要是通过CLI,有些通过nginx / php-fpm)。

我的脚本使用简单的TCP套接字和WebSockets相互通信。出于某种原因,Linux内核认为我试图淹没/拒绝我自己的机器。

代码语言:javascript
复制
Jan 17 02:07:26 luna kernel: [10617.487372] TCP: request_sock_TCP: Possible SYN flooding on port 1337. Sending cookies.  Check SNMP counters.
Jan 17 14:31:22 luna kernel: [55253.978408] TCP: request_sock_TCP: Possible SYN flooding on port 1337. Sending cookies.  Check SNMP counters.
Jan 17 14:31:23 luna kernel: [55254.164176] TCP: request_sock_TCP: Possible SYN flooding on port 2346. Sending cookies.  Check SNMP counters.
Jan 17 17:24:09 luna kernel: [65620.070514] TCP: request_sock_TCP: Possible SYN flooding on port 1337. Dropping request.  Check SNMP counters.

无论sysctl-Config如何,禁用sysctl都会导致立即删除所有请求。

更改net.ipv4.tcp_max_syn_backlog = 65535也不起作用。

两年前我也遇到了同样的问题,但我不记得我是如何解决这个问题的。

是否有一种方法可以对至少所有从本地主机建立的连接进行白名单?还是让整个系统停用?(我知道这使得它很容易受到SYN攻击,但在这一点上,我希望有一个不安全但工作的系统.)

EN

回答 1

Stack Overflow用户

发布于 2020-01-18 00:00:24

问题(可能)是PHPs /listen的新默认值。不知怎么的,它似乎有一个新的默认值为零。

代码语言:javascript
复制
$this->socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_set_option($this->socket, SOL_SOCKET, SO_REUSEADDR, 1);

socket_bind($this->socket, TCP_HOST, TCP_PORT);
socket_listen($this->socket, 128);    // SETTING BACKLOG = 128
socket_set_nonblock($this->socket);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59791472

复制
相关文章

相似问题

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