asp.net - 在没有管理员帐户的情况下保护 ELMAH

标签 asp.net ssl elmah

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

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

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

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

最佳答案

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

编辑

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

关于asp.net - 在没有管理员帐户的情况下保护 ELMAH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3583323/

相关文章:

NLog 配置规则不生效

c# - 尝试将对象与 EntityFramework 关联时出现无效列名错误

c# - 使用 SSL/TLS 从 url 获取图像

security - 为什么有人会使用 Heroku(与安全相关)?

asp.net - 通过 responseMode ="ExecuteURL"清除 HttpContext.Current.Items ?

asp.net-mvc - 如何让 ELMAH 与 ASP.NET MVC [HandleError] 属性一起使用?

asp.net - ASP.NET Web 应用程序上忽略其他文化的全局资源

asp.net - 动态获取页面值?

asp.net - 使用 ssl 和客户端证书上传大文件 (uploadReadAheadSize) 但不希望预读所有数据

security - SSL 连接有多安全?