Самопотписани клијентски сертификат? VPN сервер га и даље одбија
Клијентски сертификат мора да се повеже са CA којој сервер верује, а самопотписани то никада неће. Ево шта CSR може да уради и шта треба тражити.
Оператер шаље адресу и корисничко име, а клијент тражи датотеку CA, сертификат и кључ. Генерисање та три локално изгледа као очигледан следећи корак. Добијате сертификат у који верује само ваш рачунар. Поверење сервера је усидрено у CA коју не контролишете, па руковање завршава пре него што почне.
Поверење живи на серверу, не у вашем профилу
Аутентификација сертификатом је поређење. Клијент представља сертификат; приступник проверава да ли га је потписала нека од CA у његовој конфигурацији.
Ваш профил наводи датотеку CA коју клијент треба да користи за проверу сервера. Он не може да наведе CA коју сервер треба да користи да провери вас. Та половина конфигурације није ваша.
Самим направљен сертификат пада на овом поређењу чак и када је технички беспрекоран. Има важећи потпис, субјекат и датуме, али издавалац је CA за коју приступник никада није чуо. Грешка се појављује током руковања, након што је сервер већ затражио сертификат. Ништа у клијентском профилу не може да промени одговор.
Зашто самопотписани сертификат не може да га замени
Самопотписани сертификат је потписан сопственим кључем. Потпис се проверава према истој датотеци, што га чини самоусклађеним и бескорисним као акредитив за туђи приступник.
Приступник не пита да ли је сертификат унутрашње усклађен. Пита да ли га је потписао поуздан издавалац.
Зато су поруке о грешкама збуњујуће. Клијент може да пријави неуспех провере који звучи као проблем сервера, док сервер бележи непознатог издаваоца. Оба описују исту неусклађеност са супротних страна.
Пут преко CSR-а чува ваш приватни кључ
Још увек можете да обавите већину посла локално. Генеришите пар кључева, направите захтев за потписивање сертификата око јавне половине и пошаљите тај захтев оператеру. Само захтев напушта ваш рачунар. Приватна половина остаје тамо где сте је направили.
openssl req -new -newkey rsa:3072 -nodes -keyout client.key -out client.csr -subj "/CN=laptop-01"
Оператер потписује захтев својом CA и враћа сертификат. Ваш приватни кључ никада није путовао, а резултат се повезује са сидром ком приступник верује.
Управљане услуге често прескачу CSR и издају цео пакет. То је разумна размена када исти провајдер већ завршава тунел и држи CA. Чување кључа се не побољшава тиме што га задржавате, јер провајдер може у сваком тренутку да искује нови.
Пакети се увозе, не инсталирају
Пакети добављача са безбедносним именима често су OpenVPN профили. Садрже конфигурацију и понекад сертификате и не инсталирају ништа. Увезите датотеку у клијент који говори протокол и веза је конфигурисана.
Правило руковања произилази из садржаја. Ако профил уграђује приватни кључ, то је акредитив и заслужује исту пажњу као лозинка: без е-поште, без складишта, без дељене фасцикле за преузимања. Када оператер достави ca.crt, client.crt и client.key одвојено, чувајте их заједно са ограниченим дозволама и усмерите профил на њих.
Додајте провере које је оператер можда прескочио
Профил који генерише рутер понекад нема проверу партнера. remote-cert-tls server захтева да сертификат партнера носи намену аутентификације сервера, тако да клијентски сертификат не може да се репродукује као сервер. Та једна линија је мала измена са јасним образложењем.
verify-x509-name иде даље када оператер може да наведе очекивани субјекат или SAN. Оба су мали додаци профилу и оба су одбрањива. Прегледајте шта сте добили пре него што то увезете.
openssl x509 -in client.crt -noout -issuer -subject -dates
openssl verify -CAfile ca.crt client.crt
Подешавања провере нису поправка прекинутог ланца. Ако је издавалац погрешан, одговор је сертификат од праве CA, а не заставица која искључује проверу. Искључивање провере претвара неуспех аутентификације у неоткривен.
Затражите један пакет: сертификат органа као PEM, клијентски сертификат који је тај орган потписао, кључ који сте генерисали или који је стигао каналом ком верујете, и тачно име сервера које сертификат треба да представи. Забележите датум истека у истој поруци, јер истекао сертификат месецима касније изгледа као мрежни квар.