我如何覆盖 grsec?

我如何覆盖 grsec?

最近重新启动后,我有一对服务器现在无法监视其磁盘状态。Nagios 报告:

HP RAID Array
UNKNOWN Error: No controllers detected. -/-/- (LD : []) 

我在主机上手动运行检查时遇到同样的错误。当我这样做时,每当我手动运行该检查时,内核日志都会显示以下内容:

Apr  8 17:00:00 www.example.org kernel: [12345.000000] grsec: 
From 10.11.12.13: denied use of iopl() by /opt/hp/hpacucli
/hpacucli.bin[hpacucli.bin:666] uid/euid:0/0 gid/egid:0/0, parent 
/bin/bash[bash:777] uid/euid:0/0 gid/egid:0/]

hpacucli 是用于与硬件 RAID 控制器交互并收集磁盘状态等信息的工具。它使用 iopl() 并不奇怪。grsec 文档表明这是受控制的,kernel.grsecurity.disable_priv_io但是 sysctl 说密钥未知,而且我似乎也无法设置它。

有没有办法改变这一点,以允许 hpacucli 访问 iopl(),而无需重建非 grsec 内核?

答案1

hpacucli你现在 不应该使用。
正确的现代工具是hpssacli

此外,还有更有效的方法来检查硬件 RAID 控制器状态。您正在运行什么操作系统/发行版/版本?您是否安装了其他管理代理?

答案2

讽刺的是,这在我们的其他 HPraid 主机上起作用的原因是它们运行的​​是较新版本的 hpacucli,而这些版本显然不使用 iopl()。在这些较旧的主机上升级 hpacucli 解决了该问题。

如何选择性地允许 iopl() 的谜题仍然存在。也许改天再说吧。

相关内容