Ограничить доступ пользователей к /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 для получения дополнительной информации.