Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 и РУСБ.10015-10 (очередное обновление 1.7)
- Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) с установленным обновлением БЮЛЛЕТЕНЬ № 20211008SE16 (оперативное обновление 9)
Краткое описание проблемы
В сессии пользователя с ненулевой классификационной меткой и низким уровнем целостности при запуске приложения fly-scan (графическое меню "Пуск" - "Графика" - "Сканирование") сразу после обнаружения сетевого сканера приложение завершается с ошибкой "Не удалось открыть выбранный сканер". При этом в сессии пользователя с нулевой классификационной меткой и с высоким уровнем целостности приложение fly-scan запускается нормально.
Далее приводится инструкция по предоставлению доступа к сетевому ресурсу "сканер" из сессии с ненулевой классификационной меткой. Так как наличие доступа к недоверенным ресурсам (устройствам, web-сайтам и пр.), даже если доступ предоставляется только для чтения, может быть использовано для создания каналов утечки информации по времени, возможность применение подобных инструкций в конкретных ИС должна быть согласована с требованиями к защите информации в этих ИС.
- Для использования приложения fly-scan пользователь должен быть включен в группу scanner;
- Описанный ниже способ неприменим к сканерам, подключаемым через WiFi с использованием пакета sane-airscan. На момент написания настоящей статьи пакет sane-airscan не входит в состав дистрибутивов Astra Linux.
Описание примера
- Подключение к сканеру выполняется с компьютера под управлением Astra Linux Special Edition с включенными мандатным управлением доступом (МРД) и мандатным контролем целостности (МКЦ);
- Подключение выполняется к сетевому сканеру с условным сетевым адресом: <IP-адрес_сканера>:<IP-порт_сканера>;
Настройка запуска fly-scan из сессии с ненулевой классификационной меткой
Установить пакет haproxy:
sudo apt install haproxyЗадать правило iptables для обработки сетевого трафика, направляемого к сетевому сканеру:
sudo iptables -t nat -A OUTPUT -d <IP-адрес_сканера> -p tcp -m owner ! --uid-owner $(id -u haproxy) -m tcp --dport <IP-порт_сканера> -j REDIRECT --to-ports <IP-порт_сканера>- Для того, чтобы заданное правило сохранялось после перезагрузки ОС использовать инструкцию Сохранение и восстановление правил iptables;
- В файл /lib/systemd/system/haproxy.service в раздел [Service] первыми строками добавить:
Для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7):
Environment="LD_PRELOAD=/usr/lib/libparsec-spw.so.3" CapabilitiesParsec=PARSEC_CAP_PRIV_SOCK
Для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6):
Environment="LD_PRELOAD=/usr/lib/libparsec-spw.so.2" CapabilitiesParsec=PARSEC_CAP_PRIV_SOCK
Обновить конфигурацию системных служб командой:
sudo systemctl daemon-reloadВ файл /etc/haproxy/haproxy.cfg:
Только для Astra Linux Special Edition с включенным МРД в секцию global добавить параметр:
astra-mode off
В секции defaults изменить значения параметров
mode http
иoption httplog
, указав приведенные ниже значения:mode tcp option tcplog
Параметр
option dontlognull
оставить неизменным.В конец файла добавить две секции:
Для формирования отступов в добавляемых секциях использовать табуляции, а не пробелы.frontend local bind 127.0.0.1:<IP-порт_сканера> default_backend scanner backend scanner server scanner <IP-адрес_сканера>:<IP-порт_сканера>
Перезапустить службу haproxy командой:
sudo systemctl restart haproxy