如何将工具的使用限制为公司网络中的用户



我们有一个开发人员调试工具来帮助操作我们的产品所依赖的数据库的安全部分。此工具的目的是将状态注入数据库,以减少创建测试方案的时间。该数据库不是可以使用 sql 操作的典型数据库。相反,它是一个只有我们的工具可以操作的二进制文件。这是一个 C# 应用程序。

如果这个工具在我们公司之外(比如有人通过电子邮件将其发送给在公共场所共享它的客户),这可能会带来很多安全问题。我们希望将智能构建到此工具中,以便它可以在公司或与我们共享该工具的合作伙伴网络中使用。我们不了解合作伙伴的网络。

我想知道建议的实现方法是什么?
喜欢:

  1. Ping 公司活动目录服务器或交换服务器。如果可以访问这些服务器之一,则允许使用该工具。

  2. 使用从生成日期起一个月过期的工具打包证书。在允许使用该工具之前,请始终检查证书是否已过期。

  3. 修改(2)。让每个用户在特定日期后请求密钥以解锁该工具。

在我们实施解决方案之前,我想知道是否已经有一个库可以做到这一点。

谢谢

假设您在组织内托管"文件",并且所有各方都以某种方式访问它。如果您同时向外部合作伙伴提供数据和工具来修改数据,那么没有什么可以真正阻止他们随心所欲地修改数据(除了法律/行政行为,但这超出了 SO 范围)。

对于

保护用户计算机上运行的代码,无论是 C# 还是本机编译的代码,您也确实无能为力。 .Net 代码修改/绕过保护更容易一些,但如果您担心保护对文件的访问,则需要保护文件/服务器,而不是担心客户端代码。

此类问题的常用解决方案 - 身份验证和授权:仅允许经过身份验证的用户访问文件,并且仅接受来自授权用户的更改。

如果使用基于文件的存储,则组织内部的常规 Windows 域帐户将用于身份验证,常规文件系统权限将用于授权。

对于外部合作伙伴,您可能需要服务器来执行文件的修改,并可能使用 ADFS 或 Oauth 进行身份验证/授权。

最新更新