Управление конвертором с помощью INI-файла

1.   Настройки конвертора хранятся в INI-файле cs_conv.ini, расположенном в каталоге агента.

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

3.   Формат файла:

·       обычный текстовый файл в кодировке ASCII. Используется кодирование окончания строк, принятое для операционной системы (Windows/UNIX)

·       пустые строки и строки, начинающиеся с ! (восклицательный знак) игнорируются

·       файл состоит из нескольких секций. Каждая секция начинается с названия секции, заключенного в квадратные скобки. Например: [interface_list].

4.   Описание секций файла:

·       Описание отдельных глобальных настроек:

Название секции:  [global_settings]

·       Формат строк:

ike_autopass = {on|off} – включение/выключение прописывания ike autopass в конфигурации. По умолчанию – on. Пользователю редактировать данный параметр не рекомендуется, за исключением случаев, когда надо построить конфигурацию с вложенным IPsec

Следует учесть, что данная настройка отличается от похожей настройки для версии 3.1: там она открывала полный доступ для IKE пакетов. В текущей версии данная настройка обеспечивает прохождение IKE пакетов в обход IPsec policy, но не в обход правил firewall. Необходимо следить, чтобы были прописаны соответствующие правила пакетной фильтрации для беспрепятственного прохождения IKE пакетов.

dpd_retries  = {1–10} – количество попыток проведения DPD-обмена. По умолчанию – 5. Пользователь может настраивать данный параметр для получения оптимального количества DPD-retries.

 

tunnel_local_ip = {on|off} – включение/выключение прописывания локального IP-адреса в структуре TunnelEntry. По умолчанию –  off. Пользователю редактировать данный параметр не рекомендуется: только при возникновении ситуаций, когда прописывание локального адреса необходимо (пока не выявлено).

 

ipsec_reassemble_ip = {on|off} – включение/выключение прописывания параметра Assemble=TRUE в структуре TunnelEntry. По умолчанию – on. Значение on означает, что пакет будет собран из IP-фрагментов перед IPsec инкапсуляцией (как и в предыдущих версиях шлюза безопасности).
При значении off могут появиться проблемы при работе по защищенному соединению с предыдущими версиями агента. Если защищенная связь с предыдущими версиями шлюза безопасности не требуется, то данный параметр можно отключить для улучшения производительности IPsec.

 

preserve_ipsec_sa = {on|off} – включение/выключение прописывания параметра PreserveIPsecSA=TRUE в структуре GlobalParameters. По умолчанию – off. Значение off – при любых изменениях в конфигурации IPsecAction, IKERule фильтров NetworkInterface.IPsecPolicy удаляются все IPsec SA.
Значение on означает, что в момент изменения конфигурации IPsec SA будет сохранен при соблюдении некоторых условий (подробнее см. документ «Создание конфигурационного файла»).

Внимание! При использовании данного режима следует соблюдать осторожность: IPsec SA, оставшиеся от старой конфигурации в той или иной мере могут нарушать новую политику безопасности или быть неработоспособными из-за несоответствия новой LSP. Если нет уверенности в корректности использования данной настройки, рекомендуется оставить значение off.

Описание перекодировки алгоритмов:

Название секции:  [algorithm_list]

Редактирование пользователем данной секции не рекомендуется.

·       Формат строки: 

<Generic_algorithm_name> = { SignByCaType | native:<Native_algorithm_name> } gui:<GUI_name> [gui_default] [optional:<optional_part>] [show:"<Show_description>"] [default] console:<console_description> [console2:<console2_description>]

где

<Generic_algorithm_name> – имя метода аутентификации, алгоритма или группы в стиле cs_console..

Формат <Generic_algorithm_name>:

Сначала идет префикс:

 

Префикс

Режим конфигурирования

Команда или префикс IPsec  transform 

ike-auth-

IKE policy

auth

ike-hash-

hash

ike-cipher-

encr

ike-group-

group

ah-integrity-

IPsec transform

ah-

esp-integrity-

esp-

esp-cipher-

esp-

pfs-group-

Crypto map config

set pfs

 

После префикса идет параметр команды или суффикс IPsec transform.

Примеры:

команда hash gost – <Generic_algorithm_name>=ike-hash-gost

описание алгоритма в IPsec transform esp-gost28147 – <Generic_algorithm_name>=esp-cipher-gost28147
(префикс “esp-cipher-“ берется по типу алгоритма в стиле Cisco-like, суффикс “gost28147” берется из синтаксиса “esp-gost28147”).

