Ova greška se 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 sistemska kripto politika odbija. Riješio sam je na tri različita načina na tri mašine, a te popravke razlikuje domet, a ne dosjetljivost. Svaka je opravdana na pravom mjestu i loš zadani izbor svuda drugdje.

Pročitajte poruku prije nego što dirate politiku

Zadržite tačan string iz dijaloga. Žalba na verziju upućuje na sloj protokola, žalba na certifikat na povjerenje ili imenovanje, a neuspjela prijava na vjerodajnice. Gateway 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 tačku sistemskim 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 vam 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 sistemsku politiku OpenSSL-a, a update-crypto-policies --show potvrđuje šta je aktivno. To obično vraća tunel, ali politika se čita pri pokretanju procesa, pa ponovo pokrenite klijent i svaki pomoćni proces koji je stvorio prije nego što ponovo testirate. Ona također dopušta starije protokole i slabije grupe za svaki TLS klijent na mašini, od preglednika u susjednom prozoru do upravitelja paketa koji ažurira jezgro.

Ta širina je i cijela poenta i cijeli problem. LEGACY je na nivou hosta, trajan i lako se zaboravlja, pa bi trebao biti dijagnostički korak ili dokumentovani izuzetak na upravljanoj slici, nikada stalno stanje radne stanice. Vidio sam jednu koja je ostala na LEGACY dvije godine jer je jedan interni portal to tražio, a niko 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 sistemskih zadanih vrijednosti. Isti domet, druga datoteka, malo lakše izgubiti iz vida tokom 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 povezana onako kako biblioteka očekuje. Imenovanje odjeljka ssl_conf nije dovoljno: OpenSSL čita ključ najvišeg nivoa 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 što okrivite gateway: 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 sistemske zadane vrijednosti.

Datoteka je osjetljiva na verziju. OpenSSL 1.1.1 i 3.x prihvataju ista imena odjeljaka, ali obrada direktiva oko provajdera se promijenila 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 sistemske zadane vrijednosti.

Ograničenje je pokrivenost. Sve što je linkano na 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 TLS bibliotekom se binarni fajl stvarno linka prije nego što napravite omotač, jer odgovor odlučuje postoji li ta opcija uopće.

Opcija 3: jednokratna VM ili kontejner

Za izvođača koji dvije sedmice udara na jedan stari gateway, namjenska VM s ublaženom politikom je čistija granica od radne stanice. Stara površina i svakodnevni profil preglednika prestaju dijeliti politiku jezgra, a odlaganje je brisanje, a ne nalaz revizije.

To je i dalje umrežena mašina, pa ograničite njen pristup i držite je podalje od općeg pregledanja. Trošak održavanja je još jedna slika koju treba zakrpiti, što je stvarno ali ograničeno i vidljivo, za razliku od zaboravljene LEGACY zastavice na laptopu.

Šta vam poređenje ostavlja

Birajte po tri pitanja: kome treba stari protokol, koliko dugo i ko će primijetiti ako izuzetak 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 gateway. 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 izuzetak s hostom, gatewayem, dogovorenim protokolom, odobravaocem i datumom isteka, jer taj zapis sprječava da privremeno rješenje postane zadano.

Povezani članci