Pojavi se jedan stari uređaj, ne uspije se povezati, i najbrža naizgled popravka jest oslabiti cijeli host dok veza ne uspije. Ta razmjena je nevidljiva u trenutku i trajna u praksi, jer niko ne uklanja minimum koji konačno radi. Dva vrlo različita kvara stvaraju pritisak, a samo jedan od njih uopće ima veze sa šiframa. Prvo razvrstajte kvar, zatim stavite izuzetak tamo gdje se ne može proširiti.

Podijelite kvar na dva dijela prije nego uredite direktivu

Linija u serverskom dnevniku o tome da nema zajedničke šifre, ili o nepodržanoj verziji protokola, dolazi iz kontrolnog kanala: dvije strane se nisu mogle dogovoriti kako zaštititi samo pregovaranje. A klijentska linija da nijedna metoda provjere serverskog certifikata nije omogućena dolazi sasvim s drugog mjesta, jer taj klijent uopće ne provjerava ko je odgovorio. Promjena šifre za podatke ništa ne čini u drugom slučaju, a dodavanje provjere uloge ništa ne čini u prvom.

Uzmite najraniju liniju kvara sa svake strane, a ne posljednju prije prekida, jer je posljednja obično posljedica. Zatim utvrdite koji je fajl klijent stvarno otvorio: uvezeni profil često postoji dvaput pod različitim prikazanim imenima, a uređivanje kopije koju niko ne čita daje uvjerljivo nikakvu promjenu. Proces koji radi zadržava postavke s kojima je pokrenut, pa sačuvan fajl nije učitan fajl. Komande ispod pokazuju klijentsko pregovaranje uz serverski pogled na isti pokušaj.

openvpn --config <profile>.ovpn --verb 4 2>&1 | head -n 40
journalctl -u [email protected] --since '-10 min' | grep -iE 'cipher|tls|verify'

Drugi listener je iskreno mjesto za slabiji minimum

Kada uređaj staje na TLS 1.0 sa kanalom podataka prije 2.5, server mora ponuditi niži minimum kontrolnog kanala i šifru podataka koju stari klijent prepoznaje. Direktiva za rezervu postoji upravo za takav čvor, dok lista šifri drži savremene klijente na savremenim skupovima. Obje direktive pripadaju listeneru, a ne korisniku ili vezi, i nijedna opcija po klijentu ih kasnije ne sužava. Zato je jedan stari uređaj na glavnom portu odluka o svakom čvoru koji ga dijeli.

Gdje platforma dozvoljava, pokrenite stari listener kao njegovu vlastitu instancu na odvojenom portu, dozvolite taj port samo s adrese uređaja i ostavite glavnu uslugu na miru. Zapišite zašto drugi listener postoji, u fajlu koji nosi njegovu konfiguraciju, jer će ga buduće čišćenje inače pročitati kao ostatak. Podjela je vrijedna samo ako slabiji minimum završava tamo gdje završava uređaj.

tls-version-min 1.0
data-ciphers AES-128-GCM:AES-256-GCM:AES-256-CBC
data-ciphers-fallback AES-256-CBC

Šta stari certifikat provajdera zapravo kvari

Greška provjere je nedostajuće vezivanje uloge: bez njega klijent prihvata svaki certifikat koji se lančano veže na pouzdan CA, bez obzira je li taj certifikat izdat za server. Prvo vežite certifikat za serversku ulogu i tretirajte vezivanje kao zahtjev, a ne kao dugme za podešavanje. Samo profil koji i nakon tog koraka ne uspijeva ima stvarni problem s certifikatom.

Stari certifikat provajdera čija veličina ključa ili algoritam potpisa više ne zadovoljava zadanu OpenSSL politiku jest slučaj za ograničenu promjenu nivoa sigurnosti na kontrolnom kanalu. Spuštanje nivoa tamo ne isključuje provjeru i nikada se ne smije kombinovati s praznim CA, isključenom postavkom provjere ili neprovjerenim imenom hosta. Držite liniju unutar jednog profila kojem treba; globalni izvoz opuštene OpenSSL konfiguracije dao bi isto opuštanje svakom programu na mašini.

remote-cert-tls server
tls-cipher "DEFAULT:@SECLEVEL=0"

Čitajte dogovorene vrijednosti, ne banner

Na nivou detaljnosti 4 obje strane ispisuju TLS verziju i šifru kontrolnog kanala na kojima su se zaustavile, te šifru podataka za sesiju. Čitajte te linije, a ne početni banner, koji izvještava o uspjehu, a ne o njegovim uslovima. Zatim ponovo povežite savremeni klijent na glavni listener i potvrdite da još uvijek završava na savremenom skupu, jer izuzetak koji je procurio u zajedničku konfiguraciju pokazuje se najprije ovdje. Vrijednosti koje kopirate postaju osnovna linija za sljedeći pregled.

Testirajte stari uređaj zasebno: treba da se poveže i da bude jedina sesija u dnevnicima koja pokazuje slabije parametre. Ako i drugi čvor pregovara stari skup, izuzetak je širi od predviđenog i podjela listenera se nije stvarno dogodila. Zabilježite oba zapažanja, a ne samo zaključak.

Svaki izuzetak treba vlasnika i datum

Izuzetak bez uslova uklanjanja tiho postaje zadani, pa stavite uređaj, vlasnika, razlog i datum kada nestaje uz konfiguraciju koju opravdava. Bez te linije slabiji minimum nadživi hardver koji ga je trebao.

Zamjena klijenta, ili zahtjev provajderu za aktualni profil, ishod je kojem treba težiti; izuzetak je odgađanje, a ne dizajn. Kada uređaj ode u penziju, uklonite listener i profil u istoj promjeni da nijedna polovina ne ostane da radi. Ništa od ovoga ne čini stare parametre sigurnim, samo sprječava da granica jednog uređaja postane osnova za sve.

Povezani članci