我这里有一台新安装的服务器,上面安装了 CentOS7 和 GroupOffice。安装 rkhunter 并启动 rkhunter 检查后,我得到:
[09:58:15] Suspicious Shared Memory segments
[09:58:15] Process: PID: 1769 Owner: apache [ Found ]
[09:58:15] Suspicious Shared Memory segments [ Warning ]
有人知道“可疑共享内存段”是什么意思吗?我该如何检查这是否是误报?如果是,我该如何将此错误列入白名单?
编辑
如果我尝试使用 ps 命令列出该进程,则 PID 为 1769 的进程不存在:
# ps -p 1769
PID TTY TIME CMD
# ps aux | grep 1769
root 12777 0.0 0.0 112660 960 pts/0 S+ 10:25 0:00 grep --color=auto 1769
# ps aux | grep apache
apache 12606 0.0 0.5 537092 10224 ? S 10:15 0:00 /usr/sbin/httpd -DFOREGROUND
apache 12607 0.0 0.5 537092 10224 ? S 10:15 0:00 /usr/sbin/httpd -DFOREGROUND
apache 12608 0.0 0.5 537092 10224 ? S 10:15 0:00 /usr/sbin/httpd -DFOREGROUND
apache 12609 0.0 0.5 537092 10224 ? S 10:15 0:00 /usr/sbin/httpd -DFOREGROUND
apache 12610 0.0 0.5 537092 10224 ? S 10:15 0:00 /usr/sbin/httpd -DFOREGROUND
root 12779 0.0 0.0 112660 960 pts/0 S+ 10:26 0:00 grep --color=auto apache
答案1
添加了 ALLOWIPCPROC 配置文件选项。这可用于将使用共享内存段(在“ipc_shared_mem”检查期间发现)的可疑进程列入白名单。
因此要将以下内容列入白名单
ALLOWIPCPROC=path/to/service
例如
ALLOWIPCPROC=/usr/sbin/httpd
答案2
共享内存段的概念解释如下:http://www.csl.mtu.edu/cs4411.ck/www/NOTES/process/shm/what-is-shm.html。顾名思义,共享内存段是可由多个进程共享的内存段。Apache Web 服务器进程,即文件:/usr/sbin/httpd使用共享内存。它使用共享内存来跨 Apache 服务器工作器共享数据。这在以下位置有解释:Apache HTTP Server 中的共享对象缓存
访问共享内存存在安全风险,因为它允许一个进程读取并可能修改另一个进程使用的内存。只有受信任的进程才应被允许访问共享内存。Rkhunter 安全扫描有点严格,因为它认为受信任的进程/usr/sbin/httpd很可疑。
可以按照 Plesk 论坛上的建议安全地忽略此警告:https://support.plesk.com/hc/en-us/articles/115001160954-What-Watchdog-warnings-can-be-safely-ignored-on-a-Plesk-server。
要忽略警告,应将访问共享内存段的进程的路径添加到允许IPC进程rkhunter.conf 配置文件中的选项。本例中进程的路径为:/usr/sbin/httpd。
rkhunter.conf 文件包含以下文档允许IPC进程选项:
允许指定的进程路径名使用共享内存段。此选项可以指定多次,并且可以使用通配符。默认值为空字符串。
答案3
停止 httpd 后,警告消失(如预期)。启动 httpd 后,警告再次出现(使用相同的 PID!)。我尝试过几次(每次结果都一样)。
但:重新启动服务器后,警告消失。我尝试了几次服务器(登录 GroupOffice、重新启动 httpd 等),似乎警告一直消失(希望如此)。不过,我会在接下来的几天里观察这件事……
我不知道“可疑共享内存段”警告是什么意思,也不知道我如何判断这是否是误报。所以我也不会将此问题/答案标记为“已回答”...
感谢并问候,Steffen