Veza na OpenVPN ne uspijeva, neko pronađe popravku u jednom redu koja dodaje SECLEVEL=0 i tunel se podigne. Nije se promijenio certifikat ni skup šifri; pomjerio se prag prihvatanja na nivou biblioteke, a sve što proces nakon toga radi nasljeđuje novu granicu. To vrijedi razumjeti prije nego se isti red kopira u svaki profil u okruženju.

Utvrdite koja biblioteka i koja politika su na snazi

SECLEVEL je koncept OpenSSL-a, pa je prvo pitanje koristi li vaša gradnja OpenSSL uopće. OpenVPN se može povezati s više kriptografskih biblioteka, a postavka koja vrijedi za jednu od njih besmislena je za ostale. Pitajte binarnu datoteku čime je izgrađena, a zatim pitajte biblioteku koju je verziju i konfiguraciju učitala:

openvpn --version | head -3
openssl version -a

Pažljivo pročitajte izlaz verzije, jer distribucije krpaju zadane vrijednosti. Neke isporučuju sistemsku konfiguraciju koja podiže minimalni nivo iznad zadane vrijednosti upstreama, zbog čega se isti profil ponaša različito na dva računala s identičnim paketima OpenVPN-a. Stvarna politika je ona koju je učitao pokrenuti proces, a ne ona iz upstream priručnika.

Zatim razdvojite dva sloja koja ljudi brkaju. OpenVPN ima vlastite TLS kontrole, uključujući postavku profila certifikata i eksplicitne liste šifri, i one stoje iznad svega što biblioteka nameće. Spuštanje nivoa biblioteke ne mijenja koje šifre navodi vaša OpenVPN konfiguracija, a sužavanje OpenVPN liste ne podiže prag biblioteke. Znati koji vas je sloj odbio ono je što sprječava da popravka ostane nagađanje.

Razdvojite tri stvari koje mogu biti odbijene

Prvi kandidat je identitetski materijal: certifikat čiji je ključ premali ili čiji algoritam potpisa politika više ne prihvata. Drugi je parametar razmjene ključeva, poput grupe koju politika smatra preslabom. Treći je skup šifri koji politika isključuje. Sva tri mogu izazvati neuspjeh rukovanja, a razlikuju ih samo tekst greške i faza pregovaranja.

Nijedno od toga troje nije šifra podatkovnog kanala. OpenVPN pregovara šifriranje tunela odvojeno od TLS rukovanja, pa veza koja uspije nakon promjene sigurnosnog nivoa ne govori ništa o tome koja šifra štiti vaše podatke. Ako je pitanje koje zapravo postavljate pitanje povjerljivosti podataka, gledate potpuno pogrešan kotačić.

Spuštanje nivoa proširuje prihvatanje za sva tri ulaza odjednom. To je dio koji ljudi propuštaju: popravka koja pušta stari certifikat pušta i slabu grupu i skup koji možda niste namjeravali dopustiti. Jedna greška potaknula je promjenu, a promjena je šira od greške. Ta asimetrija razlog je zašto je ograničena iznimka bolja od zadane vrijednosti za cijelo okruženje.

Promijenite ulaz, a ne prag

Sačuvajte točnu grešku prije nego dirnete konfiguraciju, uključujući fazu koja ju je prijavila i objekt koji je navela. Problem s certifikatom rješava se zamjenom certifikata nečim što trenutna politika prihvata, što obično znači ponovno izdavanje kod tijela, a ne ponovnu instalaciju iste datoteke.

Ako odbijeni ulaz pripada peeru koji ne kontrolirate, razgovor je s njegovim vlasnikom o podržanom zamjenskom materijalu. Spuštanje vlastitog praga da biste ugošćivali sistem koji nitko ne održava prenosi trošak s njih na sve koji se spoje nakon njih.

Gdje poslužitelj provodi politiku, provjerite je li postavka na razini OpenVPN-a stvarni uzrok prije nego okrivite biblioteku. Profil certifikata koji traži strožu klasu nego što je instalirani certifikat može zadovoljiti neće uspjeti bez obzira na sigurnosni nivo, a uklanjanje tog profila uža je promjena od isključivanja provjera biblioteke.

Ako ga morate spustiti, ograničite ga i zabilježite

Ponekad je odobrena iznimka za kompatibilnost ispravan odgovor, posebno za stari peer s datiranim planom umirovljenja. Ograničite je na uslugu kojoj treba, a ne na cijeli host: konfiguracijska datoteka za pojedinu uslugu ili namjenska OpenSSL konfiguracija ima manji radijus utjecaja od izvoza u globalnom profilu.

Uz iznimku zapišite četiri stvari: točnu postavku, vlasnika koji ju je odobrio, klijente na koje utječe i uvjet pod kojim se uklanja. Iznimka bez uvjeta umirovljenja trajno je slabljenje s privremenim opravdanjem.

Povratak bi trebao biti jedan korak koji ste već testirali. Sačuvajte prethodnu konfiguraciju, primijenite promjenu, potvrdite da se usluga pokreće i točno znajte koju datoteku vratiti ako se sljedeća veza ponaša drugačije od očekivanog.

Nakon toga provjerite identitet i zaštitu

Uspješna veza dokazuje samo da su je revidirani uvjeti prihvatili. Potvrdite da provjera imena hosta i peera još radi svoj posao, da je certifikat u upotrebi onaj koji ste namjeravali postaviti i da pregovarani podatkovni kanal odgovara politici za koju mislite da je imate.

openssl x509 -in /etc/openvpn/client.crt -noout -subject -dates -text | grep -E 'Signature Algorithm|Public-Key'
openvpn --show-tls | head -20

Referenca OpenSSL-a za sigurnosne nivoe izričito kaže da okvir primjenjuje ograničenja na ključeve, potpise, grupe i skupove zajedno i da nulti nivo dopušta sve što povratni poziv provjerava. To je opseg onoga što ste promijenili i to je rečenica koju treba citirati kad nekoga zanima je li popravka bila uska.

Primopredaja koja preživi reviziju kaže koja je politika odbila koji ulaz, što je promijenjeno i što je kao rezultat ostalo prihvaćeno. „Radi sa SECLEVEL=0“ zapažanje je o jednoj vezi, ne sigurnosna procjena postavljanja.

Povezani članci