记录在案的反向代理实施最佳实践

信息安全 代理人 http代理
2021-09-02 11:01:17

我正在寻找一些用于实现反向代理的最佳实践文档。

我们需要允许内部数据库/网络服务器传入外部世界,并试图确定最有效和最安全的方法来实现这一点。

我们已经有一个运行 mod 代理 Apache 配置的 Red Hat 2 服务器,但是想看看今天的最佳实践(因为这个服务器很古老)。

我已经用谷歌搜索了很多,但到目前为止,除了与常见的安全最佳实践相关的极其一般的建议外,我还找不到任何东西。

我将不胜感激您能提供的任何东西。

谢谢!埃里克

1个回答

NIST SP 800-44保护公共 Web 服务器指南是一个很好的起点,尽管它不是灵丹妙药(现在已经有几年了)。

根据我的经验,一些最重要的要求和缓解措施(排名不分先后)是:

  • 确保您的代理、后端 Web(和 DB)服务器无法建立直接出站(互联网)连接(包括 DNS 和 SMTP,尤其是 HTTP)。这意味着(转发)所需的出站访问代理/中继(如果需要)。
  • 确保您的日志记录是有用的(上面的第 9.1 节),并且是连贯的。您可能拥有来自多个设备(路由器、防火墙/IPS/WAF、代理、Web/应用程序服务器、数据库服务器)的日志。如果您不能快速、可靠和确定地将每个设备上的记录链接在一起,那么您做错了这意味着 NTP,并记录任何或全部:PID、TID、会话 ID、端口、标头、cookie、用户名、IP 地址等(可能意味着某些日志包含机密信息)。
  • 了解协议,并做出深思熟虑的明智决策:包括密码/TLS 版本选择、HTTP 标头大小、URL 长度、cookie。应在反向代理上实施限制。如果您要迁移到分层架构,请确保开发团队参与其中,以便尽早发现问题。
  • 从外部运行漏洞扫描,或让别人为你做。确保您知道自己的足迹,并且报告突出显示了增量,以及理论上的 TLS SNAFU du-jour。
  • 了解失败的模式。当您遇到负载或稳定性问题时,向用户发送默认的“HTTP 500 - 车轮脱落”是草率的
  • 监控、指标和图表:在调查异常和容量规划时,拥有正常和历史数据非常宝贵。
  • 调整:从 TCP 时间等待到侦听积压到 SYN cookie,您需要再次做出深思熟虑的、明智的决定。
  • 遵循基本的操作系统强化指南,考虑使用 chroot/jails、基于主机的 IDS 和其他可用的措施。