跳转至主要内容

晴雨技术笔记

Windows 限制软件运行(一)

杏川铭心 杏川铭心
发表于 2025年12月19日

这一篇是正统的 Windows 管理系列~

缘起

既然是这个系列的文章那么缘起肯定是少不了的,这一切还要感谢我高中里三个同学,他们经常会刻意在我们班级的希沃大屏上安装包括但不限于 360 安全卫士、2345 安全浏览器等等软件。对没错就是刻意,尽管我从来没有被正式任命为电教委,但是我事实上就是电教委,基本每个老师都默认,也就是说他们就是来恶心我的……

相信屏幕前的你可能已经看的火大了,好在 Windows 并非没有为我们提供限制的功能。

这个功能叫做“软件限制策略”,不过在开始介绍之前,我们先讲讲你的直觉(如果有的话,大概率是映像劫持,小概率是标准组策略),出了什么问题。

直觉为什么不可靠

映像劫持

首先,映像劫持压根就不是正经的限制软件运行的方式。

映像劫持使用的是 Windows 中一项名为 IFEO(Image File Execution Options)的功能,其本意也并非劫持软件使其不能运行,而是顾名思义,提供程序在执行时的一系列选项。映像劫持所使用的选项是“调试器”,也就是在启动程序前先启动调试器,只不过映像劫持中劫持后的那个软件并没有调试器的功能,因此最终的结果就是,打开一个软件,运行另一个软件。

而使用映像劫持禁止软件运行的方式,则是将“调试器”设置为一个不存在的文件。由此可以看出这个方式有多么不靠谱……

此外,就是众所周知的,映像劫持把软件改个名字就解开了,因此使用映像劫持,没戏!至少在我高中里没戏,因为那几个同学是的确会没事给他们的安装包改个名字然后藏起来的……

组策略

虽说用组策略比映像劫持靠谱的多,毕竟是正经管理策略嘛,但很遗憾,标准组策略里的软件限制也是针对文件名进行的,同样是稍微改个名字就绕过去了。

标准组策略里的软件限制更多是为了防止普通用户访问某些系统工具,比如 MMC,Windows Power Shell 等等,对于我们这个例子来说是不可靠的。

那么接下来就和我一起来了解一下这个“软件限制策略”到底是什么东东吧!

认识软件限制策略

软件限制策略,那顾名思义,就是限制软件运行的策略。嗯,真的是听君一席话,如听一席话啊。

尽管从 Windows 7 开始,微软就引入了更加灵活的 AppLocker 来补充甚至替代软件限制策略的功能,但是 AppLocker 的配置相较于软件限制策略来说要复杂的多,对于我们现在这个使用场景,反而是软件限制策略更为简便。

软件限制策略可以从文件类型、数字签名、路径等对可以运行的软件展开限制。只要启用了软件限制策略,那么 Windows 在执行一个程序之前,会先根据策略对软件进行检查,只有当检查全部通过时,才会允许执行软件,否则会向用户显示一条类似于这样的提示:

软件运行被阻止。

相比于映像劫持这种奇特的方法,软件限制策略最关键的一个优势就是可以根据路径进行限制,这样简单的改名就无法绕过限制。如果将所有允许的路径都设置为标准用户不可写的,例如默认的 Program Files 目录,那么就可以达成彻底阻止标准用户随意执行软件。

配置软件限制策略

接下来我们就来学习如何配置这个好东西~

创建策略

