Дерево страниц

Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 14 Следующий »

Установка модулей iptables, поддерживающих работу с классификационными метками

В состав ОС СН Смоленск 1.6 с установленным обновлением безопасности № ХХХХХХ включёны пакеты iptables, поддерживающие работу с  классификационными метками. Работа с  классификационными метками реализована с помощью дополнительного модуля тестирования  astralabel, обеспечивающего тестирование значений мандатных атрибутов  с помощью опций "–maclev", "–maccat" (подробности см. ниже).

Названия пакетов:

  • iptables-astralabel-generic - для использования с ядром generic;
  • iptables-astralabel-hardened - для использования с ядром hardened;
  • iptables-astralabel-common - общие для generic и hardened модули;

Для эффективного использования этих пакетов в межсетевой экран ufw также включена поддержка работы с классификационными метками.

По умолчанию при установке ОС эти пакеты не устанавливаются. Установка пакетов может быть выполнена с помощью графического менеджера пакетов или из командной строки командой:

# для ядра generic
sudo apt install iptables-astralabel-common iptables-astralabel-generic

# для ядра hardened
sudo apt install iptables-astralabel-common iptables-astralabel-hardened

При необходимости версии generic и hardened могут быть установлены одновременно.

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

  • ОС СН Смоленск 1.6 (с установленным обновлением безопасности №ХХХХХ)
Подробнее про классификационные метки см. статью Метка безопасности: структура и состав

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

Модули iptables-astralabel поддерживают стандартный синтаксис командной строки, используемый в iptables, и предоставляют следующие дополнительные опции для контроля мандатных атрибутов сетевых пакетов:

ОпцияКомментарийПримеры
--m astralabelУказание на использование модуля astralabel для обработки сетевого трафика
--maclev <уровень>[:<уровень>]

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


Не принимать пакеты с иерархическими уровнями конфиденциальности от 1 до 3-х:

iptables -A INPUT -m astralabel --maclev 1:3 -j DROP


Значение фильтра, задаваемого опцией maclev, может быть инверсировано с помощью модификатора "!".


Не пропускать исходящие пакеты, имеющие иерархический уровень конфиденциальности не равный нулю:

iptables -A OUTPUT -m astralabel ! --maclev 0 -j DROP

Такое правило будет пропускать исходящие пакеты, имеющие нулевой иерархический уровень конфиденциальности и ненулевые неиерархические категории доступа.
--maccat <бит_категории>

Применение правила к пакетам, имеющим указанные неиерархические категории конфиденциальности. Задание диапазонов и инверсирование не поддерживаются. В одном правиле может быть указано несколько опций maccat, и тогда правило будет применяться только к пакетам, имеющим установленными одновременно все указанные категории (биты).

Нумерация битов категорий начинается с единицы.

Не пропускать исходящие пакеты с установленными одновременно битами категорий 1 и 2:

iptables -A OUTPUT -m astralabel --maccat 1 --maccat 2 -j DROP


Опции maclev и maccat могут применяться одновременно в одном правиле. Результирующий фильтр будет представлять собой объединение фильтров, заданных этими опциями.

Не принимать пакеты с установленными битами категорий 1 и 2 и уровнем конфиденциальности 3:

iptables -A INPUT -m astralabel --maclev 3 --maccat 1 --maccat 2 -j DROP


Если не указаны никакие опции для фильтрации пакетов то правило применяется ко всем пакетам, имеющим ненулевую классификационную метку. Т.е. правило

iptables -A OUTPUT -m astralabel -j DROP

запретит все исходящие пакеты, имеющие ненулевую классификационную метку (т.е. имеющие ненулевой уровень конфиденциальности и/или ненулевые категории доступа).

Использование ufw для работы с классификационными метками

Для управления сетевыми соединениями с учетом классификационных меток в межсетевой экран ufw добавлены опции maclev и maccat, по действию аналогичные соответствующим опциям iptables. Для того, чтобы эти опции работали, в системе должен быть установлен пакет iptables-astralabel-common и один из пакетов пакет iptables-astralabel-generic/iptables-astralabel-hardened, соответствующий используемому ядру.

Примеры использования:

ПримерКомментарийАналог в iptables
ufw deny out 80 macЗапрет отправки на 80-й IP-порт пакетов с ненулевой классификационной меткой
ufw deny out 80 maclev 2Запрет отправки на 80-й IP-порт (протокол HTTP) сетевых пакетов, имеющих уровень конфиденциальности 2-m astralabel --maclev 2
ufw deny out 80 maccat 3Запрет отправки на 80-й IP-порт (протокол HTTP) сетевых пакетов, имеющих категорию конфиденциальности 3-m astralabel --maccat 3

Возможность инверсии правил и возможность одновременного указания нескольких категорий в одном правиле текущей реализацией ufw не поддерживаются.


  • Нет меток