OpenVPN GUI сохранил мой пароль Windows: где он лежит
Поставьте галочку «запомнить меня», и логин попадёт в реестр пользователя, файл профиля или скрипт, и каждому месту нужна своя очистка, если ноутбук пропадёт.
Диалог подключения предлагает флажок «запомнить», и если его поставить, данные учётной записи переходят из головы пользователя в машину. Интерфейс никогда не говорит, куда именно. В Windows кандидаты — это область реестра текущего пользователя, файл профиля, который уже содержит логин, и то, что делает скрипт автоматизации. У каждого места свой читатель, свой режим отказа и своя очистка, поэтому полезный вопрос — какой процесс может вернуть секрет и на сколько. Проследите флажок от диалога наружу, а затем решите, что на самом деле раскрывает потерянный ноутбук.
Начните с флажка в диалоге подключения
Запомненные значения хранятся по профилям и учётным записям Windows в улье пользователя, а не в общем хранилище машины. Поэтому второй пользователь на том же компьютере не видит сохранённого логина, и поэтому переустановка клиента не обязательно удаляет сохранённую запись.
Сам файл профиля хранит сервер, порт и настройки, но не секрет, поэтому люди сначала смотрят не на тот артефакт. Удаление профиля убирает подключение и оставляет учётные данные. Это самая частая неожиданность при очистке. Удаляйте оба артефакта, а не один.
Что раскрывает значение реестра
Имя учётной записи хранится читаемым текстом, поэтому всё, что работает от имени этого пользователя, может его декодировать без особого вызова. Пароль иной: он запечатан Windows DPAPI, привязан к учётной записи и, в зависимости от флагов, к конкретной машине. Поэтому перенос запечатанного блока на другой компьютер и его повторное воспроизведение не даёт пригодного секрета.
Перечисление значений отвечает на рабочий вопрос, не касаясь самого секрета. Ничего не нужно расшифровывать, чтобы подтвердить наличие записи. Список служит и записью «до и после» для очистки.
reg query "HKCU\Software\OpenVPN-GUI\configs" /s
cmdkey /list | findstr /i vpn
reg query "HKCU\Software\OpenVPN-GUI" /s | findstr /i "username password"
Две границы стоит назвать прямо. Процесс в той же сессии входа может вызвать ту же процедуру снятия защиты, что использует клиент, поэтому запечатывание — защита в покое, а не от скомпрометированного рабочего стола. А без полного шифрования диска запечатанное значение приватно ровно настолько, насколько приватен диск.
Когда файл профиля уже содержит логин
Некоторые порталы выдают конфигурацию с вписанными именем учётной записи и паролем, поэтому клиент подключается молча. В этот момент файл — работающие учётные данные, и каждая его копия — ещё один ключ к той же двери.
Такие файлы попадают в резервные копии, переписки и синхронизируемые папки, и ни одна из этих копий не перестаёт работать после удаления оригинала. Правка локального файла ничего не меняет в остальных. Отзыв доступа означает смену пароля на сервере, и сделать это нужно быстро. Очистка на одном ноутбуке — отдельная, меньшая задача.
Где запрос приемлем, предпочитайте его и используйте настройки кэширования клиента. Если заранее заполненный профиль действительно нужен, держите его вне синхронизируемых папок и удаляйте по завершении работы.
Автоматизация переносит секрет в другое место
Скрипты добавляют два канала: аргументы процесса и синтетические нажатия клавиш. Файл, названный в командной строке, виден всему, что умеет читать аргументы процесса или права файла, а пароль, набранный инструментом, уходит в окно, которое сейчас в фокусе. Один опубликованный пример набирает пароль рабочего стола именно так перед запуском клиента. Сохранённое зерно одноразового пароля заслуживает такой же заботы: оно может создать любой будущий код и переживает один вход.
Лучший шаблон хранит секрет там, где его может прочитать только служебная учётная запись, полагается на документированные параметры клиента для повторной попытки и источника учётных данных и избегает внедрённого набора при запросах привилегий. Если скрипту нужен пароль рабочего стола для повышения прав, это вопрос проектирования привилегий, а не VPN.
Очистка после потери устройства
Сначала отзовите или отключите учётную запись на сервере, потому что локальное удаление не может аннулировать копию, которая уже у кого-то есть. Затем очистите запомненные значения реестра, удалите профиль и любые файлы учётных данных, и обыщите историю оболочки и каталоги скриптов на вставленные пароли.
Запишите, что было удалено и когда закончился доступ. Эта пара отвечает на единственный вопрос разбора инцидента: работала ли ещё какая-нибудь копия учётных данных после ухода устройства.