Если присутствует символ _ (подчеркивание), то он обозначает, что данный алгоритм задается двумя словами.

Существует требование: <Generic_algorithm_name>=esp-null” обязательно должно обозначать ESP CipherAlg=”NULL” (задается стандартным образом, пример см. ниже). На другие имена жесткие требования по соответствию алгоритмов отсутствуют.

 

SignByCaType –    зарезервированное слово, обозначающее режим выбора метода аутентификации в зависимости от типа CA.  Используется только для описания метода аутентификации. Является альтернативой для параметра <Native_algorithm_name>. Подробнее по логике работы с сертификатными методами аутентификации см. ниже.

<Native_algorithm_name> –   имя метода аутентификации, алгоритма или группы в стиле LSP. Не может содержать кавычек, пробелов и табуляций. Параметр обязательный, но может отсутствовать, если задано ключевое слово SignByCaType. Если ключевое слово SignByCaType не используется, то метод аутентификации описывается именем структуры AuthMethod. Остальные значения задаются строковым значением соответствующего параметра в LSP.

<GUI_name> –      идентификатор, представляющий данный алгоритм в GUI. Не может содержать кавычек, пробелов и табуляций.

gui_default –         спецификатор, отмечающий значение, которое в GUI выбирается как значение по умолчанию при создании новой ISAKMP Policy или IPsec Transform Set.

Optional –             после ключевого слова optional и двоеточия пишется опциональная часть команды, которая может быть введена или опущена при вводе. При выводе по команде show running-config данная часть команды никогда не показывается. Не может содержать кавычек, пробелов и табуляций.

<Show_description> – текстовое описание метода аутентификации, алгоритма или группы, которое показывается по команде show crypto isakmp policy. Применимо для ISAKMP алгоритмов и групп. Обязательно должно быть заключено в кавычки. Может содержать пробелы или табуляции. Не может содержать кавычки внутри.

                            Для группы описание должно начинаться со следующего текста (дефис здесь обозначает пробел):

                            Oakley group:-----------

default –               спецификатор используется для ISAKMP алгоритмов и групп. Он обозначает значения по умолчанию для объекта crypto isakmp policy. Также спецификатор применяется для PFS групп: в этом случае имеет специальный смысл – значение, выставляемое командой “set pfs” без параметров. Всего в файле должны быть четыре записи со спецификатором default: ISAKMP hash, encryption, group, а также PFS group.

                            Появление лишних записей default или отсутствие ее для какого-то из типов алгоритмов рассматривается как ошибка – испорченный ресурсный файл (“ERROR: Could not initialize resources.”). Консоль не запускается.(подробнее см. документ «Cisco-like команды»)

<console_description> – текстовое описание метода аутентификации, алгоритма или группы в cs_console, которое показывается при вызове подсказки во время редактирования конфигураци. Обязательно должно быть заключено в кавычки. Может содержать пробелы или табуляции. Не может содержать кавычки внутри.

<console2_description> – текстовое описание второй части алгоритма в cs_console. Небязательный параметр.

 

Список поддерживаемых в настоящее время значений в сравнении со значениями для агента 3.1:

 

Новое значение

Старое значение

ike-auth-gost-sig

NEW

ike-auth-pre-share

NEW

ike-auth-sign

NEW

ike-hash-gost

NEW

ike-hash-gost341112-256-tc26

NEW

ike-hash-gost341112-512-tc26

NEW

ike-cipher-gost

NEW

ike-group-vko

 

ah-integrity-gost3411-hmac

NEW

ah-integrity-gost28147-hmac

NEW

esp-integrity-gost28147-hmac

NEW

esp-cipher-gost28147

NEW

esp-cipher-gost28147-4m-imit

NEW

esp-cipher-null

 

pfs-group-vko

 

 

Примечание: пустая ячейка в поле ”Старое значение” обозначает, что имя не изменилось; слово “NEW” обозначает, что значение раньше отсутствовало.

 

·       Описание логики работы с Cert request и посылки сертификатов в процессе IKE:

Название секции:  [auth_cert] 

Редактирование пользователем данной секции, как правило, не требуется, но возможно, при необходимости, изменить логику работы с Cert request и посылки сертификатов в процессе IKE.

·       Формат строк:

<param_name>=<param_val>

где

<param_name>:

 

send_request. По умолчанию <param_val>= ALWAYS.

send_cert. По умолчанию <param_val>= ALWAYS.

·       Описание переменных окружения, выставляемых для процесса cs_console:

Название секции:  [env]

·       Формат строк:<env_var_name>=<env_var_val>

