我是一名 Windows 管理员,所以那些与 Windows 集成的人可能最有帮助。在这一点上,我的主要挑战只是文件共享,但随着 SharePoint 使用的增加,这只会让这变得更加困难。
我已经设置了所有目录,并且允许使用最少访问权限策略设置的许多安全组。我的问题是出于人力资源和合规原因而跟踪这一切。
用户 A 需要资源 1 的权限。他需要获得资源 1 的经理的批准,然后经理的经理也需要批准此访问权限。一旦完成所有这些,我就可以进行更改。在这一点上,我们只是在纸上跟踪它,但它是一个负担,并且当用户 A 被重新分配并且在其他情况下不再应该访问资源 1 时,它可能会不合规。
我知道我正在寻找的东西应该已经存在,但我不知道去哪里找,我正在接触社区。
编辑:
感谢您的回复。我认为他们涉及技术方面,希望我的问题没有偏离主题。我应该让自己更清楚自己的目标。您使用什么系统向审计员显示在 X 日期用户 A 已添加/删除权限并且已获得经理 Y 的批准?我目前有一个基本的票务系统,但我没有看到它以一种易于理解的格式提供我需要的东西。
在我的脑海中,我正在想象一些关于用户 A 的报告,该报告将显示对其权限所做的所有更改。理想情况下,链接到 Active Directory 的东西将是理想的,但在这一点上我希望找到更基本的东西。我希望有专门针对此的应用程序。
谢谢!
如果您已经有一个票务系统,我建议在您的应用程序中为这些类型的请求创建一个新的组或标签等,并让用户发送票证以进行权限更改。如果您的工单系统允许您将工单转发给其他用户,或将他们添加到工单中,请添加所需的管理员并要求验证。这将允许您保留记录以涵盖您的工作。
如上所述,为每个共享创建一个安全组。在我的环境中,我们将拥有名为 FIN_Yearly、GEN_Public、MGM_Reports 的共享(每个部门都有自己的首字母缩写词)。安全组将被命名为 SG_FIN_YearlyAdmin、SG_FIN_YearlyUser、SG_GEN_PublicAdmin 等。用户是只读的,管理员是读/写的。
从这里您可以创建,例如 SG_FinancialsManager;包含其他安全组的安全组,以便根据他们所做的工作简化访问。我们个人不会这样做,因为它会使跟踪有点混乱。我们没有检查共享的 SG 并看到一堆具有权限的 SG,而是有一个用户列表。个人喜好,真的,将取决于您网站的大小。我们通常使用用户模板来管理新用户到特定职位。
如果您的票务系统允许您搜索以前的票证,那么您就大功告成了。如果有人要求您删除用户的权限,您可以对其进行跟踪。如果用户随后质疑为什么他们不再具有访问权限,您可以向他们提供票证。如果经理询问您谁有权访问什么,请打印屏幕请求的安全组。
实际上有几个商业应用程序可以做到这一点。该领域有时被称为“数据治理”。
几个例子:
Varonis 数据治理套件
http://www.varonis.com/products/data-governance-suite/index.html
Quest One Identity Manager – 数据治理版
http://www.quest.com/identity-manager-data-governance
我不使用这些,但研究了这个主题并看了一些演示,可能需要的范围可以解释市场。这些应用程序非常复杂,而且并不便宜。其中一些具有非常复杂的方法来连接到存储平台以跟踪访问控制列表。即使它不在您的预算之内,这些演示也有助于从功能的角度了解此类应用程序的功能。
我在审查时的一个观察是,他们通常不在文件级别进行审计。如果他们这样做了,就不可能扩展到数亿或数十亿份文件。所以他们通常只跟踪目录级别的权限。
我不知道如何记录/跟踪它们,但我给它们分配了组。
用户 A 需要访问资源 #1。他们获得许可,我将他们添加到访问组。
他们继续他们的业务,直到有一天他们被重新分配/解雇/无论如何,这时我将他们从访问组中删除。
我的帐户修改审核日志告诉我他们何时获得/失去访问权限,因此有记录,资源访问组通常是部门组(人力资源、IT、销售、财务等),因此管理重新分配通常意味着更改他们的组无论如何会员。
这往往在较小的环境中效果最好 - 对于较大的环境或 ACL 变得非常复杂的环境Zoredache 提出了一个很好的观点,即让执行 ACL 调整的系统也在某种程度上进行记录
对于发起添加/删除访问权限、重新分配用户等的请求。我建议使用电子纸(一种票务系统)——这确保用户不会漏网之鱼,但需要整体公司的支持才能虔诚地使用电子系统.
与纸质文件相比的优势在于您可以获得可以搜索的内容,并且每个人都可以在办公桌上完成他们的流程(经理可以更快地批准,因为没有办公室间的邮件信封来回移动,IT 可以尽快授予/撤销访问权限因为票出现在某人的垃圾箱中等)
我发现进行权限设置的最佳方式是基于角色。
GG_HR GG_Finance等,一般映射到职位或事业部。
您可以从那里创建对资源(即打印机或财务目录)具有权限的本地组。LG_RoomXPrinter LG_Finance_Read LG_Finance_FullControl
您为这些本地组 LG->GG 创建全局组,然后在您基于角色的全局组中添加基于权限的全局组。
GG_Finance <- LG_Finance_FullControl, LG_RoomXPrinter
当人们进入一个角色时,您只需将他们的帐户添加到一个组,他们的权限就会从该角色流出,并且更容易跟踪。(如果您使用某种身份管理系统也很棒)。比跟踪谁拥有什么个人权限要容易得多,您知道如果他们在 HR 组中,他们将拥有 X 权限。
您可以在通过作业管理系统请求他们时跟踪他们的组移动,或者运行脚本来吐出谁在哪个基于角色的组中。
您需要一个提供三样东西的票务系统:
几乎所有的工单系统都已经以工单创建日期、修改日期等形式为您提供了#1。#2 由您在工单中记录。通常这是一封来自资源经理的批准电子邮件,粘贴到票证中,说明他们可以访问(或应该删除访问)以及访问类型。#3 是最重要的,取决于票务系统,但如果您的系统不容易搜索,那么您的工作就没有了。如果您可以通过用户进行搜索,以便所有许可票都与他们在票务系统中的联系信息相关联,那么您就很好,否则您实际上是在将您的更改记录为一个黑洞。
在可以执行此操作以跟踪更改的票务系统之外(您提到您有一个基本的票务系统,因此您可能需要一个更好的系统,以提供更好的搜索/报告功能),您使用的任何应用程序、实用程序或脚本将仅提供权限的快照。你仍然坚持“为什么?” 谁有权访问什么,这只能与应用程序分开正确记录,因为您可能需要从资源管理器捕获原始电子邮件或其他批准文本。一旦你有了它,你把它放在哪里以将它与应用程序的结果相关联?
运行应用程序或脚本来确定文件结构中的当前权限也不会为您提供用户权限更改的良好审计跟踪。您基本上只能在单个时间点查看当前权限的大快照。当您再次运行它时,您将获得另一个文件权限的大快照。即使您保留了第一个权限捕获并将其与最近的捕获进行比较,并且权限已更改,您如何将其与更改的原因联系起来?同样,这将我们带回到票务系统,因为上面的 #s 1、2 和 3 都将记录在一个地方。
您提出的另一个问题是权限蔓延(当用户被重新分配到另一个权限并且不再需要访问资源 X 时,但仍然保留它,因为他们不再需要访问资源 X 的事实不是由 IT 运行的部门在过渡期间)。控制这种情况的唯一方法是告诉 HR 或任何处理员工重新分配的人,IT 需要在员工重新分配时得到通知,以便他们可以适当地分配和撤销权限。而已。没有神奇的应用程序会告诉您用户有权访问资源 X 但不应再访问,因为他们现在的工作是 Y。发生这种情况时,必须以某种形式向 IT 发出人工通知。
两个很棒的实用程序:
AccessEnum 还允许您保存它的结果,然后在将来比较它们,这对于查找更改很有用。
您真的应该考虑启用对文件/文件夹权限更改的审核,然后收集文件服务器安全日志(手动或使用任何事件日志管理工具或 SIEM,如 Splunk)并将其用于您的文档。分析对文件 DACL 的所有更改。此外,您还可以按照上面的建议使用 AccessEnum 和 AccessChk 对其进行补充。
这并不能使您免于设置适当的安全权限并仅通过组分配它们。