【问题标题】:Set secure flag only for external app not internal app仅为外部应用程序而不是内部应用程序设置安全标志
【发布时间】:2023-03-16 10:30:02
【问题描述】:

在 ASP.NET 应用程序中,我可以这样设置安全标志:httpCookies requireSSL="true"

现在想象一下,我的应用程序面向外部,管理控制台面向组织内部。如果由于某种原因我们不能或不想在内部使用 SSL,有没有办法为外部应用程序设置“安全”标志,而不是为内部管理页面设置它?

【问题讨论】:

    标签: web-applications cookies asp.net


    【解决方案1】:

    httpCookies 标签确实有一个域属性。

    <httpCookies domain="String" 
             httpOnlyCookies="true|false" 
             requireSSL="true|false" />
    

    因此,理论上您可以拥有 2 个具有 2 个不同域的应用程序,一个用于面向公众的 requireSSL="true",它只有外部页面,一个用于管理页面,带有 requireSSL="false"。

    但是,如果您已经为外部用户获取 SSL 证书,您不能也为内部用户使用相同的证书吗?如果 cookie 以明文形式发送,即使对于 session hijacking is very easy 这样的内部网络流量,使用 SSL 也是最佳做法。

    【讨论】:

    • 你是对的,良好的做法是将证书也用于内部管理页面。我完全同意。问题是外部应用程序 SSL 流量在负载平衡器上终止,但内部管理应用程序不通过负载平衡器。所以我们实际上必须在 IIS 上安装证书。
    • 如果 SSL 流量在负载均衡器上终止,则需要在负载均衡器而不是 IIS 服务器上安装面向公众的 SSL 证书。来自负载平衡器和内部用户的所有流量都将不加密地进入 IIS 服务器。最好的解决方案是在 IIS 服务器上安装另一个 SSL 证书。这样一来,所有流量都将被加密,您不必泄露应用程序。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-18
    • 2013-02-25
    • 2018-02-24
    • 1970-01-01
    • 2014-04-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多