Хтось повідомляє, що ключ VPN став публічним, і ця фраза приховує три зовсім різні ситуації. Це може бути сертифікат CA, який має бути в кожного клієнта, закритий ключ ідентичності, який ніколи не повинен був залишати одну машину, або спільний секрет каналу керування, який мають зберігати обидві сторони. Виправлення, терміновість і масштаб наслідків у кожному випадку різні, тому перше завдання — класифікація, а не дія. Помилитеся з категорією — і кожен наступний крок буде марною роботою.

Починайте з директиви, а не з імені файлу

Прочитайте активну конфігурацію і знайдіть, яка директива вказує на потрібний матеріал. Опції TLS у OpenVPN використовують ca для довіреного матеріалу сертифіката, cert для сертифіката локального вузла і key для пов'язаного з ним закритого ключа.

Імена файлів нічого не доводять. Файл з іменем key.pem може містити сертифікат, а вбудований блок у профілі може містити точно той самий об'єкт, що й окремий файл на диску. Відкрийте файл і подивіться на його заголовок, замість того щоб довіряти імені. Ця одна перевірка знімає більшу частину невизначеності у звіті.

Якщо профіль — це пакет PKCS#12, розпакуйте його в контрольованому місці, щоб побачити, що в ньому насправді. Один пакет може нести сертифікат, його ланцюжок і закритий ключ, а отже, витік пакета — це витік усіх трьох.

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

Сертифікат CA створений для того, щоб ним ділилися

Публічний сертифікат CA — це матеріал довіри. Клієнтам він потрібен для перевірки сервера, і його поширення — звичайна справа, а не інцидент. Його публікація не публікує закритий ключ підпису CA, а саме цей об'єкт дозволив би зловмиснику створювати нові ідентичності.

Цю різницю варто явно зафіксувати в заявці, бо ці дві речі постійно плутають. Питання, на яке треба відповісти, — це сертифікат чи ключ підпису, і швидкий погляд на вміст файлу вирішує його. Сертифікат містить відкритий ключ і підпис; ключ підпису в ньому взагалі не з'являється.

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

Ключ вузла і секрет tls-auth — це не

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

Секрет tls-auth — це третє. Він додає автентифікацію HMAC навколо пакетів каналу керування, щоб неправильно автентифіковані пакети відкидалися до обміну TLS, і це не закритий ключ вузла і не ключ, що шифрує дані застосунку.

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

Ремонтуйте роль, що витекла, а не сусідню

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

Якщо ідентичність вузла було розкрито, скористайтеся процедурою відкликання й повторної реєстрації оператора для цієї ідентичності. Зміна пароля не пов'язаного облікового запису не анулює скопійований сертифікат, і заміна файлу tls-auth також.

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

Оцінюйте минулий трафік за його власними умовами

Відкритий файл сам по собі не каже, чи можна розшифрувати раніше перехоплені сесії. Це залежить від методу встановлення ключів, розкритого матеріалу і того, які записи існують, і обидва твердження — «увесь трафік втрачено» і «нічого не сталося» — здогадки без цих фактів.

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

Корисний висновок називає об'єкт, його роль, втрачений захист і потрібну узгоджену дію. Усе коротше — це заголовок, а не оцінка.

Схожі статті