【问题标题】:Design guidelines for secure Java EE web applications and Seam安全 Java EE Web 应用程序和 Seam 的设计指南
【发布时间】:2009-09-25 18:28:46
【问题描述】:

我参与设计 Java EE Web 应用程序的过程。它包括:

  • 后端模块 (EJB 3.0)
  • 3 个网络模块 (JSF)

我们的应用程序必须是安全的,因此一些同事声称它必须分成两个或多个单独的服务器 - 一个服务器中的后端,其他服务器中的 webapps。在我们的例子中,性能不是问题,但这种架构需要在 EJB 层使用远程接口。

我们还计划合并 Seam 以简化开发,但有一个 drawback。所以我们错过了 Seam 的一些非常酷的功能,例如- extended persistence context in SFSB

在 Java EE Web 应用程序的每一层中使用具有两个或更多独立服务器/机器的架构在高安全性方面真的是必须的吗?我没有找到解释此配置优缺点的资源。我应该考虑哪些有助于使用 Seam 的其他项目配置选项/安全模式?换句话说,我们应该坚持这种架构并按原样添加 Seam 还是应用其他解决方案?

如果有帮助,我们可以使用 Spring 而不是 EJB,但 EJB 更可取。

【问题讨论】:

    标签: java security web-applications jakarta-ee seam


    【解决方案1】:

    这是您问题的简单答案.... 让您的数据在 3 个网络连接之间跳跃是否更安全(Web->Web 服务器为 1,Web 服务器->远程 EJB 为 2,远程 EJB -> DB 是 3),还是 2 个网络连接? 2 网络连接本质上更安全,因为在网络上受到恶意监听的风险较小。 如果您的攻击者能够读取 Java 用于从您的 Web 服务器中抓取数据的内存,那么您将面临更大的问题,而单独的服务器将无济于事。

    【讨论】:

    • 我假设 Web 服务器位于 DMZ 中。其他服务器在私有网络中,所以不侵入网络服务器很难在网络上进行恶意监听?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-10
    • 1970-01-01
    • 2011-01-02
    • 2011-01-02
    • 2011-02-06
    • 2010-09-25
    相关资源
    最近更新 更多