【问题标题】:LDAP / AD integration for desktop .net application: does it make sense?桌面 .net 应用程序的 LDAP/AD 集成:有意义吗?
【发布时间】:2015-07-08 17:19:13
【问题描述】:

我有一个客户要求将 Windows 的 LDAP/AD 登录与桌面 .NET 应用程序集成。它是一个桌面 .NET 应用程序,这意味着它不是一个可公开访问的网页:它是一个带有 GUI 的可执行文件,可以在 Windows 下作为程序(而不是服务)运行,并在计算机上本地复制。

客户要求此作为安全措施。当您打开应用程序时,您输入用户名和密码并使用 LDAP 进行身份验证检查。 我真的不明白这应该保护什么安全风险:

  • 应用程序在 Windows 下运行,因此 Windows 用户必须已经登录 -> 检查 Windows 登录和应用程序登录凭据有什么意义?
  • 我能想到的唯一情况是,如果有人在他登录到 Windows 时让他的计算机无人看管,在这种情况下其他人可以启动该应用程序:但这并不能阻止有人让他的计算机无人看管的情况当他登录到 Windows 并登录到应用程序时。花时间来防范一种情况而不是另一种情况是没有意义的,这两种情况都有可能发生。

我询问了我与客户的联系方式,但他的回答基本上归结为“因为这是公司政策”,所以我认为他也没有真正理解。 你能想出你想要这个的原因吗?它可以保护哪些安全风险?

【问题讨论】:

标签: .net windows security active-directory ldap


【解决方案1】:

我不打算讨论 LDAP auth 与 MySQL 的比较,为什么 LDAP 更具可扩展性、速度更快,为什么不是 RDBMS 等等。我只是给你一个大致的想法。

首先,如果答案是“因为这是公司政策”,那么我可以向您保证,您不会赢,因为这是陈词滥调。当人们对他们想要什么以及无所不知的先生告诉他们什么知之甚少时,您经常会得到这样的答案!

只有当用户正确使用并且开发人员正确开发应用程序时,应用程序才是安全的。

今天的编程是软件工程师之间的竞赛 建立更大更好的防白痴程序,宇宙在尝试 生产更大更好的白痴。到目前为止,宇宙正在获胜—— 丰富的厨师。

回到您的问题,LDAP 身份验证提供了一些常见的安全性(我开发了一些 LDAP 身份验证应用程序,它们都是相同的,因为过程始终相同)。将帐户保存和管理在一个地方的主要原因,仅此而已。它可以称为安全性和公司策略。我认为他们更关心以下两个步骤。

  • John 加入公司,IT 经理在 AD 中创建了他的电子邮件帐户, 将他分配到一些 OU(组织单位)。约翰使用该应用程序,但 他只能根据他的 OU使用应用的某些功能 来自 LDAP 身份验证(一大组数组/对象)。安全级别是 像这样定义的。
  • John 离开公司,IT 经理在 AD 和 John 无法再登录系统。系统是自动的 像这样被保护。

让应用程序在桌面环境中可用可能背后有安全原因,但与 LDAP 无关,因此它只是一个“策略”。

【讨论】:

    【解决方案2】:

    这是有道理的,前提是您的桌面应用程序用于进行审批。我使用过许多应用程序(例如:变更管理应用程序),这些应用程序要求您在使用之前和每次批准时登录。

    用户的这种身份验证和授权变得至关重要,特别是如果您的客户必须符合 FDA /GxP(21 CFR 第 11.10 部分)[搜索here 中的“数字”一词],这强调软件应该采用注意确保该人需要根据有效来源进行身份验证。这可以是 AD 身份验证、智能卡等...

    【讨论】:

    • 关于在应用程序中的每个重要批准/更改都需要额外登录的有趣评论。但是,在这种情况下,应用程序没有这样的要求:仅在启动时。
    • @user968698 如果您的客户必须符合 FDA/GxP 标准,或者如果此应用程序将在“已验证”环境中运行,则必须登录@user968698
    猜你喜欢
    • 2013-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-25
    • 2020-07-28
    • 2014-11-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多