netlabelctl(8)

ИМЯ
netlabelctl - утилита управления NetLabel

ОБЗОР
netlabelctl [<global_flags>] <module> [<module_commands>]

ОПИСАНИЕ

Утилита управления NetLabel, netlabelctl, это программа командной строки, которая позволяет системным администраторам настраивать систему NetLabel в ядре. Утилита основана на различных "модулях", которые соответствуют различным типам поддерживаемых ядром команд NetLabel.

ПАРАМЕТРЫ

  Глобальные флаги

-h  Показать справку

-p  Попытаться сделать вывод понятным для пользователя или "форматированным"

-t <seconds>
    Задать период ожидания ответа от подсистемы NetLabel (в секундах)

-v  Включить подробный вывод

-V  Показать сведения о версии

  Модули и команды

mgmt

Модуль управления используется для выполнения общих запросов о подсистеме NetLabel внутри ядра. Различные команды и их синтаксис перечислены ниже.

version
Показать версию протокола управления NetLabel ядра.

protocols
Показать список поддерживаемых ядром протоколов проставления меток.

map

Модуль сопоставления доменов используется для сопоставления различных протоколов проставления меток NetLabel либо с конкретными доменами LSM, либо с сопоставлением доменов по умолчанию. Каждый модуль LSM отвечает за определение того, что представляет собой домен. При использовании SELinux следует использовать обычный домен SELinux, то есть "ping_t". Выбор протокола возможен не только исключительно на основе домена LSM; при выборе протокола проставления меток можно одновременно учитывать как домен LSM, так и адрес назначения. Селекторы сетевых адресов могут определять либо отдельные узлы, либо целые сети. Они работают как для IPv4, так и для IPv6 (но выбранный протокол проставления меток должен поддерживать выбранную версию IP). При указании протокола проставления меток, который следует использовать для каждого сопоставления, доступно необязательное поле "extra"; оно используется для дальнейшего определения конфигурации конкретного протокола проставления меток. Если указывается протокол без меток, "unlbl", можно использовать дополнительное значение: "4" или "6". В этом случае сопоставляться будут только адреса IPv4 или IPv6. Если дополнительное значение не указано, сопоставление будет выполняться для всех семейств адресов. При указании протокола CIPSO/IPv4 или CALIPSO/IPv6, "cipso" или "calipso", необходимо указать значение DOI (domain of interpretation, область интерпретации); подробные сведения доступны в разделе ПРИМЕРЫ. Ниже перечислены различные команды и их синтаксис.

add default|domain:<domain> [address:<ADDR>[/<MASK>]] protocol:<protocol>[,<extra>]
Добавить новый домен LSM / сетевой адрес к сопоставлению протоколов NetLabel.

del default|domain:<domain>
Удалить существующий домен LSM из сопоставления протоколов NetLabel.

list
Показать все настроенные сопоставления доменов LSM с протоколами NetLabel.

unlbl

Модуль без меток (unlbl) управляет протоколом без меток, который используется, когда не требуется проставлять метки для исходящего трафика, а также когда система получает трафик без меток. Этот модуль позволяет администраторам блокировать все исходящие пакеты без меток с помощью флага "accept" и назначать трафику без меток статические (резервные) метки безопасности на основе входящего сетевого интерфейса и адреса источника.

accept on|off
Переключить флаг принятия трафика без меток.

add default|interface:<dev> address:<addr>[/<mask>] label:<label>
Добавить новую статическую/резервную запись.

del default|interface:<dev> address:<addr>[/<mask>]
Удалить существующую статическую/резервную запись.

list
Показать состояние флага принятия трафика без меток.

cipso

Модуль CIPSO/IPv4 (cipso) управляет подсистемой проставления меток CIPSO/IPv4 в ядре. Подсистема CIPSO/IPv4, которую предоставляет NetLabel, поддерживает несколько областей интерпретации (DOI), а модуль CIPSO/IPv4 позволяет использовать различные конфигурации для каждой DOI. В настоящее время имеется три типа конфигураций: "trans" (позволяет преобразовывать метки конфиденциальности MLS в режиме реального времени), "pass" (не выполняет преобразование меток конфиденциальности MLS) и "local" (передаёт полную метку безопасности LSM по соединениям localhost/loopback). Независимо от того, какой тип конфигурации выбран, необходимо указать значение DOI, а также (если выбрана конфигурация "trans" или "pass") список типов тегов CIPSO/IPv4 для использования при создании меток пакетов CIPSO/IPv4. Список тегов CIPSO/IPv4 выстроен в определённом порядке: если возможно, при создании метки CIPSO/IPv4 используется первый тип тегов в списке. Если первый тип тегов невозможно использовать, по порядку будут проверены все остальные типы тегов, пока не будет найден подходящий. Если корректный тип тегов не удастся найти, операция создания метки CIPSO/IPv4 завершится неудачно; обычно это происходит при создании нового сокета. Ниже перечислены различные команды и их синтаксис.

add trans doi:<DOI> tags:<T1>,<Tn> levels:<LL1>=<RL1>,<LLn>=<RLn> categories:<LC1>=<RC1>,<LCn>=<RCn>
Добавить новую конфигурацию CIPSO/IPv4, в которой используется стандартное/преобразованное сопоставление с указанными преобразованиями уровня и категории. Преобразование уровней выполняется таким образом, что локальный уровень "LLn" преобразовывается в удалённый уровень "RLn"; для входящих пакетов выполняется обратное преобразование. Такое же преобразование выполняется для категорий с помощью "LCn" и "RCn". Чтобы пакет был принят или чтобы приложением был создан сокет, в метке конфиденциальности MLS должно присутствовать преобразование уровня конфиденциальности и всех категорий; если не удастся преобразовать запрошенную метку конфиденциальности целиком, произойдёт сбой приложения.

