Ваш профіль VPN містить не лише налаштування, а й закритий ключ
Адреси серверів стоять поряд із закритими ключами, вбудованими секретами й токенами. Перш ніж вставляти профіль у гілку підтримки, дізнайтеся, які рядки є ідентичністю.
Кожен, хто вставляє профіль VPN у гілку форуму, виходить із того самого переконання. У файлі лише адреса сервера й кілька параметрів, тому поділитися ним здається таким самим безпечним, як поділитися номером телефону. Потім хтось читає його й знаходить незашифрований закритий ключ у четвертому рядку.
Профіль — це не документація про тунель. Це ідентичність тунелю, виписана.
Об’єкти у файлі не мають однакового рівня секретності
Публічний сертифікат CA призначений для передавання. Закритий ключ клієнта — ні. Коли обидва опиняються в одному файлі, нешкідливий змушує все вкладення виглядати безпечним. У цьому й пастка.
OpenVPN за своєю будовою погіршує це. Він дозволяє вбудовувати сертифікати, ключі й матеріали автентифікації просто у файл. Це зручно для розгортання і катастрофічно для передавання. Файл, який починається з читабельного блоку сертифіката, продовжується в закриту половину.
WireGuard каже про це пряміше. Розділ інтерфейсу містить закритий ключ, а кожен peer може додатково нести заздалегідь спільний ключ. Жодної двозначності щодо того, які рядки важливі, немає. Важливий майже кожен рядок.
Знімок екрана — це той самий витік в іншому форматі
Кодування конфігурації як QR-коду не робить її попереднім переглядом. Код несе ті самі байти, і будь-яка камера телефона в кімнаті може його розшифрувати. Те саме стосується знімка вікна конфігурації клієнта, де ключ читається в куті.
Файли автентифікації та зазначені шляхи до ключів належать до того самого аудиту. Профіль, що вказує на зовнішній файл, не стає автоматично безпечнішим, бо шлях може вести туди, куди дістане читач. Токен у файлі автентифікації такий самий придатний, як пароль, і рідко виглядає як він.
Надсилайте текст помилки, а не ключ
Для діагностики потрібні текст помилки, версія клієнта й назви випробуваних параметрів. Ключ не потрібен. Напишіть питання з цими трьома речами й замініть кожен секрет і кожен непотрібний мережевий ідентифікатор, перш ніж файл покине вашу машину.
Розділ посібника OpenVPN про вбудовані файли — корисна карта того, де розташовані ці об’єкти. Він також нагадує, скільки їх може містити один профіль.
# which lines in this profile look like secrets?
grep -n -E 'PrivateKey|PresharedKey|password|auth-user-pass|BEGIN .*PRIVATE KEY' wg0.conf
# OpenVPN: show the structure without printing key material
awk '/BEGIN/{print NR": "$0} /^[a-z-]+ /{print NR": "$1}' office.ovpn
Потім прочитайте остаточне вкладення, а не покладайтеся на пам’ять про правку. Ключі ховаються в пізніших блоках, у невимащеному коментарі та в рядку, який ви визнали структурним.
Після розкриття ротація — єдині ліки
Видалення публікації нічого не відкликає. У того, хто отримав файл, усе ще є чинні облікові дані, тому видавець має відкликати або замінити їх через власний процес сервісу. Видалення локальної копії нічого не змінює на далекому кінці.
Зберігайте робочі профілі захищеним способом і навмисно видаляйте застарілі імпортовані записи, а не залишайте три копії в теці завантажень. Профіль, яким ви більше не користуєтеся, лишається обліковими даними, доки його не відкликано.
Звичка, яку варто виробити, мала. Перш ніж будь-який профіль покине машину, запитайте, що ще в ньому є, крім адреси, і дайте відповідь, прочитавши файл, а не пригадуючи його.