Преглед VPN сертификата без исписивања његовог кључа
Читајте јавна поља, датуме и отиске без штампања кључног материјала. Која је команда безбедна зависи од тога шта датотека садржи и ко прима излаз.
Читање јавних поља сертификата никада не захтева приказивање приватног кључа који му припада, а алати за то су део сваког система који завршава VPN. Ризик је корак раније: датотека коју сте добили можда уопште није сертификат. PEM сертификат, DER бинарна датотека, PKCS#12 пакет и OpenVPN профил могу доћи под истим именом и носити веома различит материјал, зато пре избора команде утврдите о каквом контејнеру је реч.
Која је команда безбедна одређују три чињенице: шта датотека садржи, шта из ње треба да прочитате и ко ће видети излаз. Ако погрешите у било којој од њих, сам преглед постаје инцидент.
Коју од три датотеке сте добили
PEM сертификат је текст са видљивим ознакама BEGIN и END, DER датотека је бинарна и захтева прекидач улазног формата, а пакет је контејнер који поред сертификата може носити кључ. file server.crt одваја текст од бинарног садржаја у секунди, а поглед на први ред одваја голи сертификат од профила који га садржи. Управо нагађање претвара преглед у инцидент.
Ако је датотека профил, а не сертификат, третирајте је као тајну док се не докаже супротно. Та претпоставка ништа не кошта и спречава најчешћу грешку у целом овом задатку.
Читање јавних поља PEM сертификата
За сертификат који смеете да прегледате, поткоманда x509 са -noout исписује поља која изаберете и ништа друго. Потискивање тела је оно што излаз задржава на метаподацима, што га и чини безбедним за лепљење у тикет. Селектори испод су јавни, а документација openssl x509 наводи остале.
openssl x509 -in server.crt -noout -subject -issuer -dates -fingerprint -sha256
На локално генерисаном пробном сертификату та команда исписује ред subject и issuer, пар notBefore и notAfter и један SHA-256 отисак. Та поља идентификују објекат; она не успостављају важећу путању поверења, што је одвојен задатак верификације са сопственом командом и сопственим одговором. Датотека ланца може исписати само први сертификат ако сами не прођете кроз датотеку. Поређење две датотеке на овај начин кошта једну команду и утврђује коју од њих друга страна заиста представља.
Пакети који поред сертификата носе кључ
Датотека .p12 или .pfx може носити приватни кључ, а команда за рашчлањивање га исписује ако тај део излаза не потиснете. Са -nokeys иста команда и даље пријављује структуру контејнера, укључујући замотану кесу са кључем, без испуштања било каквог кључног материјала; ако прекидач изоставите, блок кључа се појављује у терминалу и у историји шкољке.
openssl pkcs12 -in bundle.p12 -nokeys -info -passin env:P12PASS
OpenVPN профил уграђује исти материјал као текст, зато је граница видљива ако знате где да гледате. Јавни материјал стоји између BEGIN CERTIFICATE и END CERTIFICATE, док је све између BEGIN PRIVATE KEY и одговарајућег реда END кључ и не сме напустити домаћина. Копирање профила у целини објављује обоје.
Прибављање референтне вредности са другог места
Отисак прочитан са везе коју покушавате да верификујете не доказује ништа, јер га је доставила страна којој не верујете. То није аргумент против отисака; то је аргумент о пореклу. Упоредите вредност са оном добијеном кроз канал у који друга страна не може да пише, на пример са сертификатом објављеним у интерном складишту или хешем одштампаним у потписаном запису о измени.
Где складиште поверења обавља валидацију, пустите га, и прочитајте грешку коју производи уместо да је замените сопственим поређењем. Разлика која је важна је ко је доставио референцу, а не која хеш функција је коришћена.
Дељење резултата и шта радити после омашке
Пошаљите тачну грешку валидације, релевантне датуме и само податке о идентитету који су примаоцу потребни. Интерна имена домаћина и идентификатори налога остају осетљиви чак и када нема кључа, а јавна услуга за лепљење је погрешна дестинација за било шта од тога. Лептите у тикет, не у привремени бафер који неко други дели.
Ако се кључни материјал ипак појавио на екрану или у датотеци, третирајте га као компромитован и ротирајте га уместо да се надате да нико није погледао. Затим запишите прегледану датотеку, коришћену команду и где је излаз отишао, јер тај запис претвара страх у процедуру. Ротација је јефтина у поређењу са ценом претпоставке да нико није сачувао снимак екрана, и исти запис каже следећем инжењеру које су датотеке уопште додирнуте. Урадите обоје пре него што се тикет затвори.