Ova se greška pojavljuje prije upita za lozinku, i to je korisni dio: ništa još nije autentificirano, pa vjerodajnice nisu problem. Na Linuxu isti AnyConnect dijalog može doći od stare verzije protokola, 1024-bitne grupe za razmjenu ključeva ili šifarskog skupa koji sustavna kripto politika odbija. Riješio sam je na tri različita načina na tri stroja, a te popravke razlikuje doseg, a ne dosjetljivost. Svaki je opravdan na pravom mjestu i loš zadani izbor posvuda drugdje.

Pročitajte poruku prije nego dirnete politiku

Zadržite točan niz iz dijaloga. Pritužba na verziju upućuje na sloj protokola, pritužba na certifikat na povjerenje ili imenovanje, a neuspješna prijava na vjerodajnice. Pristupnik koji nudi TLS 1.0 s 1024-bitnom DHE grupom, AES-256-CBC i SHA-1 potpisom može imati potpuno valjan certifikat i ipak biti odbijen od moderne politike prije nego što vaše vjerodajnice uopće budu poslane.

Provjerite krajnju točku sustavnim OpenSSL-om, koristeći stvarno ime hosta i port koji klijent koristi.

Neuspjeh openssl s_client -connect vpn.example.com:443 -servername vpn.example.com dok -tls1 -cipher DEFAULT@SECLEVEL=0 uspijeva govori da je granica verzija i veličina ključa zajedno. Ako prva naredba prijavi mali DH ključ umjesto protokolnog upozorenja, verzija je u redu i samo grupa traži pažnju. Nikada ne stavljajte privatni ključ ili lozinku u provjeru.

Opcija 1: ublažite cijeli host kripto politikom

Na Fedori i RHEL 8 i 9, update-crypto-policies --set LEGACY snižava sustavnu politiku OpenSSL-a, a update-crypto-policies --show potvrđuje što je aktivno. To obično vraća tunel, ali politika se čita pri pokretanju procesa, pa ponovno pokrenite klijent i svaki pomoćni proces koji je stvorio prije ponovnog testiranja. Ona također dopušta starije protokole i slabije grupe za svaki TLS klijent na stroju, od preglednika u susjednom prozoru do upravitelja paketa koji ažurira jezgru.

Ta širina je i cijela poanta i cijeli problem. LEGACY je na razini hosta, trajan i lako se zaboravlja, pa bi trebao biti dijagnostički korak ili dokumentirana iznimka na upravljanoj slici, nikada stalno stanje radne stanice. Vidio sam jednu koja je ostala na LEGACY dvije godine jer ju je trebao jedan interni portal, a nitko nije mogao reći kada je počelo.

Debian i Ubuntu nemaju jedan prekidač za to. Ekvivalent je izmjena /etc/ssl/openssl.cnf koja postavlja niži MinProtocol i CipherString = DEFAULT@SECLEVEL=0 u odjeljku sustavnih zadanih vrijednosti. Isti doseg, druga datoteka, malo lakše izgubiti iz vida tijekom nadogradnje izdanja.

Opcija 2: jedna konfiguracijska datoteka za jedan klijent

OpenSSL konfiguracija po procesu drži promjenu unutar jednog stabla procesa, ali samo ako je datoteka spojena onako kako biblioteka očekuje. Imenovati odjeljak ssl_conf nije dovoljno: OpenSSL čita ključ najviše razine openssl_conf, slijedi ga do odjeljka za inicijalizaciju i tek tada dolazi do SSL zadanih vrijednosti.

openssl_conf = openssl_init

[openssl_init]
ssl_conf = ssl_sect

[ssl_sect]
system_default = system_default_sect

[system_default_sect]
MinProtocol = TLSv1.0
CipherString = DEFAULT@SECLEVEL=0

Usmjerite OPENSSL_CONF na tu datoteku i pokrenite VPN klijent kroz omotač koji je izvozi. Sve ostalo na hostu zadržava zadanu politiku, a to je svojstvo koje je važno kada dođe pitanje usklađenosti. Potvrdite da je datoteka stvarno na snazi prije nego okrivite pristupnik: OPENSSL_CONF=/path/to/file openssl ciphers -s -tls1 treba navesti TLS 1.0 šifre, a prazan rezultat znači da je lanac prekinut i da je klijent tiho zadržao sustavne zadane vrijednosti.

Datoteka je osjetljiva na verziju. OpenSSL 1.1.1 i 3.x prihvaćaju ista imena odjeljaka, ali obrada direktiva oko pružatelja promijenila se u 3.x, pa provjerite klijentskim dnevnikom i probnim rukovanjem umjesto da pretpostavite da je datoteka pročitana. Tipfeler u imenu odjeljka pada otvoreno, a klijent tiho koristi sustavne zadane vrijednosti.

Ograničenje je pokrivenost. Sve što je povezano s GnuTLS ili NSS ignorira OPENSSL_CONF, kao i svaki pomoćni proces koji klijent pokrene bez nasljeđivanja okruženja. Provjerite s ldd s kojom se TLS bibliotekom binarna datoteka stvarno povezuje prije nego izgradite omotač, jer odgovor odlučuje postoji li ta opcija uopće.

Opcija 3: jednokratni VM ili kontejner

Za izvođača koji dva tjedna udara na jedan stari pristupnik, namjenski VM s ublaženom politikom čišća je granica od radne stanice. Stara površina i svakodnevni profil preglednika prestaju dijeliti politiku jezgre, a odlaganje je brisanje, a ne nalaz revizije.

To je i dalje umreženi stroj, pa ograničite njegov pristup i držite ga podalje od općeg pregledavanja. Trošak održavanja je još jedna slika koju treba zakrpati, što je stvarno ali ograničeno i vidljivo, za razliku od zaboravljene LEGACY zastavice na prijenosniku.

Što vam usporedba ostavlja

Birajte po tri pitanja: kome treba stari protokol, koliko dugo i tko će primijetiti ako iznimka nadživi svoj razlog. Jedna aplikacija, jedna osoba, nekoliko dana upućuju na konfiguraciju po procesu. Cijela flota iza jednog uređaja upućuje na sam pristupnik. Sve što traži trajnu LEGACY politiku hosta je nabavna odluka u tehničkom kostimu.

Trajno rješenje pripada uređaju: TLS 1.2 ili noviji, grupa od najmanje 2048 bita, AEAD šifra i certifikat s modernim potpisom. Zatražite tu promjenu od vlasnika uređaja, pa potvrdite dogovorenu verziju i šifru u klijentskom dnevniku. Zapišite iznimku s hostom, pristupnikom, dogovorenim protokolom, odobravateljem i datumom isteka, jer taj zapis sprječava da privremeno rješenje postane zadano.

Povezani članci