Шлюзы замяняюць сертыфікаты, і кліент, які падключаўся ўчора, пачынае спыняцца на першым абмене 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

Кліент супастаўляе ўрэзаны хэш, прымаючы ўсяго чатыры знакі пасля прэфікса, што ёсць пасткай, а не зручнасцю. Скарочанае значэнне праходзіць лакальна і ўсё адно не вызначае шлюз, які вы мелі на ўвазе. Капіруйце поўны радок, які кліент надрукаваў пры першАй спробе, замест перадруку з паведамлення. Затым перанясіце гатовую опцыю ў скрыпт-абгортку, файл юніта або профіль, які запускае злучэнне, каб рашэнне пра давер было агляданым, а познія праўкі — наўмыснымі.

Працоўныя запушчальнікі і дадатак NetworkManager захоўваюць уласную копію аргументаў злучэння. Скрыпт, адрэдагаваны на дыску, не дасягае профілю, імпартаванага раней, таму захаванае значэнне працягвае перамагаць.

Супрацьстаньце пераключэнню, не замкнуўшы сябе звонку

Опцыю можна падаваць больш за адзін раз, таму запланаваная змена можа прымаць выходны і ўваходны ключы разам. Дадайце новае замацаванне да пераключэння шлюза, трымайце абодва ў спісе, пакуль сеансы мігруюць, і прыбярыце адстаўленае, калі стары ключ знікне. Гэтаму акну патрэбен уладальнік, бо забытае двайное замацаванне пакідае ключ давераным без нікога, хто б за ім сачыў. Перабудова, якая стварае новую пару ключоў, ламае чыстае замацаванне, і аднаўленне — тая ж працэдура ў адваротным кірунку.

Напішыце дату змены побач з замацаваннем. Замацаванне без даты агляду — будучы збой з заблытаным паведамленнем пра памылку.

Выключыце версію кліента перад рэдагаваннем даверу

Састарэлы кліент можа збафтаваць, разбіраючы адказ аўтэнтыфікацыі, які шлюз з тых часоў змяніў, а павярхоўнае паведамленне ўсё яшчэ гаворыць пра злучэнне, а не пра парсер. Параўнайце ўсталяваную версію з тым, што дакументуе шлюз, і праверце актуальны пакет у аднаразовым профілі перад зменай любога параметра даверу.

openconnect --version

Пасля рамонту праверце дзве рэчы, а не адну: партал загружаецца праз тунель, і звычайны ўнутраны адрас адказвае. Завершанае рукапоцісканне даказвае толькі тое, што рашэнне пра давер было прынята.

Падобныя артыкулы