OpenVPN client-config-dir: numele fișierului versus CN-ul certificatului
Numele fișierului CCD provine din numele comun al certificatului sau din numele de utilizator când această mapare este activă. Comparați ambele reguli înainte de a redenumi un fișier.
Două nume sunt în joc înainte ca clientul să se conecteze: numele fișierului de pe laptop (nuc.ovpn) și identitatea pe care serverul o derivă din credențiale. O căutare în client-config-dir o folosește pe a doua. Redenumirea profilului pe client sau adăugarea .conf la fișierul serverului nu schimbă nimic în privința fișierului pe care îl deschide serverul.
Comparația utilă nu este „ce nume am folosit”, ci „ce regulă aplică serverul”, pentru că autentificarea cu certificat și autentificarea cu nume de utilizator/parolă pot produce nume efective diferite din aceeași conectare.
Numele profilului versus numele comun al certificatului
În configurația implicită bazată pe certificat, serverul ia numele comun X.509 și caută un fișier cu exact acel nume în client-config-dir. Un profil numit nuc.ovpn al cărui certificat spune tester se rezolvă în /etc/openvpn/server/ccd/tester. Numele fișierului clientului nu intră niciodată în calcul. Acesta este primul loc unde se ascunde o nepotrivire.
Un director plin de profiluri denumite cu grijă poate rata de fiecare dată. Fișierul nu este potrivit după subject, după adresa de e-mail sau după numele afișat într-o interfață grafică; este potrivit după șirul numelui comun.
Pe un sistem de fișiere care distinge majusculele, Tester și tester sunt două fișiere diferite și doar unul este deschis vreodată. Verificați numele comun din certificatul pe care clientul îl prezintă efectiv, nu dintr-o copie din notițele dumneavoastră.
username-as-common-name inversează regula
Când serverul rulează autentificare cu nume de utilizator/parolă cu username-as-common-name, numele de utilizator autentificat înlocuiește numele comun al certificatului pentru această căutare.
Comparați direct cele două cazuri: cu identitate din certificat, fișierul urmează certificatul și o schimbare de parolă este irelevantă; cu identitate din numele de utilizator, fișierul urmează numele de conectare și reemiterea certificatului este irelevantă. Câmpul pe care serverul îl înlocuiește este cel după care se face redenumirea. Un certificat reemis cu un CN nou schimbă în tăcere ținta căutării, iar vechiul fișier CCD rămâne pe disc și pare corect.
Există configurații mixte și de acolo începe cea mai mare parte a confuziei. Dacă un bloc de serviciu activează substituirea și altul nu, numele efectiv depinde de instanța care a tratat conexiunea. Confirmați configurația activă în loc să presupuneți că fișierul global se aplică. Referința opțiunilor de server originală documentează căutarea după fișierul numit și soluția de rezervă opțională.
Ce citește serverul și ce omite în tăcere
Două diferențe mici decid dacă un fișier este selectat. Prima este o extensie adăugată. A doua este un caracter rătăcit în nume.
OpenVPN nu adaugă .conf la numele pe care îl caută, așa că tester.conf nu se potrivește cu tester. Un editor care ascunde extensiile poate lăsa un fișier care pare corect într-o listă și nu se potrivește niciodată.
Când nu există un fișier potrivit, serverul poate recurge la un fișier numit DEFAULT. Sosirea unor setări nu este, prin urmare, dovada că fișierul pe client a fost folosit. Comparați adresa atribuită sau rutele împinse cu ceea ce ar produce fișierul pe client. Permisiunile sunt al treilea filtru, pentru că serverul deschide fișierul după ce renunță la privilegii; un shell root care îl poate citi nu dovedește nimic.
Un nume de fișier corect nu validează conținutul
Selecția și conținutul sunt defecțiuni separate. Odată deschis fișierul corect, directivele sale trebuie să fie în continuare valide pentru acel client.
ifconfig-push trebuie să atribuie o adresă pe care topologia o poate folosi efectiv, iar iroute are sens doar pentru o subrețea rutată în spatele acelui client.
O identitate, mai multe dispozitive
Două laptopuri care prezintă același nume comun aleg același fișier și primesc aceleași setări specifice clientului. Dacă aveți nevoie de adrese separate sau de revocare separată, aveți nevoie de identități separate, nu de două copii ale unui fișier.
Comparația este între partajarea unei identități și emiterea unui certificat pe dispozitiv. Partajarea este mai simplu de administrat și mai grosier de revocat, în timp ce certificatele pe dispozitiv costă mai multă configurare și vă oferă o unitate curată de dezactivat.