gpt4 book ai didi

java - Java 中面向互联网的 Web 服务器的安全选择是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:23:58 26 4
gpt4 key购买 nike

我需要实现一个可从 Internet 公开访问的服务器。服务器有一个非常简单的任务:

  • 通过 HTTPS 接受来自用户的表单 POST(实际的 HTML 表单在不同的站点上)
  • 将表单重写为 JSON
  • 通过单独的 HTTPS 连接将其发送到内部服务器,并进行多服务器故障转移
  • 等待 JSON 格式的回复,包含成功或错误原因
  • 返回从成功 URI 或失败 URI 的“303”重定向,将错误原因作为查询参数

这台服务器通常承受的负载很小,但由于没有访问限制,服务器显然可以受到 DOS 等攻击。

然而,这里真正的问题是安全对于服务器来说绝对是最重要的——服务器参与的支付交易量足够大,使其成为破解的理想目标。服务器位于 IPS 之后,但以其他方式直接连接到互联网,并将直接终止来自最终用户浏览器的 HTTPS 连接,而无需任何干预反向代理或 SSL 加速器等。

那么,我的问题是,哪种 Java 网络服务器是实现此类目的的最安全选择?

或者,如果您真的认为此类请求不应直接由 Java 接收,而应由 lighttpd 或其他方式接收,您可以提出其他建议。但前提是它能够满足上述要求。


一个非常好的答案会涉及这些问题:

  • OpenSSL 与 Java 加密与替代方案的相关安全性(均存在漏洞)
  • Java VM 特性的相关安全性(例如最近的 XML 解析漏洞)
  • web server HTTP header 解析的相关安全性(貌似几乎都有漏洞)
  • 可选压缩的相关安全性(zlib 有漏洞,mod_deflate 有单独的漏洞)

最佳答案

我认为您主要关心的应该是遵循最佳安全实践并使您的软件保持最新状态,而不是具体选择哪种软件。预测 future 的漏洞几乎是不可能的。过去有很多漏洞的软件并不一定意味着它的安全性较低,它可能更经常成为攻击目标,因此更经常被修复。在这方面,您需要定期更新的软件,并且您有一种简单的方法来定期获取这些更新。

我建议使用 Tomcat 并按照 Improving Apache Tomcat Security 中的步骤操作. Tomcat 具有通用和开源的优势,因此得到了很多关注和快速修复。许多攻击是针对您甚至不需要的东西,因此请尽可能禁用所有东西。配置您的 web.xml 以仅接受您期望的 URL 路径并为其他所有内容提供错误。

听起来您不需要在 Web 容器前使用 Apache HTTPD。最好的办法可能是减少攻击媒介的数量,让 Web 请求直接进入 Web 容器。不可能知道 HTTPD 或 Java 中哪个会发现更多针对 SSL 和 gzip 的漏洞。然而,如果您只使用 Java,那么您至少不会接受 HTTPD 可能发现的其他内容,而不是 Java 的一组有限的 native 实现问题。

确保 Java 和您的 Web 容器保持最新。如果还没有研究网络和操作系统强化,也应该进行研究。您可能还想查看每日网络漏洞扫描,以随时掌握新威胁。

关于java - Java 中面向互联网的 Web 服务器的安全选择是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5346002/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com