Grsecurity: предоставить пользователю разрешение на просмотр всех процессов (Debian Jessie)
Когда Debian Jessie скомпилирован с grsecurity, простой пользователь не может видеть все процессы. Поэтому задачи, выполняемые клиентом Sensu (решение для мониторинга и телеметрии), не могут увидеть, существуют ли другие процессы (например, Apache).
Есть ли способ предоставить sensu
пользователь имеет право видеть все системные процессы?
1 ответ
Если пользователи не могут видеть процессы друг друга, Grsecurity компилируется с символом конфигурации ядра:
Ограничить /proc только для пользователя
GRKERNSEC_PROC_USER
Если вы говорите
Y
здесь пользователи без полномочий root смогут просматривать только свои собственные процессы и ограничивают их в просмотре информации, связанной с сетью, а также в просмотре символов ядра и информации о модуле.
Это зависит от GRKERNSEC_PROC_USERGROUP
можете ли вы позволить пользователю видеть другие процессы, добавив его в специальную группу.
GRKERNSEC_PROC_USERGROUP
Если вы говорите
Y
здесь вы сможете выбрать группу, которая сможет просматривать все процессы и информацию, связанную с сетью. Если вы включилиGRKERNSEC_HIDESYM
информация о ядре и символах может оставаться скрытой. Эта опция полезна, если вы хотите запустить idd как пользователь без полномочий root. Выбранная вами группа также может быть выбрана во время загрузки черезgrsec_proc_gid=
в командной строке ядра.
А также GRKERNSEC_PROC_GID
указывает группу, которая освобождается (если не установлена через CLI ядра во время загрузки).
Вы можете проверить, есть ли у вас этот набор, и добавить своего пользователя Sensu в эту группу:
- Найдите свой работающий выпуск ядра с помощью
uname -r
, - Проверьте настройку из
grep "GRKERNSEC_PROC_GID" /boot/config-<kernel_release>
- Ищите название этой группы из
/etc/group
, В то же время вы можете проверить все группы, к которым в данный момент принадлежит ваш пользователь Sensu, иначе вы удалите его из всех этих групп на следующем шаге. (Если группа не существует, создайте ее с помощьюgroupadd -g GID grsecproc
.) Добавьте своего пользователя 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
и скомпилировать ядро.