黑客想要通过TCP攻击,会如何攻击,应该怎么应对。
SYN Flood 攻击时DDOS攻击一种,洪水泛滥。黑客发送大量的SYN请求到目标服务器,但是不完成三次握手和四次挥手的过程,不发送ACK响应,服务器收到SYN请求后,尝试为每一个请求分配资源并且连接扽会带状态,直到超时。由于无法完成,服务器的连接队列被耗尽,导致合理的请求无法处理,从而导致拒绝服务。
攻击者向服务器发送大量的SYN数据包,伪造ip源。
服务器为每一个SYN请求分配一个资源并等待ACK响应,
由于源ip是伪造的,服务器无法收到ACK响应,连接无法建立,资源持续占用,造成服务器资源耗尽。
解决:
使用防火墙或流量清洗设备:使用防火墙过滤掉来自不可信 IP 地址的流量,或者使用专业的 DDoS 防护设备(如 Cloudflare 等)来清洗流量。
增加半连接队列大小:增加服务器的 SYN backlog(半连接队列大小),使其能够处理更多的连接请求。 (本质是建立了半连接)
TTL(Time-To-Live)限制:防止伪造的 IP 地址重复进行攻击。
通过限制 TTL,可以检测到不符合正常 TTL 范围的数据包。一个正常的数据包从源到目的地应该经历一定数量的路由器(跳数)。**如果攻击者通过伪造 IP 地址发送数据包,TTL 值通常会不符合预期。 **
SYN Cookies:启用 SYN Cookies 技术,这是一种基于加密的防御机制,它可以防止服务器为未完成的连接分配资源。当收到 SYN 请求时,服务器不会立即分配资源,而是生成一个加密的响应序列号,并将其返回给客户端。如果客户端能成功响应并带有正确的序列号,则才会分配资源。
建立RST请求 重置数据包,关闭现在的连接
TCP连接劫持,获取双非的TCP序列号,窃取铭感信息。序列号随机或者TLS/SSL加密,确保数据是加密的,避免中间人攻击。