Вашият профил за 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
След това прочетете окончателното прикачено, вместо да вярвате на паметта си за редакцията. Ключовете се крият в по-късни блокове, в нередактиран коментар и в ред, който сте решили, че е структурен.
След компрометиране ротацията е единственото поправяне
Изтриването на публикацията не отменя нищо. Онзи, който е получил файла, все още има работещо удостоверение, затова издателят трябва да го отмени или замени чрез собствения процес на услугата. Премахването на локално копие не променя нищо от отсрещната страна.
Съхранявайте работещите профили по защитен начин и премахвайте остарелите импортирани записи нарочно, вместо да оставяте три копия в папка за изтегляния. Профил, който вече не използвате, все още е удостоверение, докато не бъде отменен.
Навикът, който си струва да изградите, е малък. Преди който и да е профил да напусне машината, попитайте какво друго има в него освен адреса, и отговорете, като прочетете файла, а не като го помните.