首先打开本地安全策略 secpol.msc,然后转到软件限制策略。对,说的就是你,用家庭版那个,你可以不用看了。(♯`∧´)

接下来点击“操作(A)” > “创建软件限制策略(S)”。

创建策略。

然后界面就会变成这个样子。

策略创建成功。

修改安全级别

默认的安全级别是“不受限”,也就是开了跟没开一样。这当然不是我们想要的结果。

打开“安全级别”,然后双击“不允许”,也就是启用白名单。

接下来在弹出的窗口中,单击“设为默认”。单击的时候会告诉你你所选的安全级别比当前级别严格,可能会出岔子,我们直接无视风险,啊不是,单击确定就行。然后单击下图这个窗口中的确定。

设置默认安全级别为不允许。
这里已经设置过了所以不太一样

需要提醒的是软件限制策略不是立即生效的,可能会有个几分钟左右的延迟,如果没生效请不要惊慌,耐心等待即可。

修改限制类型

软件限制策略有一个小坑,尽管大部分人认知当中的“软件”就是 .exe,但是实际上软件限制策略中默认认为是可执行文件的种类非常多,这其中是包括快捷方式(.lnk 和 .url)的!也就是说,当你配置完上面的东西后,所有的快捷方式,包括桌面上的,任务栏里的,开始菜单里的,都打不开!

因此我们需要将快捷方式从受限制的文件类型中移除。首先回到软件限制策略页面,然后打开“指定的文件类型”。

配置指定的文件类型。

接下来把 LNK 和 URL 删除即可。

设置不限制快捷方式。

配置强制类型

回到刚刚那个页面,就在“指定的文件类型”上面,有个“强制”,打开。

修改强制选项。

如果你想给自己留一条后路的话,那么就选择“除本地管理员以外的所有用户”。选择之前确保你已经按照Windows 管理基础中的内容将标准用户和管理员分离!不然这些配置就都没有意义了……

配置路径

终于步入正题了!

首先打开“强制”上面的那个“其他规则”。

配置路径规则。

其他规则里能配置的内容很多,我们这里就只关心路径规则。可以看到系统默认帮我们创建了两条规则,尽管看上去很奇怪,但是不用管,你只需要知道,这两条规则,一条是用来允许 Program Files 下的软件,一条是允许 Windows 文件夹下的软件就行了。

其实如果按照刚才的步骤,这里正常情况下已经不需要我们配置了。

但是很遗憾,越来越多的软件采用的是单用户安装而不是系统安装模式,(一个常见的例子是 GeoGebra,至少对我来说很常见……)也就是说这部分软件是不包含在默认的两条白名单中的!特别是,如果你跟我一样,在学校的希沃上进行操作的话,那么单纯使用这两条规则,会使得希沃白板的登录界面无法打开!

注意:下面的步骤实际上给了标准用户绕过软件限制策略的可能性。好在安装 360 什么的还是行不通,因为没有管理员权限。尽管如此还是建议权衡一下利弊,或者赌你要对抗的对象找不到用户程序文件夹在哪里……

右键其他规则页面的空白区域,然后选择“新建路径规则(P)”。

新建路径规则。

接下来在路径中输入“C:\Users\*\AppData\”。(对,这个东西是支持这样的通配符形式的。)

允许运行 C:\Users\*\AppData\ 中的软件。

如果你比较勇,也可以选择诸如“C:\Users\*\AppData\Local\”这样的、甚至更加细化的路径。

这样操作完后,原本的单用户模式安装的软件,也可以正常运行了。

结语

至此我们就成功配置了 Windows 的软件限制策略来对抗同学们随意安装 360 和 2345 的行为。虽然单纯的剥夺管理员权限就已经足够了,但是弹出操作被系统管理员限制的窗口,比弹出需要输入密码的窗口,冲击力还是要更大一些的。

策略配置完可以说是非常有效,从那以后我的那几个同学再也没有尝试过安装奇奇怪怪的东西,只是安安静静的听歌(*¯︶¯*)

第二篇文章将会介绍功能更加强大、更加灵活的 AppLocker 策略。

  • 特别提醒:

    评论看到就会回,但是不保证速度,有的时候站长忘记看的话就会出现审核好几天也没有动静的情况……

    如果等不及的话,可以加QQ,同样看到就会通过!

杏川铭心
杏川铭心

QQ: 3146654817,欢迎友好交流 :P 曾用名Frank419(现在也是我在很多地方的用户名),网站站长。

Previous Post

SideStore iOS 侧载教程 

Next Post

No newer posts

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注