Клієнт відмовляється запускатися з помилкою опцій, у якій згадано ncp-disable, хоча профіль працював на попередній машині. Це повідомлення не означає, що опцію написано неправильно або що шифрування зламано. Воно означає, що бінарний файл перед вами взагалі не знає цієї директиви, і для цього є дві дуже різні причини. Яка з них діє, вирішує, чи будете ви правити профіль, чи змінювати клієнт.

Помилка може походити від новішого бінарного файлу

Помилка невідомої опції стосується парсера, а не тунелю. OpenVPN 2.4 додав узгоджувані параметри шифрування, 2.5 оголосив застарілим перемикач, який їх вимикав, а 2.6 повністю його видалив. Тому профіль, написаний для 2.3 або 2.4, зазнає невдачі на поточному клієнті, навіть якщо у файлі нічого не змінилося. Версія, яка скаржиться, новіша, а не старіша.

З'ясуйте, який виконуваний файл створив повідомлення, перш ніж щось редагувати. Настільний клієнт несе власний рушій, а окремо встановлений бінарний файл командного рядка має свою версію. Обидва можуть не збігатися на одній машині.

openvpn --version вирішує це для бінарного файлу, який ви тестуєте. GUI-клієнт може не показувати цю команду, тоді прочитайте його екран «Про програму» або версію вбудованої бібліотеки.

Чим насправді керувала опція

Директива вимикала узгодження криптографічних параметрів, тож обидві сторони поверталися до старішої поведінки вибору, керованої налаштуванням cipher. Вона ніколи не вимикала шифрування і ніколи не перетворювала тунель на відкритий текст. Читати її як перемикач безпеки — перший неправильний поворот, і він веде до змін, які роблять з'єднання гіршим, а не кращим.

Коли узгодження існує, еквівалентне питання — які шифри кожна сторона готова використовувати. Це питання політики, а політика живе в data-ciphers починаючи з 2.5.

Старіша назва ncp-ciphers належить 2.4. Змішування двох назв між сторонами — поширене джерело односторонніх збоїв узгодження. Профіль, що містить обидві, — це профіль, який редагували двоє людей у різний час.

Замініть політику, а не написання

Задайте data-ciphers на обох сторонах із передбачуваним спільним вибором і тримайте список достатньо коротким, щоб рецензент міг його осмислити. Зміна одного довільного рядка нічого не доводить; результат залежить від перетину обох списків і від того, що підтримує стек TLS. Підтвердьте згоду сторін, прочитавши узгоджений результат, а не конфігурацію. Потім запишіть обидва списки в журнал розгортання, щоб наступна зміна починалася з відомого стану.

Оновлюйте профіль через того, хто ним володіє. Додавання опції ігнорування, щоб приховати застарілу директиву, залишає питання політики без відповіді.

Якщо старішій стороні справді потрібна обробка сумісності, обмежте її цим розгортанням. Глобальне відновлення застарілої поведінки не є передумовою для з'єднання сучасних сторін. Виняток має називати сторону, для якої він існує.

Два рядки, які виглядають як список шифрів, але ними не є

Накладання двох рядків шифрів також не відновлює узгодження, і результатом стає профіль, який виглядає як список, але поводиться як одне значення. Рядок з AES-256-CBC і наступний з CBC — часта спроба. CBC сам по собі називає режим, а не алгоритм, тому парсер може прийняти його в одному місці й відкинути в наступному. Повторні директиви cipher задають ту саму опцію двічі замість накопичення кандидатів.

Перевіряйте прийнятні назви за допомогою openvpn --show-ciphers на цільовому бінарному файлі, а не копіюйте список із посібника, написаного для іншої гілки. Список змінюється між випусками. Назва, чинна в одній гілці, не обов'язково чинна в іншій.

Якщо метою було порівняння продуктивності, запишіть алгоритми й навантаження. Перехід на CBC не є вимірюванням відсутності шифрування.

Перевірте, що саме узгодило з'єднання

Підніміть нове з'єднання й прочитайте рядок каналу даних у журналі, де вказано використовуваний шифр. Набір каналу керування визначається окремо, тому дозволений список у файлі показує лише те, що було запропоновано. Коли обидві сторони обрали не те, що ви очікували, дивитися треба на списки, а не на інтерфейс тунелю. Підтвердьте результат на другому з'єднанні після будь-якої зміни, бо один перезапуск може повторно використати кешовану сесію.

Тримайте узгоджений результат у журналі розгортання поряд із версією профілю. Саме цей факт відповідає на наступне питання про те, який шифр справді захищає трафік.

Схожі статті