Я хотел бы ограничить пользователя Linux одним приложением или активностью браузера. У меня есть конфиденциальные данные в системе, поэтому пользователь (клиент) не должен иметь возможности делать что-либо еще (никаких терминалов/редакторов и т. д.). Как я могу приблизиться к этой цели?
решение1
Если у вас есть конфиденциальные файлы, начните с их защиты. Это следует сделать даже если вы не собираетесь предоставлять другим пользователям доступ к системе.
Linux/Unix имеет сильную систему разрешений. Убедитесь, что ни один из конфиденциальных файлов не может быть прочитан others
. Это можно сделать, ограничив доступ к любому каталогу по пути.
Не редкость установить разрешения на домашние каталоги, 700
которые позволяют только пользователю и root видеть содержимое. Настройте ограниченного пользователя с его собственной группой, которая в некоторых дистрибутивах является группой по умолчанию.
Проведите аудит вашей системы, чтобы узнать, к каким файлам можно получить доступ при наличии others
разрешений.
Если некоторые конфиденциальные данные находятся в базе данных, проверьте ее разрешения.
Если вы разрешите пользователю доступ к браузеру, он, как правило, сможет просматривать файловую систему. Помимо режима киоска, вы можете рассмотреть возможность использования , chroot
чтобы ограничить их небольшой частью системы. Это может быть сложно настроить для среды X-window, поскольку для этого требуется значительное количество файлов и устройств. Я бы ожидал, что профиль xguest
должен будет разрешить доступ к тем же файлам и каталогам, что и chrooted-среда. Вы можете комбинировать подходы, реализующие Defense in Depth.
Относительно легко попытаться ограничить пользователя X-window одним приложением. Просто запустите это приложение вместо запуска диспетчера окон. Пока это приложение не может запускать другие приложения, вы ограничили их этим приложением. Изучите возможности этого приложения, поскольку оно может просматривать и, возможно, выполнять файлы. Есть ли у него режим, kiosk
предназначенный для ограничения доступа.
Если в конфигурации есть изъяны, пользователь может избежать тюрьмы. Я использовал несколько трюков, чтобы получить доступ к explorer
и другим инструментам в предположительно заблокированной системе Windows. Вот где правильные разрешения файлов и каталогов вступают в полную силу.
решение2
1. Храните конфиденциальные данные на внешнем диске.
Мой опыт говорит, что Firefox может порождать процесс ssh и пытаться подключиться с вредоносных IP. За год использования Firefox у меня было около ~200 попыток. Так что, если возможно, храните конфиденциальные данные на внешнем диске или порождайте Firefox как другого пользователя.
2. Добавьте второго пользователя.
OP вопрос не прямой, потому что мы не знаем, будет ли он также использовать этот ПК. Так что создайте другого пользователя и установите Windows Manager, что-то вроде fluxbox, должно быть достаточно.
3. Выполнить 'браузер startx' только для второго пользователя.
Итак, для второго пользователя вы можете отредактировать (в моем случае я использую lxqt): ./etc/X11/xinit/xinitrc.lxqt
или ./usr/bin/startlxqt
и добавить туда свой браузер.
4. Если вам нужна только ОС киоска, попробуйтепортеус
В чем проблема? Если вы хотите, чтобы я ответил подробнее, просто спросите.