最近了解了下 SELinux ,我的理解就是:给每一个进程设置访问资源的权限。
我在 Windows 上有这样的困惑:比如我运行了一个黄油,然后黄油虽然没有申请 UAC 权限,但是偷偷读取了我的 .ssh/id_rsa
,岂不是挺危险的。
了解到火绒有这样的文件保护机制,但火绒可信吗?
通过 https://www.wilderssecurity.com/threads/what-does-windows-offer-thats-similar-to-selinux.305609/ 了解到 integrity levels 这样一个概念,但是感觉功能差太远了。
1
ysc3839 2022-01-21 17:10:00 +08:00
没有。要防止程序偷偷读文件的话,应该只能用虚拟机。Sandboxie 只能防止写入,防不了读取。
|
2
imbushuo 2022-01-21 17:11:10 +08:00 4
1. 有
2. 但是因为历史原因,Windows 上的程序做这个有点疼,你可以把 App 踢进 AppContainer 跑(有人写了点工具),权限都要 explicitly granted (against its NT SID ),但是这样需要设置非常多的 ACL |
3
liuxu 2022-01-21 17:12:23 +08:00
火绒用的人挺多的,之前逮 qq 偷偷扫 chrome 的不就是用的它么
|
5
ClericPy 2022-01-21 17:29:23 +08:00
一开始也想的是 Sandboxie ... 以前没注意, 才知道它能读到本地盘的文件, 我还以为它什么都读不到
那它有访问网络权限么, 比如读取敏感文件发送到特定网址 |
6
watcher 2022-01-21 18:46:39 +08:00
没有军方订单
|
7
march1993 2022-01-21 18:53:03 +08:00
linux 也有这个问题,最好是像移动端,一个 app 一个账户
|
8
Buges 2022-01-21 19:49:15 +08:00 via Android
Linux 下 SELinux 用的人也不多,win 对标的应该是 hips 。你需要的是容器,flatpak 的 bwrap 或 docker 。
|
10
abc8678 2022-01-21 22:11:18 +08:00 via Android
@ysc3839 sandboxie 越来越难坚持住了。比如,文件资源管理器,右键菜单和窗口上方的那一块工具栏,根本加载不出来,UWP 化的东西都加载不出来。edge 浏览器最近也不能在 sandboxie 里打开了。老是改注册表换回旧版,也不是长期的办法,万一砍刀部下手,就没办法用了
|
11
xy2401 2022-01-21 22:17:45 +08:00
百度搜索 selinux 第一位就是如何关闭。
经常我写东西。排查目录权限。排查用户权限。排查端口权限。最终大概率是 tm selinux 给我拦截了 |
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 |
14
LPeJuN6lLsS9 2022-01-21 23:02:42 +08:00
|
15
LPeJuN6lLsS9 2022-01-21 23:06:51 +08:00 1
@ClericPy 默认是允许所有文件读取,然后写入是往沙盒写。不然程序自己都运行不起来
网络也是默认全部允许,但是能自己设置 ip 、协议、端口的黑白名单 |
16
shansing 2022-01-21 23:11:35 +08:00
根据你的描述,你仅仅需要用另一个标准用户运行黄油。它不需要请求管理员权限,也就不会(不能)访问主用户的用户目录。
|
17
MarvelousDH 2022-01-22 00:00:48 +08:00
hips 类型的软件应该都能实现把。。比如 comodo 这些
|
18
documentzhangx66 2022-01-22 03:17:57 +08:00
在 Windows 上,防止用户偷偷访问不该访问的东西,方法是使用用户权限功能。
1.创建一个用户。 2.给某个文件夹,在安全选项里,设置阻止该用户访问。甚至可以阻止整个用户组访问。 3.当该用户登录时,该用户就无法访问。以该用户运行的程序也无法访问。 这个功能做的比 Linux 默认那个权限要好得多。 |
19
crab 2022-01-22 06:03:55 +08:00 1
第三方主动防御类软件就可以,系统 api 调用都会提示。
|
20
zenghx 2022-01-22 07:43:02 +08:00 via Android
ms defender 不是有一个保护文件夹的功能吗?
|
21
villivateur OP @zenghx 那个不能防止读
|
22
yjd 2022-01-22 08:52:58 +08:00
selinux 教最多的是如何关闭。
真会用的是少数。比较繁琐有时候还得自己写规则 |
23
ho121 2022-01-22 10:32:58 +08:00 via Android
实际上默认的规则没有阻止大部分软件读取 .ssh 文件夹下的内容
|
25
markgor 2022-01-22 11:08:00 +08:00
@documentzhangx66 #18
你是没弄清楚 selinux 是什么吧.... |
26
quan01994 2022-01-22 11:43:33 +08:00
如果你需要 可以用 window 沙盒 ,运行玩
|
27
LPeJuN6lLsS9 2022-01-22 13:46:01 +08:00
@disk 你看下 NewBoxWindow.cpp 的源码就知道了,比标准沙盒更严格的模式就是默认开启隐私模式、撤销管理员权限啥的,完全没必要
以前为了去 5 秒弹窗还买了许可证,现在 plus 这个是没啥用,纯当捐赠了 |
29
lolizeppelin 2022-01-22 14:37:56 +08:00
还吹 windows 的权限机制呢
ACL 设置麻烦到系统更新都能留下错误文件夹没能删除 傻逼 windows !!!! 我觉得 windows 的 ACL 机制就挺像 selinux 的,只是大部分情况下不会接触而已.接触了就恶心到了 |
30
documentzhangx66 2022-01-23 01:22:13 +08:00
@markgor 楼主其实说的并不是 SELinux ,而是他需要一套能够精细化控制程序对不同位置文件 IO 权限的机制。这套机制 Windows 默认就有,只不过设置起来比较麻烦。
|
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 |
32
CatCode 2022-01-23 19:15:42 +08:00
|