客户端发起的重新协商攻击缓解
【Client-initiated renegotiation attack mitigation】
TLS 协议允许客户端重新协商 TLS 会话的某些方面。不幸的是,会话重新协商会消耗大量的服务器资源,使其成为潜在的拒绝服务攻击的途径。
【The TLS protocol allows clients to renegotiate certain aspects of the TLS session. Unfortunately, session renegotiation requires a disproportionate amount of server-side resources, making it a potential vector for denial-of-service attacks.】
为了降低风险,每十分钟内重新协商的次数限制为三次。当超过此阈值时,tls.TLSSocket 实例会触发 'error' 事件。此限制是可配置的:
【To mitigate the risk, renegotiation is limited to three times every ten minutes.
An 'error' event is emitted on the tls.TLSSocket instance when this
threshold is exceeded. The limits are configurable:】
tls.CLIENT_RENEG_LIMIT<number> 指定重新协商请求的次数。默认值:3。tls.CLIENT_RENEG_WINDOW<number> 指定重新协商窗口的时间(以秒为单位)。默认值:600(10 分钟)。
在没有充分了解其含义和风险的情况下,不应修改默认的重新协商限制。
【The default renegotiation limits should not be modified without a full understanding of the implications and risks.】
TLSv1.3 不支持重新协商。
【TLSv1.3 does not support renegotiation.】