【问题标题】:Securing ELMAH with no admin accounts在没有管理员帐户的情况下保护 ELMAH
【发布时间】:2010-08-27 10:35:01
【问题描述】:

我想在面向互联网的应用程序中保护 ELMAH。系统使用表单身份验证,但目前没有任何非用户帐户(例如管理员)。用户帐户以自动方式设置。

我真的不想将任何管理员帐户硬塞到系统中(用户的当前数据库架构非常不适合存储管理员用户),所以我正在考虑通过检查来破坏表单身份验证SSL 客户端证书。如果我在 IIS 中选择了所有正确的选项,我相信我可以确保只有我们内部 CA 颁发的证书(目前用于需要 SSL 证书的非生产站点)才能传递到 ASP.Net。

然后我可以使用 Valid ClientCertificate 的存在(检查 Request.ClientCertificate 的 IsPresent 和 IsValid 属性)来了解这是来自内部用户的连接,并将 Forms Authentication cookie 设置为“Diagnostic”或“Admin” (或任何其他特殊用户名),然后使用建议通过表单身份验证执行此操作的任何常用方法保护 elmah.axd。

所以我的问题是 - 我是否过于复杂了,遗漏了一些明显的东西,打开了一个巨大的安全漏洞,等等?

【问题讨论】:

    标签: asp.net ssl elmah


    【解决方案1】:

    您为什么不直接在 Web.Config 中存储管理员用户帐户凭据并使用表单身份验证锁定 URL?

    编辑

    好的,如果应用程序完全是内部的,为什么不使用 Active Directory 保护您网站的子目录(例如 myapplication.domain.com/exceptions/elmah.axd 甚至只是 myapplication.domain.com/elmah.axd)并通过 IIS 设置授权?

    【讨论】:

    • 啊,我忘了提到会有很多人可能真正需要访问诊断程序。我通常不喜欢多人共享一组凭据(尽管在这种情况下可能没问题)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-09
    相关资源
    最近更新 更多