Порти менуваат сертификати, а клиентот што се поврзуваше вчера почнува да запира на првата TLS размена. Пораката наведува причина за проверка, а не мрежна грешка, и самата машина не е променета, што е корисната трага. Она што се скрши е односот меѓу сертификатот што сега се прикажува и корените што клиентот е подготвен да ги земе предвид. Да се поправи тоа е одлука за доверба, затоа донесете ја пред да напишете опција.

Прочитајте го неуспехот пред да промените било какво поставување за доверба

Грешка од типот отсутен потписник значи дека синџирот завршува на нешто што клиентот не го прифаќа. Тоа може да е обновен сертификат од внатрешен орган, замена од јавен, или уред во средината што го прикажува сопствениот сертификат. Само формулацијата не може да ги разликува тие случаи, затоа погледнете го издавачот пред да одлучите.

Стартувајте ја врската еднаш во преден план и оставете ја да не успее, бидејќи интерактивниот излез го носи името на серверот, синџирот на издавачот и отпечатокот што го пресметал клиентот. Споредете го тој издавач со орган што вашата организација навистина го управува. Ако отпечатокот се променил, а издавачот не, третирајте го како сомнително додека обновата не се потврди преку канал на кој веќе му верувате. Да се погодува во овој момент е начинот на кој човек завршува со прицврстување на клучот на пресретнувач.

Запишете ја верзијата на клиентот во истата белешка. Голем дел од неуспесите што изгледаат како проблеми со доверба доаѓаат од постар клиент што среќава понова размена на портата.

Изберете меѓу доверба во издавачот и прицврстување на еден клуч

Двете опции ја прават врската успешна. Тие подоцна се кршат на спротивни начини, затоа изборот и припаѓа на грешката што можете да ја поднесете.

ApproachGood fitWhat breaks it
Trust the issuing CA with --cafileInternal PKI you can obtain over an already trusted channelCA rotation, or a client that still falls back to public roots
Pin one key with --servercertNo CA relationship, or exactly one key should ever be acceptedAny reissue that generates a new key pair

Посегнете по CA датотеката кога сертификатот доаѓа од орган што можете независно да го проверите, бидејќи обновите тогаш продолжуваат да работат без допирање на аргументите на клиентот. Спарете ја со прекинувачот што ги исклучува системските корени, инаку јавен орган може да ја задоволи проверката наместо вас. Прицврстете наместо тоа кога портата нема CA што можете да ја набавите или кога целта е најтесниот можен исклучок. Ниту еден пат не е посигурен во апстрактна смисла: CA се шири низ обновите, прицврстувањето е полесно за преглед.

Кој и да го изберете, доверливата вредност мора да пристигне преку канал на кој му се верувало пред промената. Администратор, конзолна сесија на портата или однапред земена копија — сите се прифатливи. Копирањето на кој и да е отпечаток што го покажува барањето е погодно и е токму она што го очекува пресретнувач.

Ставете ја вредноста во командата што навистина ја стартувате

Прицврстувањето патува во опција за серверски сертификат, а неговиот префикс го одредува кодирањето: хексадецимални дигести на јавен клуч под sha1 или sha256, и base64 прицврстување на клуч под pin-sha256. Неговото наведување исто така ја исклучува системската доверба за тоа извршување, така што прицврстениот клуч станува цела одлука.

sudo openconnect --protocol=gp vpn.example.com --user alice \
  --servercert pin-sha256:AbCdEf...   # single key pin
sudo openconnect vpn.example.com --cafile /etc/ssl/internal-ca.pem --no-system-trust

Клиентот совпаѓа скратен дигест, прифаќајќи само четири знаци по префиксот, што е стапица, а не погодност. Скратената вредност поминува локално и уште не ја идентификува портата што сте ја намениле. Копирајте ја целата низа што клиентот ја испечати при првиот обид, наместо да ја препечатите од порака. Потоа преместете ја готовата опција во обвивната скрипта, unit датотеката или профилот што ја стартува врската, за да може одлуката за доверба да се прегледа, а подоцнежните измени да бидат намерни.

Десктоп стартерите и додатокот NetworkManager чуваат своја копија од аргументите за врската. Скрипта уредена на дискот не стигнува до профил увезен порано, така што зачуваната вредност продолжува да победува.

Справете се со промена без да се заклучите надвор

Опцијата може да се даде повеќе од еднаш, така што планирана промена може да ги прифати излезниот и влезниот клуч заедно. Додајте го новото прицврстување пред портата да се префрли, држете ги двете наведени додека сесиите се преселуваат, и отстранете го пензионираниот кога стариот клуч ќе исчезне. Тој прозорец бара сопственик, бидејќи заборавено двојно прицврстување остава клуч доверлив без никој да го надгледува. Преизградба што создава нов пар клучеви го крши чистото прицврстување, а враќањето е истата постапка во спротивна насока.

Напишете го датумот на промената покрај прицврстувањето. Прицврстување без датум за преглед е иден прекин со збунувачка порака за грешка.

Исклучете ја верзијата на клиентот пред да уредувате доверба

Застарен клиент може да не успее додека парсира одговор за автентикација што портата оттогаш го изменила, а површинската порака уште зборува за врската, не за парсерот. Споредете ја инсталираната верзија со она што портата го документира, и тестирајте тековен пакет во еднократен профил пред да промените било какво поставување за доверба.

openconnect --version

По поправката, проверете две нешта наместо едно: порталот се вчитува низ тунелот, и обична внатрешна адреса одговара. Завршеното ракување докажува само дека одлуката за доверба е прифатена.

Поврзани статии