Grsecurity:授予用户查看所有进程的权限(Debian Jessie)

Grsecurity:授予用户查看所有进程的权限(Debian Jessie)

当 Debian Jessie 使用 grsecurity 编译时,普通用户无法看到所有进程。因此 Sensu 客户端(监控和遥测解决方案)执行的任务无法看到是否存在其他进程(如 Apache)。

有没有办法授予用户sensu查看所有系统进程的权限?

答案1

如果用户看不到彼此的进程,Grsecurity 是使用内核配置符号进行编译的:

限制 /proc 仅供用户使用

GRKERNSEC_PROC_USER

这里说的话Y,非root用户就只能查看自己的进程,而不能查看网络相关的信息,也不能查看内核符号和模块信息。

这取决于GRKERNSEC_PROC_USERGROUP您是否可以通过将用户添加到特殊组中来允许用户查看其他进程。

允许特殊组

GRKERNSEC_PROC_USERGROUP

如果您Y在此处输入,您将能够选择一个能够查看所有进程和网络相关信息的组。如果您已启用,内核和符号信息可能仍处于隐藏状态。如果您想以非 root 用户身份运行 identd,此选项很有用。您也可以在启动时通过内核命令GRKERNSEC_HIDESYM行选择您选择的组。grsec_proc_gid=

GRKERNSEC_PROC_GID指定免除的组(如果未通过启动时内核 CLI 设置)。

您可以检查是否已设置此项,并将您的 Sensu 用户添加到此组:

  1. 使用 查找您正在运行的内核版本uname -r
  2. 检查设置grep "GRKERNSEC_PROC_GID" /boot/config-<kernel_release>
  3. 从 中查找此组的名称/etc/group。同时,您可以检查 Sensu 用户当前所属的所有组,否则您将在下一步将其从所有这些组中删除。(如果该组不存在,请使用 创建它groupadd -g GID grsecproc。)
  4. 使用 将您的 Sensu 用户添加到此组usermod -a -G GROUP sensu,但不要忘记列出步骤 3 中的所有其他组:

    -G, --groups GROUP1[,GROUP2,...[,GROUPN]]]
        A list of supplementary groups which the user is also a member of.
        Each group is separated from the next by a comma, with no
        intervening whitespace. The groups are subject to the same
        restrictions as the group given with the -g option.
    
        If the user is currently a member of a group which is not listed,
        the user will be removed from the group. This behaviour can be
        changed via the -a option, which appends the user to the current
        supplementary group list.
    

作为相同的步骤适用于所有服务器监控软件,群组列表可能会有所不同。因此,即使在这种情况下 Sensu 没有任何重要的团体,我也必须强调这一点。

如果GRKERNSEC_PROC_GID(或GRKERNSEC_PROC_USERGROUP)未设置,(阅读有关在 Jessie 中编译新内核并且)您可以使用它来配置make menuconfig和编译内核。

相关内容