当前位置:

首页 > 编程开发 > 黑客秘籍:Windows下权限设置

黑客秘籍:Windows下权限设置

打造坚不可摧的WEB服务器:Windows NTFS权限设置终极指南 动网论坛广泛应用的同时,伴随其上传漏洞的暴露以及SQL注入攻击手段的泛滥,WEBSHELL让许多防火墙形同虚设。这使得一台即使打了所有系统补丁、仅开放80端口的服务器也难以幸免。面对这种局面,我们真的无能为力了吗?当然不是。问题的

打造坚不可摧的WEB服务器:Windows NTFS权限设置终极指南

动网论坛广泛应用的同时,伴随其上传漏洞的暴露以及SQL注入攻击手段的泛滥,WEBSHELL让许多防火墙形同虚设。这使得一台即使打了所有系统补丁、仅开放80端口的服务器也难以幸免。面对这种局面,我们真的无能为力了吗?当然不是。问题的关键往往在于对NTFS权限的理解与配置。只要搞明白了这一点,你完全有底气对入侵者说:不!

安全基石:NTFS与多用户系统

要构建一台安全的WEB服务器,选择NTFS文件系统和Windows NT/2000/2003系列操作系统是前提。Windows作为支持多用户、多任务的环境,其权限管理正是基于用户和进程来设计的。这就引出一个有趣的问题:DOS系统有权限吗?从技术上讲,当你启动一台DOS电脑时,你就拥有了完全的管理员权限,且无处不在。所以更准确地说,DOS不是没有权限,而是不支持权限的精细划分。随着安全意识的提升,基于NTFS的完善权限体系才真正诞生。

理解Windows中的关键用户组

在Windows NT架构中,用户被划分到不同的组,组之间权限各异,组内成员也可拥有独立权限。下面就来拆解几个核心用户组:

Administrators(管理员组):默认拥有对计算机或域的完全、无限制访问权。该组的权限允许进行任何系统级控制,因此其成员必须是绝对受信任的人员。

Power Users(高级用户组):可以执行除Administrators专属任务外的大部分操作系统任务。他们能修改计算机设置,但无法将自己添加到Administrators组,其权限等级仅次于管理员。

Users(普通用户组):这是最安全的组。默认权限禁止成员修改系统设置或他人资料,提供了一个安全的程序运行环境。在NTFS卷上,他们不能改动系统文件、注册表或程序文件,可以关闭工作站但不能关闭服务器,只能管理自己创建的本地组。

Guests(来宾组):默认权限与Users组成员类似,但来宾账户的限制通常更多。

Everyone(所有用户):顾名思义,涵盖计算机上的所有用户账户。

除了上述可见组别,还有一个隐藏的“超级用户组”——SYSTEM。系统和核心服务运行所需的权限都由它赋予。由于该组仅包含SYSTEM这一个用户,将其视为一个特殊用户或许更贴切。

权限本身存在高低层级。高权限用户可管理低权限用户,但除了Administrators,其他组用户默认无法访问NTFS卷上其他用户的私人资料,除非获得明确授权。反之,低权限用户则无法对高权限用户进行任何操作。

日常使用中,我们很少感知到权限限制,这恰恰是因为我们通常使用Administrators组账户登录。这种做法的利弊显而易见:好处是行动自由,不受阻拦;风险则是系统门户大开,容易受到木马、病毒等安全威胁。一个访问恶意网站或打开带毒附件的简单操作,就可能让以管理员身份运行的系统遭遇毁灭性打击。因此,在非必要情况下,应尽量避免使用管理员账户进行日常操作。

这里提一下两个默认账户:Administrators组内建的Administrator账户拥有服务器完全控制权,务必为其设置强密码,并且永远不要删除它(但可以重命名或禁用)。而Guests组下的Guest账户默认是禁用的,没有特殊需求请保持此状态。你可以在“控制面板”-“管理工具”-“计算机管理”-“用户和组”中管理这些设置。

实操:NTFS权限类型详解

在NTFS卷或目录上右键点击“属性”-“安全”标签,就能进行权限设置。你会看到七种基本权限类型:

