Архитектура программного комплекса

Функционально ПК «С-Терра Шлюз ST. Версия 4.3» состоит из следующих основных частей:

      VPN daemon (демон).

      VPN driver или IPsec driver (драйвер).

•   Консоль разграничения доступа (CLI разграничения доступа).

      Cisco-like консоль (CLI консоль).

      Command Line Utilities (утилиты).

   Клиент управления КП.

   База Продукта.

 

Рассмотрим основные части.

Демон (vpnsvc) - основная часть Продукта, которая реализует протокол IKE, обеспечивает работу с базой IPsec SA, взаимодействует с драйвером, загружая в него конфигурационную информацию и обрабатывая его запросы на создание SA. Кроме этого, в демоне выполняется вся работа с сертификатами, событийное протоколирование, сбор статистики и реализована поддержка протоколов SNMP, LDAP, SYSLOG.

Работой демона управляет специальное описание - Local Security Policy (LSP). LSP (или “native configuration”) имеет текстовое представление и может быть загружена в демон пользователем консоли или при помощи утилит. При загрузке новой LSP все существующие SA уничтожаются.

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

При загрузке LSP, параметры фильтров и описание действия, которое необходимо выполнить с пакетом, загружаются демоном в драйвер.

В случае если LSP-описание не загружено, выгружено специально или отсутствует, будет применяться политика DDP (Default Driver Policy - политика драйвера по умолчанию).

Консоль разграничения доступа - разграничивает права доступа пользователей к управлению программным комплексом.

Cisco-like консоль - предоставляет пользователю интерфейс в стиле командной строки Cisco IOS. Набор команд консоли является подмножеством команд IOS с некоторыми ограничениями функциональности и с небольшими дополнительными возможностями. Как и у IOS, у консоли есть привилегированный и конфигурационный режимы (configure terminal). Однако, следует отметить, что (в отличие от IOS) изменения настроек вступают в действие не сразу, а только после выхода из конфигурационного режима. В этот момент Cisco-like конфигурация автоматически конвертируется в native-конфигурацию и загружается в vpnsvc. Таким образом, консоль включает в себя:

      интерфейс командной строки для ввода команд конфигурации;

•   интерпретатор команд, родственных Cisco;

      обработчик конфигурации. Формирует и обрабатывает конфигурацию из команд консоли и передает ее конвертору.

CLI консоль, на самом деле, является специальным shell-ом по умолчанию для предопределенного пользователя ”cscons“ и всех пользователей, которые создаются в CLI конфигурации.

Утилиты служат для общего управления Продуктом. Они позволяют загружать и просматривать LSP, регистрировать в Продукте сертификаты и ключи, получать различную информацию о текущем состоянии Продукта и др.
Утилиты могут быть вызваны из Cisco-like консоли или консоли разграничения доступа с использованием специальной команды run.

Клиент управления КП - клиентская часть ПК «С-Терра КП. Версия 4.3», устанавливается на управляемое устройство с инсталлированным продуктом С-Терра Шлюз. В состав ПК «С-Терра КП. Версия 4.3» входит Сервер управления, устанавливаемый на выделенный компьютер и предназначенный для управления процессом обновления VPN продуктов (производимых компанией ООО «С-Терра СиЭсПи»), инсталлированных на управляемых устройствах, и их настроек.

База Продукта - в ней хранятся сертификаты, предопределенные ключи, список интерфейсов, локальные настройки различных модулей, локальная политика безопасности и др.

Пример взаимодействия описанных компонентов

Перед созданием конфигурации с помощью Cisco-like консоли, нужно зарегистрировать локальный сертификат в базе Продукта, используя утилиту. Затем запустить Cisco-like консоль и создать в ней конфигурацию. При выходе из конфигурационного режима Cisco-like консоли конфигурация конвертируется, загружается на шлюз безопасности и хранится в базе Продукта. Используя утилиту, конфигурацию можно выгрузить из шлюза безопасности, и при этом загрузится политика DDP. Выгруженную конфигурацию можно опять загрузить на шлюз.