OpenVPN verify-x509-name: subject, name i name-prefix
Tip poređenja odlučuje koje se ime certifikata poredi. subject, name i name-prefix nisu jednaka očekivanja, a zadano je subject.
Prvo pročitajte tip poređenja, pa tekst: verify-x509-name direktiva može izgledati ispravno i ipak prihvatiti certifikat kojem niste namjeravali vjerovati. Dvije linije s istim očekivanim tekstom, ali različitim tipovima, dva su različita zahtjeva. Prvo pročitajte tip, pa tekst. Tretirajte direktivu kao još jedan uslov za vezu, a ne kao cijelu provjeru.
Šta opcija zapravo tvrdi
Direktiva imenuje identitet koji certifikat druge strane mora nositi. Kada poređenje ne uspije, OpenVPN prekida rukovanje i tunel se ne podiže. Sve ostalo u profilu i dalje važi: certifikat se mora lančano vezati na pouzdan CA i provjera uloge mora proći, pa je ovo dodatni uslov, a ne zamjena. Profil koji zadovolji očekivanje imena, a padne na provjeri uloge, i dalje je pokvaren, i dnevnik to obično kaže.
Također se razlikuje od provjere imena hosta koju radi preglednik. Preglednik upoređuje imena s alternativnim imenima subjecta po pravilima svog TLS steka, dok OpenVPN poredi jedno polje certifikata s tipom koji ste odabrali. Zato lijepljenje imena hosta u stilu preglednika u direktivu može dati neslaganje čak i kada certifikat zaista pokriva uslugu.
subject: cijelo razlikovno ime, znak po znak
Kada tip nije napisan, zadano je subject, a očekivana vrijednost mora reproducirati cijeli subject DN certifikata. Redoslijed polja, razdjelnici, razmaci i escaping sve se računa, jer poređenje ide po nizu kako je kodiran. Ako izostavite tip, odabrali ste najstrože od tri poređenja. Nema koraka normalizacije koji bi spasio kozmetičku razliku. To vrijedi znati prije prve obnove, a ne poslije.
Ta strogost je krhka kroz obnove. CA koji presloži atribute, ubaci dodatno polje ili promijeni način escapinga vrijednosti stvara novi niz za isti stroj, i direktiva koja je radila godinama počinje padati na sljedećem izdavanju. Čuvanje prihvaćenog DN-a u zapisu promjena pretvara sljedeću obnovu u razliku. Gdje operater objavljuje puni DN i garantuje njegov oblik, subject je razuman izbor; drugdje je uže polje lakše održati istinitim.
name: jedno polje, obično uobičajeno ime
Tip name poredi jedno polje subjecta. Ako profil ne kaže drugačije, to polje je uobičajeno ime, a očekivana vrijednost je tačno to polje, a ne DN oko njega.
Kvaka je u tome što moderni certifikati ne stavljaju uvijek ime usluge u CN. Mnogi ga nose u alternativnom imenu subjecta i ostavljaju CN prazan ili općenit, pa certifikat koji preglednik prihvati može ipak pasti na ovom poređenju. Pregledajte certifikat koji vam je zaista izdat prije nego napišete očekivanje i potvrdite koje polje profil bira. Prazan CN upoređen s imenom je neslaganje, a ne konfiguracijska nezgoda.
name-prefix: širok po namjeri, zato ograničite obim
Očekivanje tipa name-prefix poklapa se s početkom odabranog polja. To je zgodno za šemu imenovanja i opasno za sve što je dijeljeno.
Ako je očekivanje vpn.example, prošli bi i vpn.example.com i vpn.example.net uz uslov da je ostatak lanca pouzdan. Širina je odlika, a ujedno i dio koji treba pismeno opravdati. Prefiks je razuman kada su CA i šema imenovanja vaši, a mnogo slabiji kada javni CA izdaje po istom obrascu. Ako šema treba fleksibilnost, ograničite je na CA umjesto da širite provjeru na klijentu.
Odaberite tip prema identitetu, pa ga dokažite
Radite unazad od identiteta koji operater namjerava. Ako objavljuje puni DN i drži ga stabilnim, subject to izražava. Ako uslugu imenuje uobičajenim imenom, koristite name. Ako posjeduje šemu imenovanja i prihvata cijeli njen prostor, name-prefix to izričito kaže.
Obnove su mjesto gdje se direktiva provjerava. Uporedite odobreni identitet s novim certifikatom, a ne sa starom datotekom, jer nova adresa krajnje točke ne znači novi identitet certifikata. Ne brišite direktivu samo zato što poznata adresa odgovara: dostupnost i namjeravana druga strana su različite činjenice, a adresa dokazuje samo da je nešto odgovorilo. Zapišite tačnu grešku i javne detalje imena u očišćenom izvještaju, jer se neslaganje imena može pokazati bez ikakvog materijala privatnog ključa.
Nakon podržane ispravke, ponovo se povežite sa uključenim svim namjeravanim provjerama i provjerite resurs koji vam zaista treba. Uspjeh znači da je namjeravani server prihvaćen, a ne da je neki certifikat nekako propušten. Zvanični priručnik OpenVPN 2.6 manual dokumentuje tri tipa i njihove napomene o povjerenju i referenca je koju treba citirati kada se sučelje dobavljača ne slaže s profilom.