Парола-фраза за SSH ключ пази файла, а не маршрута
Паролата-фраза криптира файла с частния ключ; тя не отменя идентичността и не защитава маршрута. Отделно съхранение, живот на агента и работа без надзор.
Резервен диск от стар лаптоп все още съдържа частен SSH ключ и някой пита дали VPN го защитава. Не го защитава и никога не го е защитавал. VPN защитава път между две мрежи; паролата-фраза защитава файла; агентът защитава работеща сесия. Три различни механизма, три различни режима на отказ и откраднато копие го интересуват само първите два.
Паролата-фраза принадлежи на файла
Паролата-фраза на SSH ключ криптира материала на частния ключ в покой. Тя не е паролата на акаунта, изпращана към сървъра, и не е идентификационните данни за включване към VPN. Объркването им води до промени, които не решават излагането.
Ръководството на OpenSSH за ssh-keygen обхваща работата с пароли-фрази, включително превключвателя -p, който задава нова парола-фраза на вече съществуващ ключ.
За съществуващ ключ формата на командата е проста и тя презаписва файла:
ssh-keygen -p -f ~/.ssh/id_ed25519
Използвайте одобрения от собственика на ключа процес за поддръжка и възстановяване, защото това е запис, а не проверка. Не публикувайте частния файл и не поставяйте истинска парола-фраза на споделен команден ред. Промяната на паролата-фраза не прекриптира копие, направено по-рано. Запазете местоположението на старото копие в заявката, за да реши собственикът дали да го унищожи.
Копието надживява лаптопа и тунела
След като файлът с ключ е копиран, активната VPN връзка на лаптопа вече не казва нищо за него. Важно е колко добре е защитен самият файл и кои сървъри все още се доверяват на съответния публичен ключ.
Промяната на паролата-фраза на текущия файл не засяга копието и не премахва същия публичен ключ от authorized_keys на сървър. Отмяната и прекриптирането са отделни действия.
Затова третирайте изтекъл частен ключ като събитие за идентичността, а не мрежово събитие. Премахнете или заменете приетия ключ чрез сървърите и процеса на регистрация, които го притежават. Спирането на VPN ограничава един маршрут в един момент; то не е отмяна.
Отключването премества тайната в агент
Агентът държи дешифрирани идентичности за последваща автентикация, така че потребителят не въвежда паролата-фраза при всяка връзка. Това е удобство с собствена граница за сигурност.
ssh-agent може да ограничи колко дълго идентичността остава заредена чрез опцията -t, а настройка за отделна идентичност може да надвиши това ограничение. Изберете политика за агента, който наистина използвате, вместо да предполагате, че прекъсването на VPN забравя всеки зареден ключ.
Процес, компрометиран след отключването на ключа, е различен проблем от откраднат криптиран файл. Препращането на агента към друг хост делегира възможност за автентикация без копиране на файла с ключа, затова го включвайте само при одобрена нужда.
Избройте какво държи агентът в момента преди и след промяна:
ssh-add -l
Задачите без надзор се нуждаят от собствен план
Планирана задача не може да отговори на подкана. Тя се нуждае от одобрена схема за машинни идентификационни данни и съхраняването на тайната за отключване в същата директория като ключа, достъпна за същия акаунт, не създава втора граница.
Работете със собственика на услугата за поддържано доставяне на тайни или хардуерна работа и обхванете подновяване, отказ и възстановяване. Желанието човек да е на клавиатурата променя как изглежда отказът в сравнение с хост, който стартира без наблюдение.
Запазете и проверката на идентичността на хоста на сървъра, и ограниченията на акаунта. VPN маршрутът ви дава частен път; той не доказва, че всеки SSH слушател, до който стигате, е хостът, който сте имали предвид. Запишете слушателя и отпечатъка на ключа на хоста в същия инвентар като самия ключ.
Проверявайте границите поотделно
Тествайте всяка граница със собствен въпрос. Отваря ли се файлът без паролата-фраза? Държи ли агентът идентичността след прекъсване? Приема ли сървърът публичния ключ?
Две команди отговарят на първия и третия:
ssh-keygen -y -f ~/.ssh/id_ed25519
ssh -v [email protected]
Запишете защитата на файла, разрешеното използване на ключа и премахването от страна на сървъра като три отделни реда. Тунелът, паролата-фраза и агентът пазят различна част от връзката и само една от тях е за мрежата.