SSL 服务器的 RST/ACK 循环

SSL 服务器的 RST/ACK 循环

我们似乎遇到了 HTTPS 端口上 RST/ACK 洪流 (40kpps) 相当大问题。我不确定 HTTPS 部分是否相关。流程大致如下:

  • 客户端向我们的网络服务器(nginx,Linux 3.16,HTTPS)发出请求。
  • 连接保持活动状态,但一段时间后被 nginx 关闭。如果我没记错的话,nginx 使用 RST 来实现这一点。
  • 过了一会儿,客户端想要关闭连接并发送 FIN。
  • 由于连接不存在,我们的服务器以 RST 进行响应。
  • 客户端响应挑战 ACK,根据RFC 5961
  • 服务器以 RST 进行响应。
  • ...重复最后两个步骤,导致洪水......

我认为这与 Sonicwall 设备有关。对于至少一个客户端,我能够验证另一端是否有 Sonicwall 设备。Sonicwall 指责对方

我还没有设法捕捉到完整的对话,但我确实有洪水的开始。我似乎类似于我发现的另一个问题

我想弄清楚的一些问题:

  • 为什么会发生这种情况?
  • 谁的错?
  • 为什么现在会发生这种情况?我们将更多流量转移到 HTTPS,但这不应该是原因。
  • 如何预防?限制 RST 的速率?还有其他措施吗?

对话开始的tcpdump -v格式如下:

11:28:14.643566 IP(tos 0x28、ttl 55、id 0、偏移量 0、标志 [DF]、proto TCP(6)、长度 129)
    87.213.aa.bb.50813 > 93.186.cc.dd.443:标志 [FP.],cksum 0x649e(正确),seq 3515035885:3515035962,ack 410325601,win 2048,选项 [nop,nop,TS val 1134955136 ecr 53744583],长度 77
11:28:14.643600 IP(tos 0x28、ttl 64、id 47919、偏移量 0、标志 [DF]、proto TCP(6)、长度 40)
    93.186.cc.dd.443 > 87.213.aa.bb.50813:标志 [R],cksum 0x2fe2(正确),seq 410325601,win 0,长度 0
11:28:14.643605 IP(tos 0x28、ttl 55、id 0、偏移量 0、标志 [DF]、proto TCP(6)、长度 129)
    87.213.aa.bb.50813 > 93.186.cc.dd.443:标志 [FP.],cksum 0x649e(正确),seq 0:77,ack 1,win 2048,选项 [nop,nop,TS val 1134955136 ecr 53744583],长度 77
11:28:14.643612 IP(tos 0x28、ttl 64、id 47920、偏移量 0、标志 [DF]、proto TCP(6)、长度 40)
    93.186.cc.dd.443 > 87.213.aa.bb.50813:标志 [R],cksum 0x2fe2(正确),seq 410325601,win 0,长度 0
11:28:14.643613 IP(tos 0x28、ttl 55、id 0、偏移量 0、标志 [DF]、proto TCP(6)、长度 129)
    87.213.aa.bb.50813 > 93.186.cc.dd.443:标志 [FP.],cksum 0x649e(正确),seq 0:77,ack 1,win 2048,选项 [nop,nop,TS val 1134955136 ecr 53744583],长度 77
11:28:14.643617 IP(tos 0x28、ttl 64、id 47921、偏移量 0、标志 [DF]、proto TCP(6)、长度 40)
    93.186.cc.dd.443 > 87.213.aa.bb.50813:标志 [R],cksum 0x2fe2(正确),seq 410325601,win 0,长度 0
11:28:14.649283 IP(tos 0x28、ttl 55、id 0、偏移量 0、标志 [DF]、proto TCP(6)、长度 40)
    87.213.aa.bb.50813 > 93.186.cc.dd.443:标志 [.],cksum 0x2517(正确),ack 1,win 2048,长度 0
11:28:14.649317 IP(tos 0x28、ttl 64、id 47922、偏移量 0、标志 [DF]、proto TCP(6)、长度 40)
    93.186.cc.dd.443 > 87.213.aa.bb.50813:标志 [R],cksum 0x2fe2(正确),seq 410325601,win 0,长度 0
