Компонент TLS Terminator

12 января 2026

ID tt_component

Компонент TLS Terminator, поставляемый в составе KasperskyOS Community Edition, обеспечивает защищенную передачу данных по сети между клиентом и сервером, используя протокол TLS (Transport Layer Security).

Компонент TLS Terminator встроен в сетевое взаимодействие между клиентом и сетевым VFS-бэкендом. Когда клиент использует сетевые функции из библиотеки libc, вызовы этих функций перенаправляются в компонент TLS Terminator. В компоненте TLS Terminator реализованы функции-обертки над стандартными вызовами сетевого VFS-бэкенда. Эти обертки обеспечивают установку TLS-соединений, шифрование исходящих данных перед их передачей в сетевой VFS-бэкенд и расшифровку входящих данных перед возвратом клиенту. Такая реализация компонента обеспечивает защиту данных при передаче по сети без необходимости изменения клиентского кода.

Принцип работы компонента TLS Terminator

Принцип работы компонента TLS Terminator

  • Клиент

    Вызывает функции из библиотеки libc (полный список поддерживаемых функций см. в таблице ниже), как если бы работал напрямую с сетевым VFS-бэкендом.

  • TLS Terminator

    Перехватывает от клиента вызовы функций из библиотеки libc и заменяет их на функции-обертки, реализующие TLS. Для управления TLS-соединениями используются библиотеки Mbed TLS и OpenSSL, которые реализуют криптографические алгоритмы и протоколы TLS.

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

  • Сетевой VFS-бэкенд

    Реализует сетевой стек.

  • Файловый VFS-бэкенд

    Реализует файловые системы.

API библиотеки libc, поддерживаемый компонентом TLS Terminator

Функции, отмеченные в таблице знаком *, имеют стандартное POSIX-поведение. Поведение остальных функции модифицируется компонентом TLS Terminator как указано в таблице ниже.

Модификация поведения функций библиотеки libc компонентом TLS Terminator

Для функций getsockopt() и setsockopt() в компоненте TLS Terminator введено значение IPPROTO_TLS для параметра level, которое отсутствует в POSIX. Это значение определено в файле /opt/KasperskyOS-Community-Edition-<platform>-<version>/sysroot-*-kos/include/netinet/in.h из состава KasperskyOS Community Edition. Синтаксис функций:

int setsockopt(int socket, int level, int option_name, const void *option_value, socklen_t option_len);

int getsockopt(int socket, int level, int option_name, void *restrict option_value, socklen_t *restrict option_len);

Параметр level определяет уровень на котором задано наименование параметра сокета option_name. Если при вызове функций getsockopt() и setsockopt() параметр level равен IPPROTO_TLS, то компонент TLS Terminator обрабатывает доступные для этого уровня наименования параметра сокета option_name из таблицы ниже.

Наименования параметра сокета и соответствующее им поведение функций

Если предоставляемая по умолчанию функциональность компонента TLS Terminator недостаточна, то ее можно расширить с помощью механизма плагинов. Подробнее см. "Расширение функциональности TLS Terminator".

Состав компонента TLS Terminator

Компонент представляет собой набор следующих файлов:

  • исполняемый файл /opt/KasperskyOS-Community-Edition-<platform>-<version>/sysroot-*-kos/bin/tls;
  • файл формальной спецификации /opt/KasperskyOS-Community-Edition-<platform>-<version>/sysroot-*-kos/include/kl/TlsEntity.edl и сгенерированный из него заголовочный файл;
  • файл описания политики безопасности решения /opt/KasperskyOS-Community-Edition-<platform>-<version>/sysroot-*-kos/include/kl/TlsEntity.psl.

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!