前置知识
- incoming 会返回一个迭代器,它每一次迭代都会返回一个新的连接 stream(客户端发起,web服务器监听接收),因此,接下来要做的就是从 stream 中读取数据,然后返回处理后的结果
- unwrap 遇到错误或者空值直接 panic
- collect 方法是一个消费者适配器,使用它可以将一个迭代器中的元素收集到指定类型中
- 拒绝服务(Denial of Service, DoS)攻击是一种网络攻击方式,其核心目的是使目标系统、服务器或网络资源无法为合法用户提供正常的服务。攻击者通过向目标发送大量请求或数据包,消耗目标的处理能力、带宽、内存或其他关键资源,导致其无法响应合法用户的请求,或者响应速度极其缓慢,从而实现“拒绝服务”。
- 资源耗尽型攻击:
- 带宽饱和攻击:攻击者通过发送大量的数据流量淹没目标服务器的网络入口,例如UDP泛洪、ICMP泛洪等。
- CPU/内存耗尽攻击:利用特定协议漏洞或应用层弱点,构造复杂或恶意请求,使服务器处理这些请求时占用全部的CPU资源或内存资源,如SYN洪水攻击。
- 状态耗尽型攻击:
- 连接耗尽攻击:比如通过发送大量半开连接请求,使服务器保持等待状态直至达到最大连接数限制,无法接受新连接请求。
- 协议漏洞利用:
- 利用网络协议栈的设计缺陷,触发目标系统异常,进而使其停止服务。
- 分布式拒绝服务攻击(DDoS):
- 这是一种更加强大的DoS攻击形式,攻击发起点来自多个不同源头(被黑客控制的僵尸网络),同时对同一目标发起攻击,这使得防御更加困难,因为攻击流量并非集中自单一源地址,而是分散在全球各地的众多设备中。
- 带宽扩容与流量清洗:使用专门的DDoS防护服务或设备,对异常流量进行检测并清洗掉攻击流量。
- 资源优化与负载均衡:合理分配系统资源,采用负载均衡技术分散攻击压力。
- 配置防火墙规则:阻止已知攻击模式,限制无效或异常请求。
- 快速响应机制:建立应急响应流程,在遭受攻击时能迅速调整策略、阻断攻击源或联系ISP及云服务商协调处理。