完全控制:拥有不受限制的完全访问权,如同Administrators组的地位。选中此项,下面所有权限会自动勾选。

修改:类似于Power Users的权限。选中“修改”,其下的“读取和执行”、“列出文件夹内容”、“读取”、“写入”将自动被选中,任何一项未满足,“修改”权限便不成立。

读取和执行:允许运行该目录下的可执行文件,并读取数据。

列出文件夹内容:仅能浏览子目录名称,无法读取文件内容或执行程序。

读取:仅能读取数据。

写入:允许向该目录写入数据。

特殊权限:对以上六种权限的进一步细化设置,可按需进行深度定制。

实战推演:一次未经权限加固的服务器攻防

让我们剖析一台新装Windows 2000 Server(SP4补丁齐全)的WEB服务器。采用IIS 5.0,已删除不必要的映射。硬盘规划为四个NTFS卷:C盘(系统与驱动)、D盘(安装的软件)、E盘(网站程序,路径为e:\www)、F盘(网站数据,路径为f:\wwwdatabase)。数据库为MS-SQL 2000(SA设强密,SP3已打),FTP服务使用Serv-U 5.1.0.0,杀毒和防火墙分别为Norton Antivirus与BlackICE(规则仅开放80和21端口)。网站程序为动网论坛7.0,位于e:\www\bbs。

一个值得注意的细节是:所有服务软件的安装路径都避开了默认位置。这并非多此一举。试想,若攻击者已侵入但未获管理员权限,他首先会探查服务与软件路径以寻找提权机会。一个难以猜测的路径配合严格的权限,能有效增加其攻击难度。

话说回来,既然其他安全措施看似完备,权限设置还是最后一道防线吗?答案是肯定的。安全漏洞层出不穷,完善的权限配置能最大化地遏制损失。现在,我们模拟攻击这台仅采用Windows默认权限的服务器,看看它是否真的固若金汤。

假设服务器域名为www.webserver.com。扫描发现开放WWW和FTP服务(IIS 5.0 & Serv-U 5.1),常规溢出工具无效。浏览网站发现是动网论坛,尝试访问/upfile.asp,确认存在文件上传漏洞。接下来,通过抓包并使用NC提交修改过的ASP木马,成功上传并获得WEBSHELL。通过木马发现MS-SQL、杀软和防火墙进程在运行,判断防火墙规则屏蔽了SQL端口。于是上传进程终止工具,关掉Norton和BlackICE。再次扫描,1433端口果然开放了。

至此,攻击者面前展开了多条提权路径:查看网站conn.asp获取SQL密码,登录后执行添加管理员命令;或修改ServUDaemon.ini文件并上传,间接获取系统权限;甚至可以直接使用Serv-U本地溢出工具添加Administrators用户。可以看到,一旦找到切入点,在缺乏权限约束的环境下,攻击者几乎可以长驱直入,直取管理员权限。

揭秘与加固:Windows默认权限的陷阱与修正

那么,Windows 2000的默认权限设置究竟有何问题?对于各个卷的根目录,系统默认赋予了Everyone组“完全控制”权。这意味着任何进入系统的用户都能在这些根目录下为所欲为。

系统卷下有三个目录权限略有不同:Documents and settings、Program files和Winnt。但非系统卷下的所有目录都会继承其父目录(即卷根目录)的权限——也就是Everyone组的完全控制权!

现在明白为什么模拟攻击能轻易成功了吧?网站访问者会被自动赋予IUSR账户(隶属于Guests组)。虽然该组本身权限不高,但继承而来的Everyone完全控制权却让其“身价”倍增,最终导致了权限的彻底沦陷。

那么,怎样设置才算安全?请牢记这个公式:最少的服务 + 最小的权限 = 最大的安全。不必要的服务坚决不装,权限分配遵循“够用就好”的原则。

