运行 grsecurity 内核和 grsec_proc 组时允许 snmpd 读取 /proc/net/*

运行 grsecurity 内核和 grsec_proc 组时允许 snmpd 读取 /proc/net/*

我从 OVH(Kimsufi 2G)租用了一个 VPS,但在让 snmpd 正常工作方面遇到了麻烦。

该盒子是运行 OVH 定制内核的 D​​ebian Squeeze:

root@vps:~# uname -a
Linux vps 2.6.38.2-grsec-xxxx-grs-ipv6-64 #2 SMP Thu Aug 25 16:40:22 UTC 2011 x86_64 GNU/Linux

问题是用以下方式snmpd发送垃圾邮件:syslogcannot open /proc/net/*

root@vps:~# tail -f /var/log/syslog
Feb  8 23:57:38 vps snmpd[32481]: cannot open /proc/net/dev ...
Feb  8 23:57:53 vps snmpd[32481]: cannot open /proc/net/dev ...
Feb  8 23:58:01 vps /USR/SBIN/CRON[3074]: (root) CMD (/usr/local/rtm/bin/rtm 39 > /dev/null 2> /dev/null)
Feb  8 23:58:08 vps snmpd[32481]: cannot open /proc/net/dev ...
Feb  8 23:58:23 vps snmpd[32481]: cannot open /proc/net/dev ...
Feb  8 23:58:38 vps snmpd[32481]: cannot open /proc/net/snmp ...
Feb  8 23:58:38 vps snmpd[32481]: cannot open /proc/net/dev ...
Feb  8 23:58:53 vps snmpd[32481]: cannot open /proc/net/dev ...
Feb  8 23:59:01 vps /USR/SBIN/CRON[3117]: (root) CMD (/usr/local/rtm/bin/rtm 39 > /dev/null 2> /dev/null)
Feb  8 23:59:08 vps snmpd[32481]: cannot open /proc/net/dev ...

问题似乎是由grsecurity内核补丁引起的,如上所述这里这里

但是没有grsec_proc组,所以我无法更改组snmpd运行方式,如第一个链接中提到的那样,并且重新编译和安装新内核不是一个选项,因为我不够专业。

还有其他方法可以解决这个问题吗?

答案1

您需要启用进程组grsec内核配置中:

#
# Filesystem Protections
#
[…]
CONFIG_GRKERNSEC_PROC_USERGROUP=y
CONFIG_GRKERNSEC_PROC_GID=1005
[…]

然后你必须把你想要访问的用户放入/proc该组中group-id:1005

相关内容