Манипуляции с базой данных SA/SP IPsec вручную
setkey [-knrv] имя_файла
setkey [-v] [-c]
setkey [-krv] [-f] имя_файла
setkey [-aklPrv] -D
setkey [-Pvp] -F
setkey [-H] -x
setkey [-?V]
- -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
.
ЗОСРВ «Нейтрино»
aarch64, arm, armv7, e2k, mips, ppc, x86
Утилита 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 дополнения, где аргумент опция_заполнения может принимать следующие значения:
- random-pad – набор произвольных значений.
- seq-pad – набор последовательных чисел по возрастанию, начиная с 1.
- zero-pad – заполнение нулями.
- -lh время
- Указать жесткий срок существования.
- -ls время
- Указать мягкий срок существования.
- -m режим
- Режим протокола безопасности, который требуется использовать:
- any (по умолчанию) – использовать любой доступный режим протокола безопасности.
- transport – обеспечить защиту однорангового взаимодействия между узлами.
- tunnel – включить операции инкапсуляции IP в IP. Разработано для защищенных шлюзов таких, например, как VPN.
- -r размер
- Размер окна в байтах для предотвращения повторной обработки. Значение аргумента размер является десятичным 32-разрядным числом. Если для аргумента размер значение не указано, либо указано нулевое значение, проверка повторной обработки не выполняется.
- -u идентификатор
- Указать идентификатор для привязки политики к SA. Значение аргумента идентификатор должно являться десятичным числом в диапазоне от 1 до 32767.
- политика
- Форма:
- -P направление discard
- -P направление ipsec запрос ...
- -P направление none
Подробное описание перечисленных выше аргументов приведено на странице описания протоколов IPsec в разделе "Настройка политики". - протокол
- Корректные опции:
- ah – AH (Authentication Header; заголовок аутентификации) на основе RFC 2402.
- ah-old – AH на основе RFC 1826.
- esp – ESP (Encapsulated Security Payload; полезная нагрузка, обусловленная инкапсулированной безопасностью) на основе RFC 2405.
- esp-old – ESP на основе RFC 1827.
- ipcomp – IPCOMP (IP Payload Compression Protocol; протокол сжатия полезной IP нагрузки).
- spi
- Security Parameter Index (SPI; индекс безопасности) для SAD и SPD. Десятичное или шестнадцатеричное число с префиксом 0x. Значения SPI от 0 до 255 зарезервированы для будущего использования.
- upperspec
- Указать протокол верхнего уровня, который требуется использовать. Возможные варианты:
- any (использовать любой протокол)
- tcp
- udp.
| В настоящее время аргумент 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
- Возникла ошибка.
Базовые подсистемы ЗОСРВ «Нейтрино»
/etc/inetd.conf, sysctl
IPsec
Предыдущий раздел: Утилиты