Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 и РУСБ.10015-10 (очередное обновление 1.7) с установленным обновлением БЮЛЛЕТЕНЬ № 2022-0819SE17 (оперативное обновление 1.7.2)
- Astra Linux Special Edition РУСБ.10015-37
Введение
Для повышения безопасности работы с web-браузерами в Astra Linux Special Edition РУСБ.10015-01 1.7.2 добавлен пакет astra-docker-browser, обеспечивающий запуск web-браузеров в изолированных контейнерах docker (см. статью Установка и администрирование Docker в Astra Linux Special Edition). Поддерживаются web-браузеры FireFox и Chromium, при этом Chromium поддерживается в двух вариантах - Chromium - стандартный запуск браузера, и Chromium GOST - запуск с параметром
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/X Safari/537.36 (Chromium GOST)
где X - версия Chromium.
Установка пакета
Пакет astra-docker-browser включен в состав расширенного репозитория Astra Linux Special Edition РУСБ.10015-01 1.7 (см. Репозитории Astra Linux Special Edition x.7: структура, особенности подключения и использования) начиная с оперативного обновления 1.7.2 и может быть установлен с помощью графического менеджера пакетов (см. Графический менеджер пакетов synaptic) или командой:
При установке пакета таким способом может выдаваться предупреждение "Download is performed unsandboxed"/"Загрузка без ограничения песочницы". Это предупреждение на результат установки не влияет и его можно игнорировать.
Создание образов для пользователей
После установки пакета для пользователей, которым будет разрешено использовать браузеры в docker-е, нужно будет создать индивидуальные образы браузеров, для чего:
Так как образ предназначен для использования пользователем и от имени пользователя, разрешить пользователю применение docker:
sudo astra-docker-browser --enable <имя_пользователя>Создать образ с браузерами. Образ создается для каждого пользователя от имени этого пользователя:
sudo astra-docker-browser --create-image <имя_пользователя>
Для удаления образа:
Управление разрешениями для пользователей
Отозвать ранее выданные разрешения можно командой:
Управление доступом к пользовательским ресурсам
При настройках по умолчанию web-браузеру, запускаемому в пользовательском контейнере, предоставляется доступ к следующим ресурсам:
- Устройство /dev/dri — графический интерфейс ядра для непривилегированных пользователей;
- Видеокамера (если в системе имеется устройство /dev/video0);
- Звуковое устройство (если в системе имеется устройство /dev/snd). Для работы со звуковым устройством также используются опции:
- -e PULSE_SERVER=unix:/tmp/pulseaudio.socket;
- -e PULSE_COOKIE=/tmp/pulseaudio.cookie;
- -v /tmp/pulseaudio.socket:/tmp/pulseaudio.socket;
- Пользовательские данные web-браузеров в домашнем каталоге пользователя:
- Пользовательские подкаталоги конфигурации браузера;
- Пользовательский подкаталог "Загрузки";
- Пользовательские подкаталоги конфигурации браузера;
- Сетевая карта;
- Файл /etc/localtime - только чтение - параметры временной зоны.
Поскольку наличие доступа к этим ресурсам может привести к несанкционированной активности в системе, предусмотрена возможность индивидуальной настройки доступа для пользователей.
Для этого используется конфигурационный файл /etc/astra-docker-browser.conf, содержащий разрешения по передаче ресурсов, принятые по умолчанию, и индивидуальные разрешения для пользователей. Синтаксис записей в файле:
allow:<имя_пользователя>:<строка_разрешений>
Для задания разрешений, применяемых по умолчанию вместо имени пользователя используется метасимвол "*" (звездочка).
Строка разрешения состоит из символов разрешений в произвольном порядке:
- v - разрешен доступ к видеокамере;
- s - разрешен доступ к звуковому устройству;
- d - разрешен доступ к пользовательским данным web-браузера
При установке пакета всем пользователям разрешено все. Содержимое конфигурационного файла:
allow:*:vsd
Индивидуальные разрешения для пользователей заменяют разрешения, принятые по умолчанию.
Если никакие разрешения не заданы (конфигурационный файл отсутствует или в конфигурационном файле нет ни индивидуальных разрешений для пользователя ни принятых по умолчанию разрешений, то пользователям запрещено всё).
Запуск браузера пользователем
При работе в графической сессии пользователь может использовать для запуска браузера графическое меню:
- "Пуск" - "Прочие" - "Docker-Chromium";
- "Пуск" - "Прочие" - "Docker-Chromium-Gost";
- "Пуск" - "Прочие" - "Docker-Mozilla-Firefox";
Пункты в меню создаются при установке пакета, но неработоспособны до создания образа для пользователя и включения для него разрешения на использование docker (см. Создание образов для пользователей).
Для запуска контейнера с браузером из командной строки пользователь может использовать команду
FireFox:
astra-docker-browser firefoxChromium:
astra-docker-browser chromium