🐰 认识兔子 “LAG”:让攻击者消耗自身资源的非对称防御策略

发布: (2026年5月3日 GMT+8 21:04)
5 分钟阅读
原文: Dev.to

Source: Dev.to

Cover image for 🐰 Meet rabbit

沼泽的哲学

如果最好的防御不是墙,而是沼泽呢?

传统防火墙太客气了。你发送一个数据包,它们回一个 TCP RST。你立刻知道自己被阻止了,换个 IP,继续前进。总共浪费的时间:5 毫秒。

认识 LAG —— 一个生物同步的主动终端防御者。它不是直接阻断,而是让连接感染极端延迟和技术债务,把工作站变成一个黑洞,耗尽攻击者基础设施最宝贵的资源:套接字和时间。

🛑 对称防御的失败

标准阻断会让攻击者自由。

# “客气”方式:即时 “Connection refused”
sudo ufw deny from 

当你这么做时,僵尸网络会丢弃套接字,准备下一个目标。它们的 CPU 保持凉爽,内存保持空闲。这正是它们想要的。

🧪 “失忆”协议:进攻性延迟

我们的策略是 非对称破坏。我们使用 nftables 在优先级 -10 拦截恶意流量,并强迫它进入永久的 “lag” 状态。

  1. 技术血栓:MSS 限制
    我们强迫攻击者把每个请求碎片化成极小、低效的块。将最大报文段大小(MSS)设为 64 字节后,它们的网络头部占的空间比有效载荷还大。

  2. 数字失忆:窗口陷阱
    我们告诉攻击者的操作系统我们的 接收窗口 只有 16 字节。它们被迫发送几字节后停下来,等待确认——一次又一次,永无止境。

🛠 “黏性陷阱”实现

第 1 层:CrowdSec 大脑

我们使用 CrowdSec 提供全球已确认的恶意 IP 列表(CAPI),并在应用层尚未唤醒前挂钩到 nftables

第 2 层:内核级沼泽

我们部署规则,对黑名单中的任何人“毒化” TCP 握手。

# Rule A: MSS Clamping (The "Bone Crusher")
# Forces the attacker to fragment their data into 64‑byte chunks.
sudo nft add rule ip crowdsec crowdsec-chain-input \
    ip saddr @crowdsec-blacklists-CAPI tcp flags syn \
    tcp option maxseg size set 64 counter

# Rule B: TCP Window Manipulation (The "Stutter")
# Forces a 16‑byte buffer, locking their threads in a "Wait" state.
sudo nft add rule ip crowdsec crowdsec-chain-input \
    ip saddr @crowdsec-blacklists-CAPI tcp flags syn \
    @th,112,16 set 16 counter

# Rule C: The Rate Limit (The "Slow Death")
# Only 1 packet per second is allowed to even try.
sudo nft add rule ip crowdsec crowdsec-chain-input \
    ip saddr @crowdsec-blacklists-CAPI \
    limit rate over 1/second burst 1 packets counter \
    log prefix '"TARPIT_ACTIVE: "' drop

📉 攻击者为何“燃烧”

  • 线程锁定: 一个拥有 100,000 条线程的僵尸网络可以被 1,000 台 “LAG” 服务器彻底中和。它们的线程一直处于 “打开” 状态,等待我们 16 字节的响应。
  • 内存耗尽: 它们的内核状态表被半死不活的连接填满,这些连接拒绝超时。
  • 经济破坏: 扫描一台 “LAG” 服务器的成本比获取的数据价值更高。

最终结论

是否合法?你只是对未授权的访客提供低质量服务(QoS)。你的服务器、你的带宽、你的规则。

停止阻断。开始延迟。

“如果他们想要我们的数据,就让他们等……一次 16 字节。”

BIO‑SYNC ACTIVE – USER: lag – SYSTEM STATUS: AMNESIA‑DEFENSE ENGAGED. 🐰🔥⛓️

0 浏览
Back to Blog

相关文章

阅读更多 »