Строка журнала, в которой указан DHE-RSA-AES256-SHA, не является сводкой всего соединения. Она относится к TLS-рукопожатию, которое защищает управляющий канал, а трафик внутри туннеля может быть зашифрован совсем иначе. Выдавать её за шифр данных VPN — ошибка, которой нужно избегать.

Важны два результата, и они отвечают на разные вопросы. Один — согласованный набор TLS для управляющего канала; другой — шифр данных для пакетов, которые несёт туннель.

Два результата, два вопроса

Управляющий канал несёт рукопожатие и управляющие сообщения между сторонами. Его шифр выбирает стек TLS, поэтому имя следует соглашениям TLS. Канал данных несёт пользовательский трафик, и его настраивает собственное согласование шифра OpenVPN.

Решите, на какой вопрос вы отвечаете, прежде чем читать любую из строк. Зашифрован ли туннель и является ли рукопожатие надёжным — это не один и тот же вопрос.

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

Разберите имя набора TLS в его собственном контексте

В историческом имени в стиле OpenSSL, таком как DHE-RSA-AES256-SHA, каждый компонент описывает отдельное решение. DHE — это эфемерное согласование ключей Диффи — Хеллмана, RSA — метод аутентификации, AES256 — AES-256 в режиме CBC для записей TLS, а SHA — MAC записи на основе SHA-1.

Последний компонент не является отпечатком сертификата, и читать его так — распространённая ошибка. Имя также само по себе не указывает версию протокола, потому что TLS 1.3 использует совершенно другую схему именования. TLS_AES_256_GCM_SHA384 следует более новой форме, где завершающий хеш входит в построение набора, а не является выбором MAC. Применяйте разбор по компонентам только к старому стилю именования.

Справочник наборов OpenSSL сопоставляет эти имена их определениям, если какой-то компонент незнаком.

Прочитайте результат канала данных для переносимого трафика

Для переносимого трафика читайте строку канала данных из той же сессии. Список data-ciphers в конфигурации — это разрешённый набор, а не доказательство того, что был согласован конкретный алгоритм. Журнал фиксирует выбор; конфигурация перечисляет меню.

Шифр AEAD, например AES-GCM, несёт собственную проверку целостности, поэтому отдельный HMAC канала данных не входит в этот путь.

Директива auth не обновляет TLS, сертификаты или шифр данных. Она выбирает дайджест для тех частей протокола, которые всё ещё его используют, а при шифре данных AEAD отдельного HMAC данных настраивать не нужно.

Держите проверки идентичности за пределами результата шифра

Алгоритм подписи сертификата, проверка цепочки доверия и проверка имени партнёра — это ещё три свойства, о которых имя шифра ничего не говорит. Просроченный сертификат не проходит независимо от того, насколько силён набор. Несовпадающее имя сервера не проходит так же. Исправление настройки дайджеста в профиле не исправляет ни того, ни другого.

Держите эти проверки в заметках к обзору рядом с результатом шифра, а не слитыми с ним.

Запишите согласованные результаты текущей сессии

Возьмите результаты текущего соединения и запишите вместе с ними версии клиента и сервера. Журнал только с дописыванием может содержать строку более старой сессии, и цитировать её как текущую — это способ, которым исправленная проблема выглядит сохраняющейся.

Для обзора политик передайте владельцу конфигурации согласованные версию и набор TLS, выбранный шифр данных и настройки проверки сертификатов вместе. Измените этот слой, а затем прочитайте новый журнал, чтобы подтвердить новые согласованные значения.

Похожие статьи