重装台式机的 Windows10 之后想从头开始把安全性做好,对 Windows 的权限了解的不多,想找能直接对照使用的资料,但是没找到类似《MacOS 的安全和隐私指南》这种可以一条一条参考并且说明原因的总结文章。
个人比较关注的是以下几点:
这些问题花时间研究应该都能找到答案,不过如果有 V 友愿意直接分享经验的话那就再好不过了,提前感谢。
1
wevsty 2021-02-18 01:48:41 +08:00 1
1 、如果你想折腾可以给 chrome 单独设置账户,用 NTFS 权限拒绝其他账户读取 chrome 的数据文件。
但是这样做很麻烦,使用带驱动的第三方软件进行限制是更简单的做法。 2 、你可以创建低权限的用户来给不信任的软件运行,但是更好的做法是不要运行它们。 3 、UAC 的弹窗是因为程序要求了管理员权限,这是开发者决定的,虽然有办法你不给管理员权限,但那势必会损失一些功能。 4 、如果程序不需要修改系统文件,不需要安装驱动或者服务,基本上都能以 User 的权限来运行。 如果需要安装驱动或者服务,那只能用管理员权限。 |
2
ysc3839 2021-02-18 02:00:04 +08:00 via Android 1
1 和 2. 没有什么好办法。网上可能有些多用户隔离的方法,但在我看来这么做过于麻烦了。我自己会选择虚拟机或双系统。
3. 运行一个程序前,设置环境变量 __COMPAT_LAYER 值为 RunAsInvoker,然后再运行程序,可以绕过“被动的 UAC”。 这里的环境变量不需要设置成全局的,只需要父进程包含这个环境变量即可。比如你可以启动 cmd,执行 set __COMPAT_LAYER=RunAsInvoker,然后再运行别的程序。 “被动的 UAC”指的是程序 manifest 里指定了要什么程序,在程序运行前系统就会提示 UAC 授权。这个方法对程序启动后主动请求 UAC 无效。 如果遇到一些主动请求 UAC 的安装程序,可以考虑解包提取里面的文件,或者在虚拟机中安装后拷出来。 4. Steam 的话应该没有。不过 Steam 的游戏可以添加个安装脚本,在首次运行时会以管理员身份运行。一般这脚本是用来安装一些运行库的,但是游戏要干坏事也不是不可以。 |
3
chroming OP @wevsty #1 感谢回复。
1. 其实我一直希望的就是能单独设置账户运行 chrome,只要能满足:只需设置一次;能在常用账户下用 chrome 独立账户运行 chrome ; 2. 我准备采用的是这种方式,还不太清楚权限能限制到什么程度而不会影响使用; 3. 直接点击“否”的不给管理员权限么?还是有其他方式让软件以为拿到了管理员权限实际并没有?只要不影响软件核心功能就可以接受; 4. 比如我在常用账户下安装 steam,它要求 admin 账户授权,是否它安装的所有游戏最高都能使用已授权的 admin 权限而不需要再次请求授权? |
4
chroming OP |
5
wevsty 2021-02-18 02:17:26 +08:00 1
@chroming
1 、不借助第三方工具是做不到的。 不过网上有很多这样的工具。 2 、默认的权限是很宽松的。如果想阻止读取文件的话,基本上除非你明确设置拒绝,否则就会允许。 所以问题不在于能限制到什么地步,而在于你多有耐心和毅力。 3 、选择 UAC 否的结果是取消运行,如果通过第三方软件是可以做到以管理员账户运行但丧失某些权限的。 4 、权限默认是继承的,如果你运行 steam 是管理员权限,那么由 steam 运行的程序会继承它的管理员权限。 |
6
ysc3839 2021-02-18 03:21:48 +08:00 via Android 2
另外给两个提醒:
UAC 设置成第三档的时候是有很多漏洞可以绕过的。 当用户是管理员的情况下,有个任务计划可以用来提权。 https://www.tiraniddo.dev/2017/05/exploiting-environment-variables-in.html 我个人的解决方案是把那个任务计划中的 %windir% 手动改成 C:\Windows (C 要对应系统分区) |
7
Dreax 2021-02-18 03:27:42 +08:00 1
我尝试了好多方案,目前觉得效果最好的就是 RDP 的 RemoteApp,程序本体在 Windows Server 上运行,在本地只有一个窗口,体验类似 vmware 的 unity 模式,可以设置是否挂载本地硬盘以及转发麦克风剪贴板等,所以无论作恶也不会影响到你本地
唯一的缺陷就是需要一台配置足够的服务器长期运行且保证网络联通(我之前测试微信时使用 ping 延迟 35ms 的远程服务器体验良好,使用运行在本机的虚拟机时几乎和本机应用区分不出),另外由于 RDP 锁 30fps,对于游戏、视频等画面要求高的应用应该不合适(挺好奇 nvidia 的 GeForce Now 是什么技术) |
8
ysc3839 2021-02-18 03:40:59 +08:00 via Android
@Dreax
搜索了一下,RemoteApp 可以运行在非 Server 版本上 (比如专业版),使用 RemoteApp Tool https://github.com/kimmknight/remoteapptool GeForce Now 那些似乎都是屏幕录像。 |
9
zeroDev 2021-02-18 09:02:07 +08:00 via Android
我不太懂 Windows,不过装了个火绒,有时候玩火绒的自定义规则的时候,有看到类似的权限管理的功能
|
10
rayhy 2021-02-18 09:05:05 +08:00 via Android
这个可以去看看 编程随想…
|
12
geelaw 2021-02-18 11:26:11 +08:00 via iPhone 1
第一个问题的隔离账户解法 https://geelaw.blog/entries/isolate-app/
|