Перейти к содержанию

Архитектура системного ГОСТ strongSwan в НАЙС.ОС

Компоненты и потоки данных

                         Администратор
                            swanctl
                               |
                    /run/strongswan/charon.vici
                               |
                    charon (systemd service)
        +----------------------+-----------------------+
        |                      |                       |
    niceos-gost        x509/revocation/curl     socket-default
  AEAD, KE, PRF, GOST  PKI/CRL/HTTPS             UDP 500/4500
        |                      |
        +-------- kernel-libipsec +---- ipsec0 (TUN)
                           |
                 защищённые IP-пакеты

charon согласовывает IKEv2, принимает и создаёт SA; swanctl управляет через VICI; модуль niceos-gost предоставляет шифры и ГОСТ X.509; kernel-libipsec реализует ESP в пространстве пользователя. Статистика ipsec0 и SA отражает обработанный трафик.

Системные компоненты проверенной установки

/usr/libexec/strongswan/charon
/usr/sbin/swanctl
/usr/lib/ipsec/plugins/libstrongswan-niceos-gost.so
/run/strongswan/charon.vici
/etc/strongswan.conf
/etc/swanctl/swanctl.conf
/etc/swanctl/conf.d/*.conf
/etc/pki/niceos-gost/engine.cnf

Физический IPsec-обмен использует UDP 500/4500. При encap = yes и kernel-libipsec.raw_esp = no тестовый профиль передаёт ESP через UDP, а не чистым протоколом ESP 50. На ipsec0 появляется уже расшифрованный IP-трафик. Эффективная защита требует правильного маршрута и firewall, иначе ОС может выбирать default route.

Два независимых слоя доверия

  1. IKEv2 X.509: удостоверяющий центр с ГОСТ-подписью, сертификат узла, CA, CRL и политика revocation = strict.
  2. HTTPS для скачивания CRL: отдельная TLS цепочка удостоверения сервера, доверенная библиотеке libcurl. В лаборатории TLS использовал отдельную тестовую RSA CA; сама CRL оставалась подписана ГОСТ. В продуктиве криптопрофиль TLS устанавливается отдельной политикой.

Сквозные тесты подтвердили получение CRL самим charon, но не фоновый сервис непрерывного мониторинга сертификатов. При изменении CRL старые IKE SA не обязаны немедленно завершаться.

Реализация vs исходный код

Эта документация охватывает готовый системный RPM. Не нужно собирать charon отдельно, менять LD_LIBRARY_PATH или задавать рабочие пути проекта разработчика. Source-build окружение предназначено только для внутренних разработчиков; пользовательская установка и эксплуатация описаны в начале работы.