11:28:14.649322 IP(tos 0x28、ttl 55、id 0、偏移量 0、标志 [DF]、proto TCP(6)、长度 40)
    87.213.aa.bb.50813 > 93.186.cc.dd.443:标志 [.],cksum 0x2517(正确),ack 1,win 2048,长度 0
11:28:14.649328 IP(tos 0x28、ttl 64、id 47923、偏移量 0、标志 [DF]、proto TCP(6)、长度 40)
    93.186.cc.dd.443 > 87.213.aa.bb.50813:标志 [R],cksum 0x2fe2(正确),seq 410325601,win 0,长度 0

ACK/RST 交换的更多详细信息,tcpdump -X -vv格式如下:

11:31:23.689348 IP(tos 0x28、ttl 55、id 0、偏移量 0、标志 [DF]、proto TCP(6)、长度 40)
    87.213.aa.bb.50813 > 93.186.cc.dd.443:标志 [.],cksum 0x2517(正确),seq 0,ack 1,win 2048,长度 0
    0x0000: 4528 0028 0000 4000 3706 b6b8 57d5 18aa E(.([电子邮件保护]...
    0x0010:5dba beb6 c67d 01bb d183 313b 1875 1261]....}....1;.ua
    0x0020:5010 0800 2517 0000 0000 0000 0000 P.........
11:31:23.689515 IP(tos 0x28、ttl 55、id 0、偏移量 0、标志 [DF]、proto TCP(6)、长度 40)
    87.213.aa.bb.50813 > 93.186.cc.dd.443:标志 [.],cksum 0x2517(正确),seq 0,ack 1,win 2048,长度 0
    0x0000: 4528 0028 0000 4000 3706 b6b8 57d5 18aa E(.([电子邮件保护]...
    0x0010:5dba beb6 c67d 01bb d183 313b 1875 1261]....}....1;.ua
    0x0020:5010 0800 2517 0000 0000 0000 0000 P.........
11:31:23.689522 IP(tos 0x28、ttl 64、id 39460、偏移量 0、标志 [DF]、proto TCP(6)、长度 40)
    93.186.cc.dd.443 > 87.213.aa.bb.50813:标志 [R],cksum 0x2fe2(正确),seq 410325601,win 0,长度 0
    0x0000:4528 0028 9a24 4000 4006 1394 5dba beb6 E(.(.$@.@...]...
    0x0010:57d5 18aa 01bb c67d 1875 1261 0000 0000 W......}.ua...
    0x0020: 5004 0000 2fe2 0000 P.../...
11:31:23.689523 IP(tos 0x28、ttl 55、id 0、偏移量 0、标志 [DF]、proto TCP(6)、长度 40)
    87.213.aa.bb.50813 > 93.186.cc.dd.443:标志 [.],cksum 0x2517(正确),seq 0,ack 1,win 2048,长度 0
    0x0000: 4528 0028 0000 4000 3706 b6b8 57d5 18aa E(.([电子邮件保护]...
    0x0010:5dba beb6 c67d 01bb d183 313b 1875 1261]....}....1;.ua
    0x0020:5010 0800 2517 0000 0000 0000 0000 P.........
11:31:23.689526 IP(tos 0x28、ttl 64、id 39461、偏移量 0、标志 [DF]、proto TCP(6)、长度 40)
    93.186.cc.dd.443 > 87.213.aa.bb.50813:标志 [R],cksum 0x2fe2(正确),seq 410325601,win 0,长度 0
    0x0000:4528 0028 9a25 4000 4006 1393 5dba beb6 E(.(.%@.@...]...
    0x0010:57d5 18aa 01bb c67d 1875 1261 0000 0000 W......}.ua...
    0x0020: 5004 0000 2fe2 0000 P.../...
11:31:23.689527 IP(tos 0x28、ttl 55、id 0、偏移量 0、标志 [DF]、proto TCP(6)、长度 40)
    87.213.aa.bb.50813 > 93.186.cc.dd.443:标志 [.],cksum 0x2517(正确),seq 0,ack 1,win 2048,长度 0
    0x0000: 4528 0028 0000 4000 3706 b6b8 57d5 18aa E(.([电子邮件保护]...
    0x0010:5dba beb6 c67d 01bb d183 313b 1875 1261]....}....1;.ua
    0x0020:5010 0800 2517 0000 0000 0000 0000 P.........

任何见解均值得赞赏!

相关内容