桌面.net应用程序的LDAP / AD集成:它有意义吗?

时间:2015-07-08 17:19:13

标签: .net windows security active-directory ldap

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

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

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

我已经问过我与客户的联系,但他的答案基本上归结为"因为它的公司政策"所以我也不认为他真的理解它。 你能想出为什么要这个吗?它保护的安全风险是什么?

2 个答案:

答案 0 :(得分:1)

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

此身份验证&用户授权变得至关重要,特别是如果您的客户必须符合FDA / GxP标准(21 CFR Part 11.10)[搜索here以获取“Digital'”一词,其中强调了软件应注意确保该人员需要针对有效来源进行身份验证。这可以是AD身份验证,SMART卡等......

答案 1 :(得分:1)

我不打算讨论LDAP auth与MySQL的比较,为什么LDAP更具可扩展性,速度快,为什么不在这里使用RDBMS。我会一般地给你一个想法。

首先,如果回答“因为这是公司政策”那么我可以向你保证,你不能赢,因为这是陈词滥调。当人们对他们想要的东西知之甚少以及知道所有人告诉他们的内容时,你会得到这样的答案!

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

  

今天的编程是软件工程师努力的竞赛   建立更大,更好的白痴程序,宇宙尝试   产生更大更好的白痴。到目前为止,宇宙正在赢得 -   Rich Cook。

回到你的问题,LDAP auth提供了一些常见的安全性(我开发了一些LDAP auth应用程序,所有这些都是相同的,因为这个过程总是相同的)。在一个地方保留和管理帐户的主要原因,就是这样。它可以称为安全性和公司政策。我认为他们更关心以下两个步骤。

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

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