4 февраля 2022 г.

Запуск Firefox в отличном от 0 уровне безопасности в AstraLinux 1.6.

Описание задачи:

В нулевой сессии пользователя запустить web-браузер firefox под уровнем отличным от нулевого.

Для решения будем использовать механизм sumac.

Решение:

Необходимо зайти в сессию под пользователем с правами sudo. Перейти в Пуск — Системные — Политика безопасности. Далее:

- открыть вкладку ALD домена,

- ввести пароль администратора ALD домена,

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

- в разделе «Привилегии» разрешить parsec_cap_sumac и сохранить настройки.

Создать файл в каталоге /usr/sbin/firefox_lvl.sh с следующим содержимым:

#!/bin/bash

profile_temp="/tmp/profile_$(tr -dc A-Za-z0-9 < /dev/urandom | head -c 5 ; echo '')"

sumac -l$1 "cp $(echo $KRB5CCNAME | cut -c 6-) /tmp/krb5cc_$(id -u); rm -r ~/.xauth*; mkdir -p $profile_temp"

sumac -l$1 "/usr/bin/firefox --profile $profile_temp http://srv-web.domain.ru; rm -rf $profile_temp"

 

Сделать данный скрипт исполняемым командой chmod +x /usr/sbin/firefox_lvl.sh

Далее при использовании стандартной kerberos-авторизации в домене ALD необходимо войти доменным пользователем с уровнем сессии «Несекретно». Создать на рабочем столе, через меню правой кнопки мыши, ярлык для запуска Firefox с уровнем «Сов.Секретно». В Редакторе ярлыков заполнить строки следующим образом:
Тип: Приложение

Имя: Firefox_lvl3

Имя[ru]: Сов. Секретный Firefox

Значок: firefox

Значок[ru]: firefox

Команда: /usr/sbin/firefox_lvl.sh 2

И нажать кнопку «Да»


Для изменения уровня сессии firefox необходимо при создании ярлыка изменить строку «Команда» указав цифру, соответствующую необходимому уровню.

Пример, для запуска под секретным уровнем:

Команда: /usr/sbin/firefox_lvl.sh 1

Принцип работы:

В случае успешной авторизации пользователя в системе, создается кеш-файл KERBEROS с правами. Путь до данного файла хранится в переменной окружения KRB5CCNAME. После активации созданного ярлыка, запускается скрипт, в котором, в первую очередь, выполняется команда sumac -l2 "cp $(echo $KRB5CCNAME | cut -c 6-) /tmp/krb5cc_$(id -u)". Данная команда копирует кеш пользователя, с указанным уровнем безопасности, во временный каталог /tmp, что позволит проходить сквозную авторизацию в дальнейшей работе. После копирования файла, через точку с запятой, выполняется удаление временных файлов и каталогов, которые использовались при прошлом запуске. Так же создается каталог с временным профилем firefox, который будет использоваться для работы под заданным уровнем сессии. Командой sumac -l2 "/usr/lib/firefox/firefox --profile $profile_temp http://srv-web.domain.ru", происходит запуск приложения Firefox, с использованием временного профиля, и переход на указанный URL.

Комментариев нет:

Отправить комментарий