处理“端口 443 上可能发生的 SYN 泛滥。正在发送 cookie。”

处理“端口 443 上可能发生的 SYN 泛滥。正在发送 cookie。”

我的网站一直都有多个用户在线。服务器使用 Apache/PHP、数据库和 Memcached。在正常使用时,该应用程序运行良好且快速。

但是,服务器有时会受到“SYN 泛洪”攻击。我真的相信/怀疑这些是故意的,而不是由我们的合法用户造成的。(因为它们似乎发生在某些人注册新帐户并试图制造麻烦时)

6 月 27 日 22:12:21 xxxx 内核:[xxxx.xxxx] 端口 443 上可能发生 SYN 泛洪。正在发送 cookie。6 月 27 日 22:13:22 xxxx 内核:[xxxx.xxxx] 端口 443 上可能发生 SYN 泛洪。正在发送 cookie。6 月 27 日 22:14:25 xxxx 内核:[xxxx.xxxx] 端口 443 上可能发生 SYN 泛洪。正在发送 cookie。

不幸的是,当这种情况发生时,我的整个流量都会受到影响:

[2016 年 6 月 27 日星期一 22:15:28.842067] [mpm_event:error] [pid 12022:tid 132875292207712] AH00485:记分牌已满,未达到 MaxRequestWorkers

在此处输入图片描述

我的 MaxRequestWorkers 是 600。过去我曾多次增加过它。
最近我还将net.ipv4.tcp_max_syn_backlog其增加到ListenBackLog了 5000。
我的服务器有 16GB RAM 和 1 Gbps 带宽。

我很不高兴似乎有人可以轻易控制我的网站是否正常运行。
我们能做些什么来阻止这种情况?

另外,netstat似乎会给我提供当前连接到服务器的 IP。
是否可以获取过去某个时间的顶级 IP?

答案1

  1. Syn Flood 是一种在单个主机上几乎不可能防范的攻击。

检查 SynCookies

cat /proc/sys/net/ipv4/tcp_syncookies

如果禁用则启用(设置为 1)。它可以帮助合法用户继续工作。

您也可以尝试设置 lover /proc/sys/net/ipv4/tcp_synack_retries

https://stackoverflow.com/a/26674591/205355

  1. 关于 IP

Synflood 通常使用伪造的随机源 IP,因此无法根据源 IP 进行过滤。

  1. 只要你的服务是公开的,任何人都可以轻松检查它的活跃度

  2. 您可以购买专业的 DDOS 保护服务。它使用巨大的区域分布式集群、地理位置感知 DNS、关联、ISP 合作等。它将干净的用户流量重定向到您的服务,而这些 IP 是公众(和黑客)未知的。但它的成本可能很高,并且取决于生存和减轻攻击所需的能力。

相关内容