Trīs dažādi jautājumi saņem atbildes no trim dažādām OpenVPN profila daļām, un tieši to sapludināšana noved pie tā, ka cilvēki galu galā izslēdz pārbaudi, kas darbojās. Vai pretējās puses sertifikāts ir parakstīts ar uzticamo iestādi? Vai šis sertifikāts deklarē TLS servera lomu? Vai tas ir tieši tas serveris, kuru es gribēju sasniegt? remote-cert-tls server atbild tikai uz vidējo jautājumu, un to dara, lasot sertifikāta iekšienē esošos paplašinājumus.

Trīs pārbaudes, ko ir viegli sapludināt galvā

Uzticības enkurs mīt direktīvā ca. Lomu pārbaude pieder remote-cert-tls. Identitātes pārbaude pieder verify-x509-name, kad profils to izmanto, vai jebkurai nosaukuma pārbaudei, ko pievieno izvietojums.

Tās aptver dažādas kļūmes:

QuestionDirectiveFailure it catches
Who signed this?caCertificate from an unrelated authority
Is this a server?remote-cert-tlsClient certificate presented by a peer
Is this my server?verify-x509-nameAnother valid server from the same CA

Profilā var būt visas trīs, un tas joprojām var būt vājš, ja CA tiek koplietota pārāk plaši, kas ir atslēgu pārvaldības, nevis direktīvas jautājums.

Ko nolasa lomu pārbaude

Direktīva ir makro. Tā izvēršas atslēgas lietošanas prasībā un paplašinātas atslēgas lietošanas prasībā, kas nosauc TLS tīmekļa servera lomu, tāpēc pretējās puses sertifikātam ir faktiski jādeklarē šis mērķis. Sertifikāts, kas izsniegts klienta autentifikācijai, to neapmierina, pat ja tā pati iestāde parakstīja abus.

Tas ir svarīgi, jo koplietota CA ir izplatīta mazos izvietojumos. Viena iestāde paraksta katru klientu un serveri, un bez lomu pārbaudes jebkurš no šiem sertifikātiem varētu pabeigt roku copas servera pusi. Pārbaude nepadara šo scenāriju neiespējamu, bet gan novērš tā triviālo versiju.

Direktīva pēc konstrukcijas ir asimetriska: klienti nes remote-cert-tls server, un serveri nes remote-cert-tls client. Samainiet tos, un katrs savienojums neizdosies ar lomas kļūdu, kas izskatās kā salauzts sertifikāts.

Vecāki profili dažreiz izmanto ns-cert-type tam pašam mērķim. Pašreizējās rokasgrāmatas lapas šo opciju uzskata par aizstātu, tāpēc profilu, kas joprojām paļaujas uz to, ir vērts migrēt, nevis atkļūdot.

Kāpēc tā izslēgšana šķiet kā labojums

Kad lomu pārbaude neizdodas, savienojums apstājas ar verifikācijas kļūdu, un acīmredzamais solis ir dzēst rindu. Tad savienojums paceļas, kas šķiet kā progress un patiesībā ir tas kļūmes režīms, kura novēršanai direktīva pastāv. Tagad jūs pieņemat pretējo pusi, kuras sertifikāts nekad nav bijis paredzēts šai lomai.

Tā vietā izlasiet kļūdu. Tā nosauc neizdevušos pārbaudi, un pretējās puses sertifikātu var pārbaudīt, lai redzētu, kādus paplašinājumus tas patiešām satur. Divas minūtes lasīšanas izšķir, vai vaina ir izsniegšanā vai konfigurācijā. Minēšana izmaksā pēcpusdienu un parasti beidzas ar novājinātu profilu. Atjaunots servera sertifikāts, kas zaudējis paplašināto atslēgas lietošanu, ir īsta atjaunināšanas vaina, nevis iemesls atslābināt klientu.

Nosaukuma pārbaude ir atsevišķa direktīva

Lomu pārbaudes izpilde nozīmē, ka pretējā puse ir kāds jūsu iestādes parakstīts serveris. Tas neko nesaka par to, kurš, kas ir svarīgi, kad tā pati CA izsniedz sertifikātus vairākiem vārtejām un viena no tām ir apdraudēta vai izmantota atkārtoti.

verify-x509-name salīdzina sertifikāta subjektu ar jūsu konfigurēto vērtību, ar atbilstības režīmiem precīzam subjektam, prefiksam vai vienam laukam. Izmantojiet lauku, kas patiešām identificē vārteju, un gaidiet, ka nosaukuma maiņas gadījumā to apzināti atjaunināsiet.

Neviena no direktīvām neaizstāj labu atslēgu apstrādi. Ja klienta atslēgas fails tiek kopēts līdzi profilam, pretējās puses identitāte ir tik stipra, cik izplatīšanas saraksts.

Pārbaudiet sertifikātu pirms profila rediģēšanas

Izlasiet pretējās puses sertifikātu un klienta žurnālu šādā secībā. Sertifikāts pasaka, kādas lomas tas deklarē; žurnāls pasaka, kura pārbaude to noraidīja.

Šīs komandas izdrukā lietošanas paplašinājumus un verifikācijas rindas no detalizēta savienojuma:

openssl x509 -in server.crt -noout -text | grep -A1 -E "Key Usage|Extended Key Usage"
sudo openvpn --config client.ovpn --verb 4 2>&1 | grep -i verify

Ja paplašinājumi rāda servera lomu un žurnāls joprojām ziņo par lomas kļūmi, profils, iespējams, norāda uz nepareizu sertifikāta failu, nevis uz sliktu sertifikātu. Ja paplašinājumi rāda tikai klienta autentifikāciju, pārtrauciet skatīties uz klientu un izlabojiet izsniegšanu. Jebkurā gadījumā atjaunojiet pārbaudi, pirms saucat savienojumu par veselu, jo veiksmīga roku copa pēc verifikācijas noņemšanas pierāda mazāk nekā kļūda, ko tā aizstāja.

Saistītie raksti