针对上述WEB服务器,一个参考的权限配置方案如下:

  • 各个卷的根目录、Documents and settings及Program files目录,只授予Administrator完全控制权(甚至可以考虑删除Program files的Everyone访问权限)。
  • 在系统卷根目录下,为Everyone组添加“读取”和“写入”权限(这是因为如果虚拟内存设在系统盘,需要此权限才能正常启动,否则会报虚拟内存不足错误。若虚拟内存设在其他卷,则需在该卷做同样设置)。
  • 网站目录(e:\www)赋予“读取”和“写入”权限。
  • 关键系统文件如cmd.exe,应单独定位并设置仅允许Administrator完全控制。
  • 经过这番设置,前述的攻击方法将难以奏效。有人可能会问:ASP文件运行不需要“执行”权限吗?这里需要澄清:ASP文件并非直接在操作系统层面执行,而是由IIS解释执行,因此它依赖的是IIS服务的身份权限,而非文件系统上的“执行”权限。

    深入理解:权限的四大特性

    要熟练驾驭权限,必须了解其四个核心特性:继承性、累加性、优先性、交叉性。

    继承性:下级目录在没有重新设置权限前,会自动继承上级目录的权限设置。注意,在同一分区内复制文件或目录时,目标将继承新位置的上级目录权限;而移动操作时,对象会保留其原有的权限。

    累加性:用户或组的最终有效权限是其所有所属来源权限的累积。规则是取并集,但实质是取权限最大的那一个。例如,用户同时属于A组(读取)和B组(完全控制),其最终权限就是“完全控制”。

    优先性:包含两点。一是文件权限优先于目录权限,文件自身的权限设置可以覆盖所在目录的权限限制。二是“拒绝”权限优先于所有“允许”权限,一旦设置“拒绝”,其他所有允许设置都将失效。

    交叉性:当一个文件夹同时设置了共享权限和本地安全(NTFS)权限,且两者不一致时,系统会取两者中最严格(即交集)的部分作为最终有效权限。

    最后提醒与建议

    需要注意的是,所有这些精细的权限设置都必须在NTFS分区上才能实现,FAT32格式不支持此功能。在结束之前,给各位服务器管理员几条由衷的建议:

  • 养成良好习惯:规划清晰的分区结构,人离机锁,定期更新系统补丁和杀毒软件病毒库。
  • 设置高强度的密码:这虽是老生常谈,但弱密码甚至空密码依然是导致安全事件的主要原因。
  • 避免默认安装路径:安装软件时,自定义一个不易猜测的路径。
  • 优先考虑英文版操作系统:在语言能力允许的情况下,英文版系统往往在兼容性和某些安全更新上更有优势。
  • 保持系统纯净:切勿在服务器上安装不必要的软件或服务。
  • 保持学习与警惕:没有绝对安全的系统。唯有持续更新安全知识,才能构筑起动态的、真正的防线。
  • 本文内容来源于互联网,如有侵权请联系删除。
    作者最新文章
    编程开发
    相关文章 更多
    C++动态数组初始化怎么写?常用语句与代码示例
    C++动态数组初始化怎么写?常用语句与代码示例

    深入解析C++中动态数组的初始化机制,涵盖new操作符的不同用法、基本类型与类对象的初始化差异,以及为何在现代C++开发中应优先使用std::vector。

    using namespace 使用中遇到的问题怎么解决
    using namespace 使用中遇到的问题怎么解决

    命名空间的基本概念与常见引入问题在C++等编程语言中,命名空间(namespace)是一种将代码标识符(如变量、函数、类名)封装在特定名称下的机制,其主要目的是避免命名冲突,尤其是在大型项目或使用多个第三方库时。使用“using namespace”指令可以将指定命名空间中的所有名称引入当前作用域,

    c语言函数递归 实操经验总结:这些技巧很实用
    c语言函数递归 实操经验总结:这些技巧很实用

    理解递归的基本原理在C语言中,递归是一种函数调用自身的编程技术。要掌握它,首先需要理解其核心思想:将一个复杂的大问题,分解为一个或几个与原问题相似但规模更小的子问题,直到子问题足够简单,可以直接求解。这个过程通常包含两个关键部分:递归出口和递归体。递归出口定义了问题何时不再继续分解,即最简单、可直接

    c语言函数递归 怎么选?常见方案对比分析
    c语言函数递归 怎么选?常见方案对比分析

    递归函数的基本概念与适用场景在C语言编程中,递归是一种函数调用自身的编程技巧。它并非适用于所有问题,但在处理某些具有自相似结构的问题时,能提供极其清晰和优雅的解决方案。递归的核心思想是将一个大规模问题分解为一个或多个同类型但规模更小的子问题,直到子问题简单到可以直接求解。典型的适用场景包括树形结构的

    Objective-C 内存管理入门:从 alloc 到 dealloc 的生命周期详解
    Objective-C 内存管理入门:从 alloc 到 dealloc 的生命周期详解

    理解内存管理的基石在Objective-C的编程世界中,内存管理是开发者必须掌握的核心技能之一。它直接关系到应用的性能、稳定性与资源利用效率。与一些采用自动垃圾回收机制的语言不同,Objective-C在很长一段时间里,依赖一套基于引用计数的、需要开发者部分介入的管理规则。这套规则的核心思想是明确的

    如何正确使用 dealloc 以避免 iOS 应用中的内存泄漏
    如何正确使用 dealloc 以避免 iOS 应用中的内存泄漏

    理解 dealloc 的角色与时机在 iOS 应用开发中,内存管理是保障应用性能与稳定性的基石。dealloc 方法是 Objective-C 中对象生命周期结束时的关键回调,它标志着对象即将被系统回收内存。正确理解其触发时机至关重要:当一个对象的引用计数降为零时,运行时系统会自动调用该对象的 de

    深入理解 Objective-C 中的 dealloc 方法:内存管理核心机制
    深入理解 Objective-C 中的 dealloc 方法:内存管理核心机制

    内存管理的基石在Objective-C的世界里,内存管理是开发者必须掌握的核心技能之一。作为一门在手动引用计数(MRC)时代诞生的语言,Objective-C要求程序员对对象的生命周期有清晰的认识。dealloc方法正是这一生命周期中至关重要的终点站。它是一个实例方法,当对象的引用计数降为零时,系统

    理解 native2ascii:Java 国际化开发中的字符编码工具
    理解 native2ascii:Java 国际化开发中的字符编码工具

    native2ascii 工具的基本定位在Ja va应用程序的国际化与本地化开发过程中,处理非拉丁字符集是一个常见且关键的环节。Ja va内部使用Unicode字符集来统一表示全球各种语言的文字,但其属性文件(.properties)在历史上要求使用ASCII编码,或者更准确地说,要求非ASCII字

    如何使用 native2ascii 转换中文字符为 Unicode 转义序列
    如何使用 native2ascii 转换中文字符为 Unicode 转义序列

    理解 native2ascii 工具的基本用途在软件开发,特别是涉及国际化处理的场景中,开发者常常需要处理不同编码的文本资源。native2ascii 是 Ja va 开发工具包(JDK)中提供的一个命令行实用程序,其主要功能是将包含本地字符编码(非ASCII字符)的文件,转换为包含 Unicode

    Java native2ascii 命令详解:解决属性文件乱码问题
    Java native2ascii 命令详解:解决属性文件乱码问题

    native2ascii 命令的由来与作用在Ja va开发中,处理国际化资源文件是一个常见需求。资源文件通常以.properties格式存储,用于支持多语言界面。然而,Ja va属性文件默认采用ISO-8859-1字符集编码,这导致了一个直接的问题:当文件中包含非拉丁字符(如中文、日文、韩文等)时,

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    macOS软件
    macOS软件

    正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

    Mac软件 更多
    灵活计算器
    灵活计算器
    macOS/iOS/Android

    灵活计算器是一款笔记式算数应用,支持实时计算、动态关联和云端同步功能。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

    赤友清理大师
    赤友清理大师
    macOS

    赤友清理大师是一款为 Mac 设计的智能清理优化工具,可精准扫描垃圾、大文件、重复文件等,释放磁盘空间。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

    极度公式
    极度公式
    Windows/macOS/Linux

    极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

    WINDOWS 更多
    Windows 10
    Windows 10
    Windows

    Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。

    极度公式
    极度公式
    Windows/macOS/Linux

    极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

    密码键盘
    密码键盘
    Windows/macOS/iOS/Android

    密码键盘是一款兼具安全性与便捷性的高效密码管理器。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。