Заміна скомпрометованого ключа VPN: що має зробити сервер
Видалення файлу нічого не змінює на сервері. Заміна означає нову особу, яка працює, і стару, яку шлюз справді відхиляє, саме в такому порядку.
Втрачено ноутбук із клієнтським ключем, і першою дією зазвичай стає видалення локальної копії. Це нічого не змінює на сервері, який досі має авторизацію, що приймає цей ключ, доки хтось її не видалить. Заміна — це дві операції, і лише друга стосується старих облікових даних.
Локальна копія — не влада
Облікові дані VPN приймаються тому, що так задає конфігурація на боці сервера. Для сертифікатів це означає, що сертифікат вибудовується в ланцюжок до довіреного видавця і не значиться в списку відкликання, який перевіряє шлюз. Для WireGuard це означає, що відкритий ключ партнера вказано в конфігурації інтерфейсу. Видалення файлу на клієнті прибирає одну копію секрету і залишає правило приймання недоторканим.
Тому викрадений ключ продовжує працювати після очевидного прибирання, і тому інцидент здається невирішеним навіть після встановлення нової конфігурації.
Почніть із правила сервера, потім рухайтеся назовні, до клієнта.
Сертифікати: рішення ухвалює сервер
Випустіть заміну через власний процес видавця, щоб нова особа була зареєстрована, потім відкличте стару підписаним відкликанням. Шлюз має бути налаштований на перевірку цього джерела відкликання і має перечитати його, інакше файл лежить на диску, а тунель продовжує приймати старий серійний номер. Активні сесії теж можуть пережити до повторного узгодження, тому плануйте перепідключення.
Переконайтеся, що заміна працює для цільового застосунку, потім у межах затвердженого процесу переконайтеся, що виведений сертифікат більше не дає доступу.
Це два різні тести, і потрібні обидва. RFC 5280 визначає семантику сертифікатів і відкликання, на яку спирається шлюз.
WireGuard: ключ партнера — це особа
У WireGuard немає рівня сертифікатів: відкритий ключ партнера — це особа, а запис allowed-ips на сервері — авторизація. Видалення старого партнера з конфігурації інтерфейсу і є відкликання, і воно одразу діє для нових рукостискань.
Наявні сесії завершуються, коли наступне рукостискання не вдається, що зазвичай відбувається протягом кількох хвилин, а не миттєво.
Поширюйте нову конфігурацію каналом, якому довірили б пароль, бо закритий ключ і є облікові дані. Тримайте один ключ на пристрій, щоб один втрачений пристрій не змушував змінювати всі.
Що ще було в тому пакунку
Клієнтський пакунок часто несе більше, ніж закритий ключ: статичний ключ TLS, ім'я користувача й пароль, заздалегідь спільний секрет або токен підготовки. Обмежте інцидент тим, що справді розкрито, і змініть також ці елементи. Заміна сертифіката із залишенням спільного статичного ключа закриває одні двері й залишає відчиненими інші.
Якщо пакунок був спільним для кількох пристроїв, кожен пристрій, що його носить, успадковує розкриття.
Запишіть, що було змінено, бо наступний аудит це запитає.
Доведіть відмову, потім зафіксуйте заміну
Заміна завершена, коли виконуються два факти: нова особа працює для потрібної служби, а стара відхиляється. Перевірте другий виведеними обліковими даними з тестового середовища або контрольованою спробою, схваленою організацією, і прочитайте журнали шлюзу, щоб підтвердити: відмова надійшла з політики, а не через друкарську помилку. Потім зафіксуйте старий ідентифікатор, новий і час зміни, бо саме ці три значення потрібні аудитору для відтворення. Ніщо інше в заявці не пояснить цю прогалину.
Тримайте закриті ключі поза заявками й листуванням, і відповідно до політики видаліть застарілі вивантаження зі сховища й резервних копій.
Заміна без тесту відмови — це припущення, а не виправлення.