Ограничить доступ пользователей к /proc и /sys

У меня есть одна большая проблема: setfacl, похоже, не работает для /proc и /sys, но я хотел бы ограничить права одного конкретного пользователя, и я не считаю приемлемым для этого пользователя читать такие вещи, как /proc/cpuinfo и т. Д. (Пользователь не должен иметь возможность собирать аппаратную информацию о системе)

Как бы я сделал это в Ubuntu? Apparmor больше для ограничения приложений, но не пользователей. Кажется, Селинукс - единственная возможность в этом случае, верно?

Я работал в своем сценарии так:

# restrict read access to /sys and /proc
sudo chmod -r /sys
sudo chmod -r /proc/acpi
sudo chmod -r /proc/asound
sudo chmod -r /proc/bus
sudo chmod -r /proc/cgroups
sudo chmod -r /proc/consoles
sudo chmod -r /proc/cpuinfo
sudo chmod -r /proc/crypto
sudo chmod -r /proc/devices
sudo chmod -r /proc/diskstats
sudo chmod -r /proc/dma
sudo chmod -r /proc/dri
sudo chmod -r /proc/driver
sudo chmod -r /proc/execdomains
sudo chmod -r /proc/fb
sudo chmod -r /proc/filesystem
# ...

Теперь мне интересно, может ли это создать серьезные проблемы, если я просто удаляю доступ на чтение к этим файлам (я удаляю права на чтение только для файлов с именами, а не для каталогов номеров), за исключением некоторых инструментов системного мониторинга, не работающих с правами пользователя (как топ, lscpu)?

Помимо проблем, которые создают для других пользователей, это решение совершенно не элегантно.

Я также не хочу компилировать и поддерживать ядро ​​grsecurity, что создает слишком много проблем.

1 ответ

Решение

Ограничить доступ к /procВы используете hidepid вариант при монтаже /proc, Добавьте в свой fstab (или отредактируйте, если запись уже есть):

proc /proc proc defaults,hidepid=2 0 0

Вы можете использовать gid возможность включить доступ для определенной группы. См. http://www.debian-administration.org/article/702/Hiding_processes_from_other_users для получения дополнительной информации.

Другие вопросы по тегам