setkey

Манипуляции с базой данных SA/SP IPsec вручную

Синтаксис:

setkey [-knrv] имя_файла

setkey [-v] [-c]

setkey [-krv] [-f] имя_файла

setkey [-aklPrv] -D

setkey [-Pvp] -F

setkey [-H] -x

setkey [-?V]

Поддерживаемые платформы:

Neutrino

Опции:

-a

Показать блокированные записи SAD (Security Association Database; база данных ассоциаций безопасности). Запись SAD считается блокированной после истечения срока действия, но при сохранении возможности ссылаться на нее в SPD (Security Policy Database; база данных политик безопасности).

-c

Указать операцию из стандартного потока ввода. Список допустимых операция приводится в разделе "Операции" ниже.

-D

Выгрузить записи SAD.

При использовании с опцией

Дополнительно выгружаются записи

-a

Блокированные записи

-P

Записи SPD

-F

Очистить записи SAD. При использовании с опцией -P также очистить записи SPD.

-f имя_файла

Файл с выполняемыми операциями. Для получения дополнительной информации см. раздел "Операции" ниже.

-h

Выгрузить записи в шестнадцатеричном формате.

-l

Использовать бесконечный цикл с кратким выводом при задании -D.

-P

Выгрузить (если указана опция -D) или очистить (если указана опция -F) записи SPD.

-v

Выводить расширенную информацию. Отображать сообщения, переданные в сокет PF_KEY (включая сообщения, посланные другими процессами).

-x

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

Описание:

Утилита setkey добавляет, обновляет, выгружает или очищает записи базы данных ассоциаций безопасности (SAD) и базы данных политик безопасности (SPD) в стеке.

Операции

Следующие операции могут быть переданы через стандартный поток ввода (с помощью опции -c) или при помощи файла (с помощью опции -f имя_файла).

