限制用户访问/proc和/sys

Eso*_*tes 0 security proc restricted-access selinux acl

我有一个大问题:setfacl 似乎不适用于 /proc 和 /sys,但我想限制一个特定用户的权限,并且我认为该用户读取 /proc/cpuinfo 等内容是不可接受的。(用户不应该能够收集有关系统的硬件信息)

在 Ubuntu 中我该怎么做?Apparmor更多的是限制应用程序,而不是用户。看来Selinux是这种情况下唯一的可能性,对吧?

我在我的脚本中是这样解决的:

# restrict read access to /sys and /proc
sudo chmod -r /sys
sudo chmod -r /proc/acpi
sudo chmod -r /proc/asound
sudo chmod -r /proc/bus
sudo chmod -r /proc/cgroups
sudo chmod -r /proc/consoles
sudo chmod -r /proc/cpuinfo
sudo chmod -r /proc/crypto
sudo chmod -r /proc/devices
sudo chmod -r /proc/diskstats
sudo chmod -r /proc/dma
sudo chmod -r /proc/dri
sudo chmod -r /proc/driver
sudo chmod -r /proc/execdomains
sudo chmod -r /proc/fb
sudo chmod -r /proc/filesystem
# ...
Run Code Online (Sandbox Code Playgroud)

现在我想知道,如果我简单地删除对这些文件的读取访问权限(我只删除有名称的文件的读取权限,而不是数字目录的读取权限),除了一些不支持用户权限的系统监视工具之外,这是否会造成严重的问题(如 top、lscpu)?

除了给其他用户带来的问题之外,这个解决方案完全不优雅。

我也不想编译和维护 grsecurity 内核,那样会带来太多麻烦。

mur*_*uru 5

要限制访问,请在安装时/proc使用该选项。添加到您的 fstab(如果已有条目,则进行编辑):hidepid/proc

proc /proc proc defaults,hidepid=2 0 0
Run Code Online (Sandbox Code Playgroud)

您可以使用该gid选项来启用特定组的访问权限。有关更多详细信息,请参阅http://www.debian-administration.org/article/702/Hiding_processes_from_other_users 。