2.2. 已知的代理


当自动化控制器配置有 REMOTE_HOST_HEADERS = ['HTTP_X_FORWARDED_FOR', 'REMOTE_ADDR', 'REMOTE_HOST'] 时,它假定 X-Forwarded-For 的值源自 Tower 前面的代理/负载均衡器。如果自动化控制器可以在不使用代理/负载均衡器的情况下访问,或者代理没有验证标头,那么 X-Forwarded-For 的值可以被断断为原始 IP 地址。

REMOTE_HOST_HEADERS 设置中使用 HTTP_X_FORWARDED_FOR 可能会存在安全漏洞。

要避免这种情况,您可以配置允许的已知代理列表。

流程

  1. 在导航面板中,选择 Settings System
  2. Proxy IP Allowed List 字段中输入服务应该信任自定义远程标头值的代理 IP 地址列表。

    注意

    不在已知代理列表上的负载均衡器和主机会导致请求被拒绝。

2.2.1. 配置已知的代理

要为自动化控制器配置已知代理列表,请将代理 IP 地址添加到 System Settings 页面中的 Proxy IP Allowed List 字段中。

流程

  1. 在导航面板中,选择 Settings System
  2. Proxy IP Allowed List 字段中,使用以下示例的语法输入允许连接到您的自动化控制器的 IP 地址:

    代理 IP 允许列表条目 示例

    [
      "example1.proxy.com:8080",
      "example2.proxy.com:8080"
    ]

    重要
    • 代理 IP 允许列表需要列表中的代理正确清理标头输入,并正确设置 X-Forwarded-For 值等于客户端的实际源 IP。自动化控制器可以依赖 Proxy IP Allowed List 中的 IP 地址和主机名来为 X-Forwarded-For 提供非欺骗的值。
    • 不要将 HTTP_X_FORWARDED_FOR 配置为 Remote Host Headers 中的项目,除非满足以下条件:

      • 您使用带有 ssl 终止的代理环境;
      • 代理提供 X-Forwarded-For 标头的清理或验证处理,以防止客户端欺骗;
      • /etc/tower/conf.d/remote_host_headers.py 定义 PROXY_IP_ALLOWED_LIST,它只包含可信代理或负载均衡器的原始 IP 地址。
  3. Save 保存设置。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.