Методические указания по нейтрализации угроз эксплуатации уязвимостей операционной системы специального назначения "Astra Linux Special Edition" РУСБ.10152-02 (очередное обновление 4.7), далее по тексту - Astra Linux, в информационных системах.

Методические указания не являются кумулятивными. При выполнении методических указаний другие виды обновлений автоматически не применяются и должны быть установлены отдельно.

Обновленные пакеты, в которых устранена угроза эксплуатации уязвимости, включены в состав оперативного обновления 4.7.5 (БЮЛЛЕТЕНЬ № 2024-0416SE47).

Методика безопасности, нейтрализующая угрозу эксплуатации уязвимости программного обеспечения Docker

Информация об уязвимости, закрываемой при выполнении настоящих методических указаний, предоставляется после соответствующего обращения в техническую поддержку.

Общие организационные мероприятия

  1. При работе с программным обеспечением Docker должны использоваться следующие механизмы комплекса защиты информации, интегрированные в Astra Linux:

    • запуск гипервизора контейнеров Docker на пониженном уровне целостности;

    • работа с образами и контейнерами Docker в непривилегированном (rootless) режиме.

    Порядок применения указанных механизмов представлен в документе РУСБ.10152-02 97 01-1 «Операционная система специального назначения «Astra Linux Special Edition». Руководство по КСЗ. Часть 1».

  2. Отключить или удалить неиспользуемые учетные записи пользователей, а также учетные записи недоверенных пользователей.

  3. Настроить монтирование файловых ресурсов хостовой машины в контейнер таким образом, чтобы предотвратить нежелательные изменения в конфигурации хостовой машины.
    Описание настроек монтирования файловых ресурсов хостовой машины представлено в документе РУСБ.10152-02 95 01-1 «Операционная система специального назначения «Astra Linux Special Edition». Руководство администратора. Часть 1».

  4. Настроить контроль целостности контейнеров и их образов. Для этого следует выполнить действия, описанные в документе РУСБ.10152-02 97 01-1.

  5. При создании образа с использованием докерфайла не применять инструкцию USER.

  6. Если применяется аутентификация с помощью Docker Credential helper (ассистента хранилища учетных данных), необходимо убедиться в корректности настроек:
    • в блоках параметров credsStore или credHelpers файла конфигурации (по умолчанию $HOME/.docker/config.json) должно быть указано наименование исполняемого файла ассистента. Например, при использовании docker-credential-yc (ассистента хранилища учетных данных Yandex Cloud) блок параметров credHelpers имеет следующий вид:

        "credHelpers": {
          "container-registry.cloud.yandex.net": "yc",
          "cr.cloud.yandex.net": "yc",
          "cr.yandex": "yc"
        }

      В качестве значений параметров указывается наименование, следующее после префикса "docker-credential-";

    • в переменной PATH должен быть указан каталог, в котором размещен исполняемый файл ассистента. Например, при использовании docker-credential-yc (ассистента хранилища учетных данных Yandex Cloud) в переменной PATH указан каталог /home/<имя_пользователя>/yandex-cloud/bin.

Дополнительные действия для устранения угрозы эксплуатации уязвимости режима Swarm Mode

В случае, если развернуты кластеры Docker Swarm необходимо выполнить действия, описанные ниже.

  1. В многоузловых кластерах необходимо развернуть глобальный контейнер "pause" для каждой зашифрованной overlay-сети на каждом узле. Для этого при создании сервиса нужно указать образ registry.k8s.io/pause и параметр "--mode global".

  2. Заблокировать входящий трафик на UDP-порт 4789:

    •  с помощью iptables – добавить правило, выполнив в терминале команду, например такого вида: 

      iptables -A INPUT -m udp —-dport 4789 -m policy --dir in --pol none -j DROP

      После добавления правила необходимо удостоверится в том, что изменения будут сохранены после перезагрузки ОС. Подробнее — см. Сохранение и восстановление правил iptables.
    • с помощью межсетевого экрана ufw – добавить правило, выполнив в терминале следующую команду:

      sudo ufw deny 4789/udp

  3. Необходимо убедиться, что на всех узлах кластера в ядро linux загружается модуль  xt_u32. Для этого следует выполнить команду:

    lsmod | grep xt_u32
    Если модуль не загружен, то в результате выполнения команд будет пустой вывод.
    Для того чтобы включить загрузку модуля xt_u32 в ядро linux необходимо выполнить следующие действия:

    1. загрузить модуль xt_u32 в ядро linux командой:

      sudo modprobe xt_u32

    2. проверить, что модуль xt_u32 загружен:

      lsmod | grep xt_u32

    3. обновить текущий образ initramfs командой:

      sudo update-initramfs -u

    Проверку загрузки модуля  xt_u32 необходимо выполнить для всех используемых ядер linux.