V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
chroming
V2EX  ›  问与答

有没有“Windows 安全和隐私指南”之类的总结文章?

  •  
  •   chroming · 2021-02-18 01:40:39 +08:00 · 1668 次点击
    这是一个创建于 1382 天前的主题,其中的信息可能已经有所发展或是发生改变。

    重装台式机的 Windows10 之后想从头开始把安全性做好,对 Windows 的权限了解的不多,想找能直接对照使用的资料,但是没找到类似《MacOS 的安全和隐私指南》这种可以一条一条参考并且说明原因的总结文章。

    个人比较关注的是以下几点:

    1. 对于仅限特定软件使用的重要数据应如何限制权限?(比如 chrome 本地数据,只需 chrome 能读写即可。火绒限制读写是一种方式,不过希望有更原生不依赖第三方软件的方式);
    2. 对于不太信任的软件如何限制其权限?(比如一些喜欢装各种组件的软件,无绿色版,需经常使用且软件本身数据需要持续保存,沙箱可能满足不了这些需求,不知道在当前账户下使用另一个受限账户运行此类软件是否可行);
    3. 如何尽量减少普通软件的安装、运行权限?(很多软件会 UAC 弹窗对设备进行更改、需要管理员权限等,可以绕过这些权限要求么?)
    4. 对于类似 Steam 这种第三方软件商城,其安装 /启动的软件 /游戏是否有 Steam 软件本身的最高权限?

    这些问题花时间研究应该都能找到答案,不过如果有 V 友愿意直接分享经验的话那就再好不过了,提前感谢。

    14 条回复    2021-02-18 14:57:43 +08:00
    wevsty
        1
    wevsty  
       2021-02-18 01:48:41 +08:00   ❤️ 1
    1 、如果你想折腾可以给 chrome 单独设置账户,用 NTFS 权限拒绝其他账户读取 chrome 的数据文件。
    但是这样做很麻烦,使用带驱动的第三方软件进行限制是更简单的做法。

    2 、你可以创建低权限的用户来给不信任的软件运行,但是更好的做法是不要运行它们。

    3 、UAC 的弹窗是因为程序要求了管理员权限,这是开发者决定的,虽然有办法你不给管理员权限,但那势必会损失一些功能。

    4 、如果程序不需要修改系统文件,不需要安装驱动或者服务,基本上都能以 User 的权限来运行。
    如果需要安装驱动或者服务,那只能用管理员权限。
    ysc3839
        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 的游戏可以添加个安装脚本,在首次运行时会以管理员身份运行。一般这脚本是用来安装一些运行库的,但是游戏要干坏事也不是不可以。
    chroming
        3
    chroming  
    OP
       2021-02-18 02:07:48 +08:00
    @wevsty #1 感谢回复。

    1. 其实我一直希望的就是能单独设置账户运行 chrome,只要能满足:只需设置一次;能在常用账户下用 chrome 独立账户运行 chrome ;
    2. 我准备采用的是这种方式,还不太清楚权限能限制到什么程度而不会影响使用;
    3. 直接点击“否”的不给管理员权限么?还是有其他方式让软件以为拿到了管理员权限实际并没有?只要不影响软件核心功能就可以接受;
    4. 比如我在常用账户下安装 steam,它要求 admin 账户授权,是否它安装的所有游戏最高都能使用已授权的 admin 权限而不需要再次请求授权?
    chroming
        4
    chroming  
    OP
       2021-02-18 02:14:15 +08:00
    @ysc3839 #2 感谢回复。
    3. 这个方法很有价值,十分感谢!
    4. 如果游戏本身有能力这么做的话那只能把 steam 当成不太信任的软件了。
    wevsty
        5
    wevsty  
       2021-02-18 02:17:26 +08:00   ❤️ 1
    @chroming
    1 、不借助第三方工具是做不到的。
    不过网上有很多这样的工具。
    2 、默认的权限是很宽松的。如果想阻止读取文件的话,基本上除非你明确设置拒绝,否则就会允许。
    所以问题不在于能限制到什么地步,而在于你多有耐心和毅力。
    3 、选择 UAC 否的结果是取消运行,如果通过第三方软件是可以做到以管理员账户运行但丧失某些权限的。
    4 、权限默认是继承的,如果你运行 steam 是管理员权限,那么由 steam 运行的程序会继承它的管理员权限。
    ysc3839
        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 要对应系统分区)
    Dreax
        7
    Dreax  
       2021-02-18 03:27:42 +08:00   ❤️ 1
    我尝试了好多方案,目前觉得效果最好的就是 RDP 的 RemoteApp,程序本体在 Windows Server 上运行,在本地只有一个窗口,体验类似 vmware 的 unity 模式,可以设置是否挂载本地硬盘以及转发麦克风剪贴板等,所以无论作恶也不会影响到你本地

    唯一的缺陷就是需要一台配置足够的服务器长期运行且保证网络联通(我之前测试微信时使用 ping 延迟 35ms 的远程服务器体验良好,使用运行在本机的虚拟机时几乎和本机应用区分不出),另外由于 RDP 锁 30fps,对于游戏、视频等画面要求高的应用应该不合适(挺好奇 nvidia 的 GeForce Now 是什么技术)
    ysc3839
        8
    ysc3839  
       2021-02-18 03:40:59 +08:00 via Android
    @Dreax
    搜索了一下,RemoteApp 可以运行在非 Server 版本上 (比如专业版),使用 RemoteApp Tool https://github.com/kimmknight/remoteapptool
    GeForce Now 那些似乎都是屏幕录像。
    zeroDev
        9
    zeroDev  
       2021-02-18 09:02:07 +08:00 via Android
    我不太懂 Windows,不过装了个火绒,有时候玩火绒的自定义规则的时候,有看到类似的权限管理的功能
    rayhy
        10
    rayhy  
       2021-02-18 09:05:05 +08:00 via Android
    这个可以去看看 编程随想…
    Dreax
        11
    Dreax  
       2021-02-18 09:08:03 +08:00
    @ysc3839 我在 Server 上也用的这个工具生成 .rdp ,比自带的管理工具方便多了
    geelaw
        12
    geelaw  
       2021-02-18 11:26:11 +08:00 via iPhone   ❤️ 1
    第一个问题的隔离账户解法 https://geelaw.blog/entries/isolate-app/
    chroming
        13
    chroming  
    OP
       2021-02-18 14:55:06 +08:00
    @Dreax #7 感谢回复。这种方式类似虚拟机了,我先尝试能不能完全在本机限制好权限。
    chroming
        14
    chroming  
    OP
       2021-02-18 14:57:43 +08:00
    @geelaw #12 感谢,这差不多就是我想要的效果了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2599 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 06:34 · PVG 14:34 · LAX 22:34 · JFK 01:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.