Строки, которые начинаются со знака решетки (#), обрабатываются как строки комментариев. Для операций определен следующий синтаксис:

add src dst протокол spi [расширения] алгоритм... ;

Добавить запись в базу SAD. Операция может завершиться неуспешно, например, если длина ключа не соответствует указанному алгоритму.

delete src dst протокол spi ;

Удалить запись SAD.

dump [протокол] ;

Выгрузить все записи SAD, соответствующие этому протоколу (действует аналогично опции командной строки -D).

flush [протокол] ;

Очистить все записи SAD, соответствующие этому протоколу (действует аналогично опции командной строки -F).

get src dst протокол spi ;

Отобразить запись SAD.

spdadd исходный_диапазон целевой_диапазон верхний_предел политика ;

Добавить запись SPD.

spddelete исходный_диапазон целевой_диапазон верхний_предел -P направление ;

Удалить запись SPD.

spddump ;

Выгрузить все записи SPD (действует аналогично опции командной строки -DP).

spdflush ;

Очистить все записи SPD (действует аналогично опции командной строки -FP).

Мета-аргументы для операций

Для операций используются следующие мета-аргументы:

алгоритм

Указывает алгоритм шифрования, аутентификации или сжатия.

Примечание
. Список допустимых значений для aalgo, ealgo и calgo приводится в разделе "Алгоритмы для протокола ” ниже.

-A aalgo ключ

Задает алгоритм аутентификации (aalgo) для протоколов ah и ah-old.

-E ealgo ключ

Задает алгоритм шифрования (ealgo) для протоколов esp или esp-old.

-E ealgo ключ -A aalgo ключ

Задает алгоритм шифрования (ealgo) для протоколов esp или esp- old, а также алгоритм аутентификации при полезной нагрузке (aalgo) для esp.

-C calgo [-R]

Указать алгоритм сжатия для IPComp (IP Payload Compression Protocol; протокол сжатия полезной IP нагрузки).

Если определена опция -R, значение в поле spi используется в качестве поля IPComp CPI (индекс сжатия) в исходящих пакетах. Значение в этом поле должно быть меньше 0x10000.

Если опция -R не указана, стек использует IPComp CPI (индекс сжатия) из поля IPComp CPI пакета, а поле spi игнорируется.

ключ

Обрамленная двойными кавычками строка символов, состоящая из последовательности шестнадцатеричных цифр с префиксом 0x.

dst,
src

Задают приемник и источник защищенной коммуникации в виде адреса IPv4/v6. Адрес указывается в числовом формате, поскольку setkey не использует преобразование имени хоста в адрес для этих аргументов.

целевой_диапазон,
исходный_диапазон

Диапазоны для безопасного обмена данными, указанные в виде адреса IPv4/v6 или диапазона адресов IPv4/v6. Они могут быть заданы вместе со спецификациями портов TCP/UDP. Корректные формы:

address

address/длина_префикса

address[порт]

address/длина_префикса[порт]

Значения аргументов длина_префикса и порт должны являться десятичными числами; значения аргументов src и dst должны быть в числовом формате. Квадратные скобки вокруг аргумента порт обязательны и являются частью синтаксиса.

расширения

Корректные опции:

-f nocyclic-seq

Запретить номера в циклической последовательности.

-f опция_заполнения

Задает содержимое esp дополнения, где аргумент опция_заполнения может принимать следующие значения:

-lh время

Указать жесткий срок существования.

-ls время

Указать мягкий срок существования.

-m режим

Режим протокола безопасности, который требуется использовать:

-r размер

Размер окна в байтах для предотвращения повторной обработки. Значение аргумента размер является десятичным 32-разрядным числом. Если для аргумента размер значение не указано, либо указано нулевое значение, проверка повторной обработки не выполняется.

-u идентификатор

Указать идентификатор для привязки политики к SA. Значение аргумента идентификатор должно являться десятичным числом в диапазоне от 1 до 32767.

политика

Форма:

-P направление discard

-P направление ipsec запрос ...

-P направление none

Подробное описание перечисленных выше аргументов приведено на странице описания протоколов IPsec в разделе "Настройка политики".

протокол

Корректные опции:

spi

Security Parameter Index (SPI; индекс безопасности) для SAD и SPD. Десятичное или шестнадцатеричное число с префиксом 0x. Значения SPI от 0 до 255 зарезервированы для будущего использования.

upperspec

Указать протокол верхнего уровня, который требуется использовать. Возможные варианты:
Примечание. В настоящее время аргумент upperspec не используется при переадресации.

Алгоритмы для протокола

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

Алгоритмы аутентификации для aalgo включают:

Алгоритм

Длина ключа (биты)

Комментарий:

hmac-md5

128

ah: RFC 2403,
ah-old: RFC 2085

hmac-sha1

160

ah: RFC 2404,
ah-old: 128-bit ICV (без документов)

hmac-sha256

256

ah: 96-bit ICV (draft-ietf-ipsec-ciph-sha-256-00),
ah-old: 128-bit ICV (без документов)

hmac-sha384

384

ah: 96-bit ICV (без документов),
ah-old: 128-bit ICV (без документов)

hmac-sha512

512

ah: 96-bit ICV (без документов),
ah-old: 128-bit ICV (без документов)

hmac-ripemd160

160

ah: 96-bit ICV (RFC 2857),
ah-old: 128-bit ICV (без документов)


Алгоритмы шифрования для ealgo включают:

Алгоритм

Длина ключа (биты)

Комментарий

des-cbc

64

esp-old: RFC 1829,
esp: RFC 2405

3des-cbc

192

RFC 2451

blowfish-cbc

40–448

RFC 2451

cast128-cbc

40–128

RFC 2451

des-32iv

64

esp-old: RFC 1829

des-deriv

64

ipsec-ciph-des-derived-01 (срок действия истек)

3des-deriv

192

Без документов

rijndael-cbc

128/192/256

draft-ietf-ipsec-ciph-aes-cbc-00


Алгоритмы сжатия для calgo включают:

Алгоритм

Комментарий

deflate

RFC 2394


Примеры:

add 3ffe:501:4819::1 3ffe:501:481d::1 esp 123457

-E des-cbc "ESP SA!!" ;


add 3ffe:501:4819::1 3ffe:501:481d::1 ah 123456

-A hmac-sha1 "AH SA configuration!" ;


add 10.0.11.41 10.0.11.33 esp 0x10001

-E des-cbc "ESP with"

-A hmac-md5 "authentication!!" ;

get 3ffe:501:4819::1 3ffe:501:481d::1 ah 123456 ;


flush ;


dump esp ;


spdadd 10.0.11.41/32[21] 10.0.11.33/32[any] any

-P out ipsec esp/tunnel/192.168.0.1-192.168.1.2/require ;


Статус завершения:

0

Успешно.

>0

Возникла ошибка.