V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
villivateur
V2EX  ›  信息安全

Windows 下有没有类似 SELinux 的机制?

  •  
  •   villivateur · 2022-01-21 17:01:13 +08:00 · 5378 次点击
    这是一个创建于 1066 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近了解了下 SELinux ,我的理解就是:给每一个进程设置访问资源的权限。

    我在 Windows 上有这样的困惑:比如我运行了一个黄油,然后黄油虽然没有申请 UAC 权限,但是偷偷读取了我的 .ssh/id_rsa,岂不是挺危险的。

    了解到火绒有这样的文件保护机制,但火绒可信吗?

    通过 https://www.wilderssecurity.com/threads/what-does-windows-offer-thats-similar-to-selinux.305609/ 了解到 integrity levels 这样一个概念,但是感觉功能差太远了。

    33 条回复    2022-01-23 19:30:13 +08:00
    ysc3839
        1
    ysc3839  
       2022-01-21 17:10:00 +08:00
    没有。要防止程序偷偷读文件的话,应该只能用虚拟机。Sandboxie 只能防止写入,防不了读取。
    imbushuo
        2
    imbushuo  
       2022-01-21 17:11:10 +08:00   ❤️ 4
    1. 有
    2. 但是因为历史原因,Windows 上的程序做这个有点疼,你可以把 App 踢进 AppContainer 跑(有人写了点工具),权限都要 explicitly granted (against its NT SID ),但是这样需要设置非常多的 ACL
    liuxu
        3
    liuxu  
       2022-01-21 17:12:23 +08:00
    火绒用的人挺多的,之前逮 qq 偷偷扫 chrome 的不就是用的它么
    codehz
        4
    codehz  
       2022-01-21 17:20:29 +08:00 via Android
    @ysc3839 可以防读取,但是要捐赠
    ClericPy
        5
    ClericPy  
       2022-01-21 17:29:23 +08:00
    一开始也想的是 Sandboxie ... 以前没注意, 才知道它能读到本地盘的文件, 我还以为它什么都读不到

    那它有访问网络权限么, 比如读取敏感文件发送到特定网址
    watcher
        6
    watcher  
       2022-01-21 18:46:39 +08:00
    没有军方订单
    march1993
        7
    march1993  
       2022-01-21 18:53:03 +08:00
    linux 也有这个问题,最好是像移动端,一个 app 一个账户
    Buges
        8
    Buges  
       2022-01-21 19:49:15 +08:00 via Android
    Linux 下 SELinux 用的人也不多,win 对标的应该是 hips 。你需要的是容器,flatpak 的 bwrap 或 docker 。
    ysc3839
        9
    ysc3839  
       2022-01-21 21:06:46 +08:00 via Android
    @codehz 多谢指正
    abc8678
        10
    abc8678  
       2022-01-21 22:11:18 +08:00 via Android
    @ysc3839 sandboxie 越来越难坚持住了。比如,文件资源管理器,右键菜单和窗口上方的那一块工具栏,根本加载不出来,UWP 化的东西都加载不出来。edge 浏览器最近也不能在 sandboxie 里打开了。老是改注册表换回旧版,也不是长期的办法,万一砍刀部下手,就没办法用了
    xy2401
        11
    xy2401  
       2022-01-21 22:17:45 +08:00
    百度搜索 selinux 第一位就是如何关闭。
    经常我写东西。排查目录权限。排查用户权限。排查端口权限。最终大概率是 tm selinux 给我拦截了
    jinliming2
        12
    jinliming2  
       2022-01-21 22:26:26 +08:00
    @xy2401 在英文 Google 上搜,出来的结果大部分是 What is SELinux 介绍 selinux 的,扫了一眼,看到几条不太一样的:
    What is SELinux and Why You Might Want It
    Why SELinux is more work, but well worth the trouble
    Does SELinux make Redhat more secure?
    Don’t Disable SELinux
    Here’s why you should be wary of installing anything that sets SELinux to permissive
    sky96111
        13
    sky96111  
       2022-01-21 22:41:34 +08:00 via Android   ❤️ 1
    @ClericPy 不捐赠也可以阻止读,但是要手动写规则
    LPeJuN6lLsS9
        14
    LPeJuN6lLsS9  
       2022-01-21 23:02:42 +08:00
    @ysc3839
    @codehz
    一直都是不付钱也能组织文件访问的,能自由设置禁止的路径。以前不付钱只是启动程序要弹框等 5 秒钟……
    现在 sandboxie-plus 开源了没有限制了
    LPeJuN6lLsS9
        15
    LPeJuN6lLsS9  
       2022-01-21 23:06:51 +08:00   ❤️ 1
    @ClericPy 默认是允许所有文件读取,然后写入是往沙盒写。不然程序自己都运行不起来
    网络也是默认全部允许,但是能自己设置 ip 、协议、端口的黑白名单
    shansing
        16
    shansing  
       2022-01-21 23:11:35 +08:00
    根据你的描述,你仅仅需要用另一个标准用户运行黄油。它不需要请求管理员权限,也就不会(不能)访问主用户的用户目录。
    MarvelousDH
        17
    MarvelousDH  
       2022-01-22 00:00:48 +08:00
    hips 类型的软件应该都能实现把。。比如 comodo 这些
    documentzhangx66
        18
    documentzhangx66  
       2022-01-22 03:17:57 +08:00
    在 Windows 上,防止用户偷偷访问不该访问的东西,方法是使用用户权限功能。

    1.创建一个用户。
    2.给某个文件夹,在安全选项里,设置阻止该用户访问。甚至可以阻止整个用户组访问。
    3.当该用户登录时,该用户就无法访问。以该用户运行的程序也无法访问。

    这个功能做的比 Linux 默认那个权限要好得多。
    crab
        19
    crab  
       2022-01-22 06:03:55 +08:00   ❤️ 1
    第三方主动防御类软件就可以,系统 api 调用都会提示。
    zenghx
        20
    zenghx  
       2022-01-22 07:43:02 +08:00 via Android
    ms defender 不是有一个保护文件夹的功能吗?
    villivateur
        21
    villivateur  
    OP
       2022-01-22 08:00:23 +08:00 via Android
    @zenghx 那个不能防止读
    yjd
        22
    yjd  
       2022-01-22 08:52:58 +08:00
    selinux 教最多的是如何关闭。
    真会用的是少数。比较繁琐有时候还得自己写规则
    ho121
        23
    ho121  
       2022-01-22 10:32:58 +08:00 via Android
    实际上默认的规则没有阻止大部分软件读取 .ssh 文件夹下的内容
    disk
        24
    disk  
       2022-01-22 10:37:45 +08:00
    @hantsuki 不是,你去看新版新出的功能,叫隐私模式,相当于预置了一组规则,需要付费的
    markgor
        25
    markgor  
       2022-01-22 11:08:00 +08:00
    @documentzhangx66 #18
    你是没弄清楚 selinux 是什么吧....
    quan01994
        26
    quan01994  
       2022-01-22 11:43:33 +08:00
    如果你需要 可以用 window 沙盒 ,运行玩
    LPeJuN6lLsS9
        27
    LPeJuN6lLsS9  
       2022-01-22 13:46:01 +08:00
    @disk 你看下 NewBoxWindow.cpp 的源码就知道了,比标准沙盒更严格的模式就是默认开启隐私模式、撤销管理员权限啥的,完全没必要
    以前为了去 5 秒弹窗还买了许可证,现在 plus 这个是没啥用,纯当捐赠了
    disk
        28
    disk  
       2022-01-22 14:18:44 +08:00
    @hantsuki 一方面是激励捐赠,有时候懒得写规则就可以用它默认的了。更新还挺勤快的,增加了不少功能。
    lolizeppelin
        29
    lolizeppelin  
       2022-01-22 14:37:56 +08:00
    还吹 windows 的权限机制呢
    ACL 设置麻烦到系统更新都能留下错误文件夹没能删除

    傻逼 windows !!!!

    我觉得 windows 的 ACL 机制就挺像 selinux 的,只是大部分情况下不会接触而已.接触了就恶心到了
    documentzhangx66
        30
    documentzhangx66  
       2022-01-23 01:22:13 +08:00
    @markgor 楼主其实说的并不是 SELinux ,而是他需要一套能够精细化控制程序对不同位置文件 IO 权限的机制。这套机制 Windows 默认就有,只不过设置起来比较麻烦。
    LittleboyHarry
        31
    LittleboyHarry  
       2022-01-23 09:48:11 +08:00
    SSH keys 不建议明文保存,创建时要配口令加密。若要记住口令、减少输入,请使用 win 自带的 ssh-agent 服务

    参考: https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_keymanagement

    目前我认为安全隔离方案体验最好的是 Windows 专业版的沙盒技术,通过创建含文件夹映射或注册表的配置文件可以实现应用隔离

    参考: https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-sandbox/windows-sandbox-configure-using-wsb-file
    CatCode
        32
    CatCode  
       2022-01-23 19:15:42 +08:00
    CatCode
        33
    CatCode  
       2022-01-23 19:30:13 +08:00
    @CatCode 这个里面提到的 FltMgr.sys ,Windows 上的第三方备份软件 Macrium Reflect 的 Macrium Image Guardian 功能的实现就与这个有关。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   877 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 20:50 · PVG 04:50 · LAX 12:50 · JFK 15:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.