Данная статья применима к:

  • 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-сайтам и пр.), даже если доступ предоставляется только для чтения, может быть использовано для создания каналов утечки информации по времени, возможность применение подобных инструкций в конкретных ИС должна быть согласована с требованиями к защите информации в этих ИС.

  1. Для использования приложения fly-scan пользователь должен быть включен в группу scanner;
  2. Описанный ниже способ неприменим к сканерам, подключаемым через WiFi с использованием пакета sane-airscan. На момент написания настоящей статьи пакет sane-airscan не входит в состав дистрибутивов Astra Linux.


Описание примера

  • Подключение к сканеру выполняется с компьютера под управлением Astra Linux Special Edition с включенными мандатным управлением доступом (МРД) и мандатным контролем целостности (МКЦ);
  • Подключение выполняется к сетевому сканеру с условным сетевым адресом: <IP-адрес_сканера>:<IP-порт_сканера>;

Настройка запуска fly-scan из сессии с ненулевой классификационной меткой

  1. Установить пакет haproxy:

    sudo apt install haproxy

  2. Задать правило 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-порт_сканера>

  3. Для того, чтобы заданное правило сохранялось после перезагрузки ОС использовать инструкцию Сохранение и восстановление правил iptables;

  4. В файл /lib/systemd/system/haproxy.service в раздел [Service] первыми строками добавить:
    1. Для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7):

      Environment="LD_PRELOAD=/usr/lib/libparsec-spw.so.3"
      CapabilitiesParsec=PARSEC_CAP_PRIV_SOCK
    2. Для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6):

      Environment="LD_PRELOAD=/usr/lib/libparsec-spw.so.2"
      CapabilitiesParsec=PARSEC_CAP_PRIV_SOCK
  5. Обновить конфигурацию системных служб командой:

    sudo systemctl daemon-reload


  6. В файл /etc/haproxy/haproxy.cfg:

    1. Только для Astra Linux Special Edition с включенным МРД в секцию global добавить параметр:

      astra-mode off
    2. В секции defaults изменить значения параметров mode http и option httplog, указав приведенные ниже значения:

      mode tcp
      option tcplog

      Параметр option dontlognull оставить неизменным.

    3. В конец файла добавить две секции:

      Для формирования отступов в добавляемых секциях использовать табуляции, а не пробелы.
      frontend local
      	bind 127.0.0.1:<IP-порт_сканера>
      	default_backend scanner
      backend scanner
      	server scanner <IP-адрес_сканера>:<IP-порт_сканера>
  7. Перезапустить службу haproxy командой:

    sudo systemctl restart haproxy

  • No labels