add pass doi:<DOI> tags:<T1>,<Tn>
Добавить новую конфигурацию CIPSO/IPv4 без преобразований уровня или категорий.

add local doi:<DOI>
Добавить новую конфигурацию CIPSO/IPv4 для соединений localhost/loopback.

del doi:<DOI>
Удалить существующую конфигурацию CIPSO/IPv4 с указанным значением DOI. Если имеются какие-либо сопоставления доменов LSM, которые используют эту DOI, они также будут удалены.

list [doi:<DOI>]
Показать список всех конфигураций CIPSO/IPv4 или только конфигурацию, соответствующую указанной (необязательно) DOI.

calipso

Модуль CALIPSO/IPv6 (calipso) управляет подсистемой проставления меток CALIPSO/IPv6 в ядре. Работа этого модуля похожа на работу подсистемы CIPSO/IPv4, но протокол указывает только один тип тегов (эквивалентно типу тегов 1 CIPSO), поэтому тип тегов не нужно задавать. Кроме того, отсутствует поддержка конфигураций "local" и "trans". Ниже перечислены различные команды и их синтаксис.

add pass doi:<DOI>
Добавить новую конфигурацию CALIPSO/IPv6 без преобразований уровня или категорий.

del doi:<DOI>
Удалить существующую конфигурацию CALIPSO/IPv6 с указанным значением DOI. Если имеются какие-либо сопоставления доменов LSM, которые используют эту DOI, они также будут удалены.

list [doi:<DOI>]
Показать список всех конфигураций CALIPSO/IPv6 или только конфигурацию, соответствующую указанной (необязательно) DOI.

СООБЩЕНИЕ ПРИ ВЫХОДЕ
Возвращает ноль при успешном завершении или значения errno при ошибках.

ПРИМЕРЫ

netlabelctl cipso add pass doi:16 tags:1
    Добавить конфигурацию CIPSO/IPv4 со значением DOI "16", используя тег CIPSO "1" (разрешительный битовый тег). Уровни/категории CIPSO и LSM передаются через подсистему NetLabel без преобразования.

netlabelctl cipso add trans doi:8 tags:1 levels:0=0,1=1 categories:0=1,1=0
Добавить конфигурацию CIPSO/IPv4 со значением DOI "8", используя тег CIPSO "1" (разрешительный битовый тег). Указанное сопоставление преобразует локальные уровни LSM "0" и "1", соответственно, в уровни CIPSO "0" и "1", в то время как локальные категории LSM "0" и "1", соответственно, сопоставляются с категориями CIPSO "1" и "0".

netlabelctl -p cipso list
Показать все конфигурации CIPSO/IPv4 в доступном для прочтения человеком формате.

netlabelctl -p cipso list doi:16
Показать конкретные сведения о конфигурации CIPSO/IPv4 DOI 16.

netlabelctl cipso del doi:8
Удалить конфигурацию CIPSO/IPv4, назначенную для DOI 8. Все сопоставления доменов, которые используют эту конфигурацию, также будут удалены.

netlabelctl map add domain:lsm_domain protocol:cipso,8
Добавить сопоставление доменов, чтобы для всех исходящих пакетов, которые отправляются из "lsm_domain", проставлялись метки в соответствии с протоколом CIPSO/IPv4 с DOI 8.

netlabelctl map add domain:lsm_domain address:192.168.1.0/24 protocol:cipso,8
Добавить сопоставление, чтобы для всех исходящих пакетов, которые отправляются из "lsm_domain" в сеть 192.168.1.0/24, проставлялись метки в соответствии с протоколом CIPSO/IPv4 с DOI 8.

netlabelctl -p map list
Показать все сопоставления доменов в доступном для прочтения человеком формате.

netlabelctl del domain:lsm_domain
Удалить сопоставление доменов для "lsm_domain". Пакеты, которые отправляются из "lsm_domain", будут направляться согласно сопоставлению NetLabel по умолчанию.

netlabelctl unlbl add interface:lo address:::1 label:foo
Добавить статическую/резервную метку, чтобы назначить метку безопасности "foo" пакетам без меток, которые поступают в систему через интерфейс "lo" (loopback) с IPv6-адресом источника "::1" (localhost).

netlabelctl unlbl add default address:192.168.0.0/16 label:bar
Добавить статическую/резевную метку, чтобы назначить метку безопасности "bar" пакетам без меток, которые поступают в систему через любой интерфейс с IPv4-адресом источника в сети 192.168.0.0/16.

ПРИМЕЧАНИЯ

Подсистема NetLabel поддерживается в ядре Linux версии 2.6.19 и выше. Статические (резервные) метки поддерживаются только в ядре Linux версии 2.6.25 и выше. Селекторы адресов для сопоставления доменов поддерживаются только в ядре Linux версии 2.6.28 и выше, а CALIPSO/RFC5570 поддерживается только в ядре Linux версии 4.8.0 и выше.

Веб-сайт проекта NetLabel, на котором доступны дополнительные сведения, включая репозиторий исходного кода, находится по адресу https://github.com/netlabel. Пожалуйста, отправляйте сообщения об ошибках через сайт проекта или напрямую автору.

СМОТРИТЕ ТАКЖЕ
netlabel-config(8)

АВТОРЫ
Paul Moore <paul@paul-moore.com>. Перевод на русский язык выполнила Герасименко Олеся <gammaray@basealt.ru>.