3.2.24. 保护 DDoS Attacks


向默认 HAProxy 路由器镜像添加 超时 http-request,以防止部署遭受分布式拒绝服务(例如,slowloris)攻击:

# and the haproxy stats socket is available at /var/run/haproxy.stats
global
  stats socket ./haproxy.stats level admin

defaults
  option http-server-close
  mode http
  timeout http-request 5s
  timeout connect 5s 1
  timeout server 10s
  timeout client 30s
1
超时 http-request 设置为 5 秒。HAProxy 为客户端 5 秒提供 * 以发送其整个 HTTP 请求。否则,HAProxy 会关闭连接并显示 *an 错误。

另外,当设置环境变量 ROUTER_SLOWLORIS_TIMEOUT 时,它会限制客户端发送整个 HTTP 请求所需的时间。否则,HAProxy 将关闭连接。

通过设置 环境变量,可以将信息捕获为路由器部署配置的一部分,不需要手动修改模板,而手动添加 HAProxy 设置要求您重新构建路由器 Pod 和维护路由器模板文件。

使用注解在 HAProxy 模板路由器中实施基本的 DDoS 保护,包括限制以下功能:

  • 并发 TCP 连接数
  • 客户端可以请求 TCP 连接的速率
  • 可以发出 HTTP 请求的速率

这些是在每个路由上启用的,因为应用可能有完全不同的流量模式。

表 3.1. HAProxy 模板路由器设置
设置描述

haproxy.router.openshift.io/rate-limit-connections

启用设置(例如,设置为 true )。

haproxy.router.openshift.io/rate-limit-connections.concurrent-tcp

此路由上相同 IP 地址可执行的并发 TCP 连接数。

haproxy.router.openshift.io/rate-limit-connections.rate-tcp

客户端 IP 可以打开的 TCP 连接数。

haproxy.router.openshift.io/rate-limit-connections.rate-http

客户端 IP 在 3 秒期间内可以进行的 HTTP 请求数。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.