Windows 安全性的基础很简单——如果你希望访问诸如文件或文件夹之类的网络资源,就需要相应的权限。但落地实施会更复杂,因为 Windows 操作系统有两类权限:在文件系统层面运作的 NTFS 权限,以及决定对共享资源进行网络访问的共享权限。
在本文中,我们将探讨 NTFS 权限与共享权限的区别,包括每种权限类型能够实现什么、它们之间的不同之处,以及如何将 NTFS 和共享权限结合起来,从而在所有 Windows 设备上贯彻 最小特权原则。
NTFS 权限管理最佳实践
了解更多什么是 NTFS?
NTFS(New Technology File System)是 Microsoft Windows NT 及更高版本操作系统的标准文件系统,取代了一种较旧的文件系统:File Allocation Table(FAT)。不过,FAT(尤其是 FAT32)仍在使用,尤其是在可移动存储设备上。
NTFS 通过其 Master File Table(MFT)支持高效的存储与检索,MFT 会跟踪磁盘上的所有文件和目录。该结构使 NTFS 能够在保持快速访问时间的同时,有效管理大量数据。此外,其对文件大小的支持能够满足当今现代应用和媒体存储的需求。在安全方面,NTFS 支持对文件和文件夹两种级别进行加密,并允许管理员为文件和文件夹设置更细粒度的权限。
什么是 NTFS 权限?
NTFS 权限用于 管理访问 以控制存储在 NTFS 文件系统中的数据访问。NTFS 共享权限的主要优势在于,它既会影响本地用户,也会影响网络用户;并且它基于在 Windows 登录时授予特定用户的权限,而不取决于用户从哪里进行连接。
NTFS 权限既包含基础权限,也包含高级权限。你可以将每种权限设置为“允许(Allow)”或“拒绝(Deny)”,以控制对 NTFS 对象的访问。以下是基本的访问权限类型:
- 完全控制 — 用户可以添加、修改、移动和删除文件与文件夹,以及它们关联的属性。此外,用户还可以更改所有文件和子文件夹的权限设置。
- 修改 — 用户可以查看并修改文件及其文件属性,包括:向目录添加文件或从目录删除文件;以及向文件添加或从文件移除文件属性。
- 读取并执行 — 用户可以运行可执行文件,包括脚本。
- 读取 — 用户可以查看文件、文件属性和目录。
- 写入 — 用户可以向文件写入,并向目录添加文件。
如何设置 NTFS 权限(分步指南)
- 右键单击共享文件夹。
- 打开“安全”选项卡,然后单击 编辑,如下所示:
- 单击 添加。 然后选择所需的组(HR Personnel 以下面示例为例),并使用“允许(Allow)”和“拒绝(Deny)”复选框分配所需权限,如下所示。
- 单击 应用 以应用这些权限。
共享权限是什么?
共享权限用于管理通过网络共享的文件夹的访问,例如位于集中托管的文件服务器上的共享文件夹。共享权限不适用于本地登录的用户。共享权限适用于共享中的所有文件和文件夹;您无法对共享中的子文件夹或对象的访问进行细粒度控制。您可以指定被允许访问共享文件夹的用户数量。共享文件夹权限可以与 NTFS、FAT 和 FAT32 文件系统一起使用。
共享权限有三种类型:
- 读取 — 用户可以查看文件和子文件夹名称、读取文件中的数据并运行程序。默认情况下,Everyone 组被分配 读取 权限。
- 更改 — 用户可以执行读取权限允许的所有操作;此外,还可以添加文件和子文件夹、修改文件中的数据,并删除子文件夹和文件。此权限默认未分配。
- 完全控制 — 用户可以执行“读取”和“更改”权限允许的所有操作,并且还可以仅对 NTFS 文件和文件夹更改权限。默认情况下,将向“Administrators”(管理员)组授予“完全控制”权限。
如何设置共享权限(分步指南)
- 右键单击共享文件夹。
- 单击 属性。
- 打开“共享(Sharing)”选项卡,然后单击 Share 按钮以共享该文件夹:
- 选择要与之共享该文件夹的组,并按此处所示分配共享权限:
- 单击右下角的 Share 按钮。
- 共享文件夹后,您需要设置高级选项。首先单击 Advanced Sharing:
然后单击 Permissions 按钮。在弹出窗口中,如下所示选择用户或组,并分配所需权限。然后单击 OK 以完成分配。
NTFS 权限与共享权限的关键区别
了解共享权限与 NTFS 权限 之间的差异对于在 Windows 环境中正确管理对文件和文件夹的访问至关重要。以下是两者的一些关键区别:
Feature | Share Permissions | NTFS Permissions |
|---|---|---|
|
Ease of Management |
Easy to apple and manage |
More granular control of folder and contents |
|
File System Compatibility |
Works with both NTFS and FAT or FAT32 file systems |
Available for NTFS file systems only |
|
Connection Restrictions |
Can limit concurrent connections |
Cannot limit connections |
|
Configuration Location |
Advanced Sharing > Permissions |
File/Folder Properties > Security tab |
|
Scope of Access Control |
Regulates remote network access only |
Secures both local and remote access |
|
Local Access Impact |
Does not affect local access |
Controls local and remote access |
|
Security Coverage |
Limited to networked environments |
Secures both local and remote access |
|
Complementary Use |
Requires NTFS permissions for full protection |
Functions independently but enhances overall security |
NTFS 权限与共享权限如何协同作用
当同时使用 NTFS 权限和共享权限时,如果两者发生重叠会怎样?例如:如果某个文件夹具有“完全控制”(Full Control)的共享权限,但只有“读取”(Read)的 NTFS 权限,那么最终结果会是什么?
当同时使用 NTFS 权限和共享权限时,始终以限制性最强的权限为准。例如,如果对“Everyone(所有人)”组设置的共享文件夹权限为“读取(Read)”,而对 NTFS 的权限设置为“修改(Modify)”,那么由于共享权限更严格,将应用共享权限;用户将被禁止在共享驱动器上更改文件。
通常建议在更高层级设置共享权限,同时使用 NTFS 权限来强制执行特定的访问控制。例如,考虑协作环境中的一个共享文件夹:团队需要频繁访问其中的文件。将共享权限为某个用户组设置为“完全控制(Full Control)”,即可让他们在通过网络连接到共享文件夹时轻松创建、修改和删除文件,而无需遇到访问问题。然而,为了保护该共享文件夹中的敏感数据,您可以应用更严格的 NTFS 权限,从而限制对特定文件或子文件夹的访问。该方法确保用户在与共享文件夹中的大部分内容自由互动的同时,敏感信息仍会受到更严格的 NTFS 控制保护。
Netwrix Identity Manager
权限管理最佳实践
以下是一些有效且安全地管理权限 的最佳实践:
- 除非万不得已,始终将权限分配给组,而不是单个用户。将权限分配给单个用户账户可能会导致权限结构复杂且难以管理。例如,当用户被删除后,该用户的任何权限条目都会以孤立的 SIDs 形式保留在访问控制列表(Access Control List,ACL)中,造成系统混乱,并使权限管理更加复杂。
- 落实最小权限原则(PoLP):为用户授予所需的权限,但不要超出所需的范围。例如,如果用户需要读取文件夹中的信息,但从未有合法理由去删除、创建或更改文件,请确保他们只具备“读取(Read)”权限。
- 将权限分配给组,而不是分配给用户账户:将权限分配给组能够简化对共享资源的管理。如果用户的角色发生变化,你只需将其添加到相应的新组,并从不再相关的任何组中移除即可。
- 仅对本地用户使用 NTFS 权限:共享权限仅适用于通过网络访问共享资源的用户;它不适用于在本地登录的用户。
- 将具有相同安全要求的对象放在同一个文件夹中:例如,如果某个部门的用户需要对多个文件夹具备“读取(Read)”权限,请将这些文件夹存放在同一个父文件夹中,并共享该父文件夹,而不是分别共享每个文件夹。
- 明智地管理 Everyone 和 Administrators 组:将 Everyone 组限制为公共或非敏感资源,并避免授予其访问关键系统或数据的权限。尽量减少 Administrators 组的成员数量,并为管理任务使用单独的账户,而不是把管理员权限授予日常使用账户。
- 避免嵌套权限冲突:在文件夹结构中尽可能将权限设置在最高层级,并限制深层嵌套的组或文件夹结构的使用,以防止意外继承。通过谨慎使用显式拒绝,避免破坏权限继承。
- 使用工具进行权限管理和审计:使用审计工具生成报告,说明谁在什么时间对哪些资源具有访问权限,以及权限何时被更改;并为非预期的权限更改和访问尝试配置告警。
- 记录并描述你的权限策略与流程:以 ad-hoc 方式处理 NTFS 和共享的权限,可能会带来不必要的复杂性和安全漏洞。最佳做法是事先明确你的权限理念与策略,并将其与经过验证的流程结合起来,定期、频繁地授予、监控和移除权限。
排查权限问题
诊断并修复失效的权限
权限损坏发生在用户无法访问其被授权使用的资源,或由于配置错误而意外获得对非预期区域的访问权限时。要识别并解决这些问题:
- 使用工具或操作系统功能,检查某个特定资源上用户或组的实际(有效)权限。
- 检查并移除权限条目中任何未知或无法解析的 SID(安全标识符)。这可能表示存在孤立账户。
- 确保资源由正确的用户或组拥有,因为所有者可以覆盖其他权限。作为管理员,你可能需要取得该文件或文件夹的所有权,然后重置权限。
- 对于关键组,建议明确分配所需权限,而不要仅依赖继承。
解决嵌套共享权限冲突
嵌套导致的重叠或继承权限会引发意外的访问问题或冲突。要解决这些问题:
- 将共享权限与 NTFS 权限结合起来检查“有效权限”,并记住最严格的权限优先生效。
- 如有可能,请尽量避免使用嵌套共享,因为它们可能会产生令人困惑的权限场景。
- 通过梳理各层级之间继承的权限来追踪权限层级结构,从而理解权限流向并识别冲突。
- 请在任何级别检查 Deny 权限,因为它们可能会覆盖层级结构中更上层的 Allow 权限。
有效使用权限继承
通过允许资源从父级对象继承权限,可以简化管理。不过,请务必了解继承的工作方式:从父文件夹继承的权限可能会覆盖分配给子文件夹的显式权限,从而潜在地授予比预期更广泛的访问权限。这些最佳实践可以帮助:
- 定期审查已继承的设置,确保其符合组织政策。
- 要在修改文件夹权限时更新所有子文件夹和文件,请使用以下 将所有子对象权限条目替换为此对象中的可继承权限条目 选项。
- 在打破继承时请务必谨慎,因为这可能导致意外的访问问题。只有在绝对必要时才禁用继承,并确保你理解其中的影响。
NTFS 与共享权限:选择正确的策略
在大多数情况下,NTFS 权限会是你的最佳选择,因为它们与文件系统本身绑定。在用户需要直接访问其所登录的 Windows 机器上的资源时,NTFS 是唯一的选项,因为文件共享权限不会限制本地访问。NTFS 权限还可以对共享文件夹内的文件和子文件夹提供更精细的控制;当你需要针对特定文件或子文件夹为不同用户或组设置不同权限时,它们也能支持更复杂的权限结构。
在某些情况下,Windows 共享权限可能更合适。尤其是对于任何使用 FAT32 分区的驱动器而言,NTFS 权限是无法选择的。此外,共享权限还可以让你限制同时访问共享文件夹的远程用户数量。在资源仅通过网络访问、且没有专门的管理员来管理环境的小型办公室中,共享权限也可能是合适的选择。
不过,当你将 NTFS 权限与共享权限结合使用时,效果会最好;请记住,最严格的权限始终会优先生效。保持共享权限较为宽泛,并使用 NTFS 权限进行细粒度的访问控制。一个好的经验法则是:为管理员将共享权限设置为 Full Control,为域用户设置为 Change,然后使用 NTFS 权限来实现更精细的控制。
自动化权限管理
手动管理权限可能是一项繁琐且耗时的工作,并且容易受到人为错误的影响,从而危及安全。自动化可以增强安全性并减少管理工作量。
基于角色的访问控制(RBAC)与自动化工具
With RBAC,访问权限授予的是角色而非单个用户;随后会根据每位用户的工作职能,为其分配相应的角色或角色集。当角色的需求发生变化(例如采用了新的应用程序或数据库)时,该角色会获得适当的新权限,并且拥有该角色的所有用户都会自动继承这些权限。若某个用户的职责发生变化,只需调整其角色分配即可更新其权限。
用于管理用户访问和权限的原生工具之一是 Active Directory (AD)。AD 提供用户模板:简化账户创建、支持基于组的权限分配,并能与众多第三方应用无缝集成。市面上也有一些优秀的第三方工具。例如,SolarWinds Access Rights Manager (ARM) 和 Lepide 可帮助自动化用户预配,而 Netwrix Identity Manager 提供身份生命周期管理、访问认证以及审计报告,以确保用户能够根据其角色获得对资源的适当访问权限
结论
掌握 共享权限与 NTFS 权限 之间的细微差别,对于在 Windows 环境中贯彻最小特权原则至关重要。利用权限继承、采用基于角色的访问控制并借助先进的自动化工具,可以让您作为管理员的访问管理工作变得简单许多。通过采用本指南中概述的最佳实践,并投入使用合适的工具,您可以确保有效的权限管理并实现更强的网络安全。
常见问题
共享权限和 NTFS 权限有什么区别?
共享权限和 NTFS 权限在 Windows 安全中发挥着不同但相互补充的作用:
- 共享权限 仅控制对共享资源的网络访问。这些权限不影响对文件和文件夹的本地访问。权限共有三个基本级别:读取、修改和完全控制。
- NTFS 权限 为本地和网络访问提供全面保护,并提供 6 个细粒度的权限级别:读取、写入、列出文件夹内容、读取和执行、修改以及完全控制。NTFS 权限适用于 NTFS 卷上的所有文件和文件夹,支持继承和特殊权限,并支持文件加密。
NTFS 权限还是共享权限,哪一个优先?
当同时存在 NTFS 权限和共享权限时,Windows 会强制执行最严格的权限。例如,如果共享权限允许完全控制,但 NTFS 将权限限制为读取,那么用户只会拥有读取访问权限。
当共享权限与 NTFS 权限组合时会发生什么?
当共享权限和 NTFS 权限结合使用时,始终适用最严格的权限。通过确保用户无论其权限来自共享还是 NTFS 权限,都不能超过其最受限制的权限级别,从而提供了额外的一层安全保障。
NTFS 权限的目的是什么?
NTFS 权限的核心目的,是在资源通过本地或网络访问的情况下,都能实现一致的最小特权(least-privilege)访问控制。它们还可以:
- 支持通过文件夹层级实现继承
- 对共享文件夹及其内容提供细粒度的控制
- 允许对文件和文件夹进行加密
- 启用对访问尝试的审计
NTFS 权限会覆盖共享权限吗?
默认情况下,NTFS 权限不会覆盖共享权限。然而,如果通过网络访问资源,共享权限不能授予高于当前 NTFS 权限的更高级别访问权限。当两种权限类型都启用时,将采用最严格的权限。
在同一共享上同时配置共享权限和 NTFS 权限时会发生什么?
在共享资源上同时配置共享权限和 NTFS 权限时,最严格的权限将优先生效。虽然共享权限不适用于本地访问,但在进行网络访问时,可以同时应用共享权限和 NTFS 权限。例如,如果共享权限是“完全控制”(Full Control),而 NTFS 权限是“读取”(Read),那么用户将只有读取访问权限
共享权限和 NTFS 权限的最佳实践是什么?
- 使用共享权限进行广泛的访问控制,并依靠 NTFS 进行更细粒度的权限管理。
- 保持权限简单且有条理
- 除非文件位于非 NTFS 分区,否则绝不要仅依赖共享权限。
- 移除任何不必要的管理员权限。
- 仅在特殊情况下使用显式 Deny 权限。
- 监控访问模式,以识别试图访问敏感数据的可疑行为。
- 定期审查权限设置,确保其符合当前的业务实践和安全要求。
分享到
了解更多
关于作者
Dirk Schrader
安全研究高级副总裁(VP)
Dirk Schrader 是 Netwrix 的常驻 CISO(EMEA)以及安全研究高级副总裁(VP)。他拥有 CISSP(ISC²)和 CISM(ISACA)等资质,是一位在 IT 安全领域拥有 25 年经验的老兵。Dirk 致力于以现代化的方式应对网络威胁,从而推动网络韧性的发展。Dirk 曾参与全球范围内的网络安全项目:职业初期从技术与支持岗位做起,随后在大型跨国公司和小型初创企业中分别担任销售、市场与产品管理等职务。他已发表大量文章,强调为实现网络韧性,需要重视变更管理与漏洞管理。