Можно задавать любые перемнные окружения. На практике, как правило, нужно для выставления переменной PATH.

·       Редактирование пользователем данной секции, как правило, не требуется, но возможно при необходимости изменить переменную PATH или добавить какие-то свои переменные окружения (м.б. полезно для команды run).

 

5.   Варианты файлов, поставляемых в составе продукта:

Пример INI-файла cs_conv.ini для Gate (криптография ГОСТ («С-Терра»); стандартный режим; поставляется в составе продукта; вариант исполнения Linux):

[global_settings]

ike_autopass        = on

dpd_retries         = 5

tunnel_local_ip     = off

ipsec_reassemble_ip = on

preserve_ipsec_sa   = off

 

[algorithm_list]

 

ike-auth-gost-sig   = native:AuthMethodGOSTSign gui:"GOST R 34.10-2001 Signature" gui_default show:"GOST R 34.10-2001 Signature" default console:"GOST R 34.10-2001 Signature"

ike-auth-pre-share  = native:AuthMethodPreshared gui:"Pre-Shared Key" show:"Pre-Shared Key" console:"Pre-Shared Key"

ike-auth-sign       = SignByCaType gui:"Signature selected by CA type" show:"Signature selected by CA type" console:"Signature selected by CA type"

ike-hash-gost       = native:GR341194CPRO1-65534 gui:"GOST R 34.11-94" gui_default show:"GOST R 34.11-94" default console:"GOST R 34.11-94 Hash"

ike-hash-gost341112-256-tc26    = native:GR341112_256TC26-65128 gui:"GOST R 34.11-12 (256 bit keys)" show:"GOST R 34.11-12 (256 bit keys)" console:"GOST R 34.11-12 (256 bit keys) Hash"

ike-hash-gost341112-512-tc26    = native:GR341112_512TC26-65527 gui:"GOST R 34.11-12 (512 bit keys)" show:"GOST R 34.11-12 (512 bit keys)" console:"GOST R 34.11-12 (512 bit keys) Hash"

ike-cipher-gost     = native:G2814789CPRO1-K256-CBC-65534 gui:"GOST 28147-89" gui_default show:"GOST 28147-89" default console:"GOST - GOST 28147-89 Encryption."

ike-group-vko       = native:VKO_1B gui:"VKO GOST R 34.10-2001" gui_default show:"Oakley group:           VKO GOST R 34.10-2001" default console:"VKO GOST R 34.10-2001"

ike-group-vko2      = native:VKO2_1B gui:"VKO GOST R 34.10-2012 (256 bit keys)" show:"Oakley group:           VKO GOST R 34.10-2012 (256 bit keys)" console:"VKO GOST R 34.10-2012 (256 bit keys)"

ah-integrity-gost3411-hmac  = native:GR341194CPRO1-H96-HMAC-254 gui:"AH GOST R 34.11-94 HMAC96" console:"AH GOST R 34.11-94 HMAC96 transform"

ah-integrity-gost28147-mac  = native:G2814789CPRO1-K256-MAC-255 gui:"AH GOST 28147-89 MAC" console:"AH GOST 28147-89 MAC transform"

esp-integrity-gost3411-hmac = native:GR341194CPRO1-H96-HMAC-65534 gui:"ESP GOST R 34.11-94 HMAC96" console:"ESP transform using GOST R 34.11-94 HMAC96 auth"

esp-integrity-gost28147-mac = native:G2814789CPRO1-K256-MAC-65535 gui:"ESP GOST 28147-89 MAC" console:"ESP transform using GOST 28147-89 MAC auth"

esp-cipher-gost28147    = native:G2814789CPRO1-K256-CBC-254 gui:"ESP GOST 28147-89" gui_default console:"ESP transform using GOST 28147-89 cipher"

esp-cipher-gost28147-4m-imit = native:G2814789CPRO1-K288-CNTMAC-253 gui:"ESP_GOST-4M-IMIT" console:"ESP transform using ESP_GOST-4M-IMIT cipher"

esp-cipher-null     = native:NULL gui:"ESP NULL" console:"ESP transform w/o cipher"

pfs-group-vko       = native:VKO_1B gui:"VKO GOST R 34.10-2001" gui_default default console:"VKO GOST R 34.10-2001"

pfs-group-vko2      = native:VKO2_1B gui:"VKO GOST R 34.10-2012 (256 bit keys)" console:"VKO GOST R 34.10-2012 (256 bit keys)"

 

[auth_cert]

send_request            = ALWAYS

send_cert               = ALWAYS

 

[env]

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin