Ova greška se pojavljuje pre pitanja za lozinku, i to je korisni deo: ništa još nije autentifikovano, pa akreditivi nisu problem. Na Linuxu isti AnyConnect dijalog može doći od stare verzije protokola, 1024-bitne grupe za razmenu ključeva ili šifarskog skupa koji sistemska kripto politika odbija. Rešio sam je na tri različita načina na tri mašine, a te popravke razlikuje domet, a ne dosetljivost. Svaka je opravdana na pravom mestu i loš podrazumevani izbor svuda drugde.

Pročitajte poruku pre nego što dirnete politiku

Zadržite tačan niz iz dijaloga. Žalba na verziju upućuje na sloj protokola, žalba na sertifikat na poverenje ili imenovanje, a neuspela prijava na akreditive. Gejtvej koji nudi TLS 1.0 sa 1024-bitnom DHE grupom, AES-256-CBC i SHA-1 potpisom može imati potpuno važeći sertifikat i ipak biti odbijen od moderne politike pre nego što vaši akreditivi uopšte budu poslati.

Proverite krajnju tačku sistemskim OpenSSL-om, koristeći stvarno ime hosta i port koji klijent koristi.

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

Opcija 1: ublažite ceo 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 pre nego što ponovo testirate. Ona takođe dopušta starije protokole i slabije grupe za svaki TLS klijent na mašini, od pregledača u susednom prozoru do menadžera paketa koji ažurira jezgro.

Ta širina je i cela poenta i ceo problem. LEGACY je na nivou hosta, trajan i lako se zaboravlja, pa bi trebalo da bude dijagnostički korak ili dokumentovani izuzetak na upravljanoj slici, nikada stalno stanje radne stanice. Video sam jednu koja je ostala na LEGACY dve godine jer ju je tražio jedan interni portal, a niko nije mogao da kaže kada je počelo.

Debian i Ubuntu nemaju jedan prekidač za to. Ekvivalent je izmena /etc/ssl/openssl.cnf koja postavlja niži MinProtocol i CipherString = DEFAULT@SECLEVEL=0 u odeljku sistemskih podrazumevanih vrednosti. Isti domet, druga datoteka, malo lakše izgubiti iz vida tokom nadogradnje izdanja.

Opcija 2: jedna konfiguraciona datoteka za jedan klijent

OpenSSL konfiguracija po procesu drži promenu unutar jednog stabla procesa, ali samo ako je datoteka povezana onako kako biblioteka očekuje. Imenovati odeljak ssl_conf nije dovoljno: OpenSSL čita ključ najvišeg nivoa openssl_conf, prati ga do odeljka za inicijalizaciju i tek tada dolazi do SSL podrazumevanih vrednosti.

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

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

Datoteka je osetljiva na verziju. OpenSSL 1.1.1 i 3.x prihvataju ista imena odeljaka, ali obrada direktiva oko provajdera se promenila u 3.x, pa proverite klijentskim dnevnikom i probnim rukovanjem umesto da pretpostavite da je datoteka pročitana. Tipfeler u imenu odeljka pada otvoreno, a klijent tiho koristi sistemske podrazumevane vrednosti.

Ograničenje je pokrivenost. Sve što je linkovano na GnuTLS ili NSS ignoriše OPENSSL_CONF, kao i svaki pomoćni proces koji klijent pokrene bez nasleđivanja okruženja. Proverite sa ldd sa kojom TLS bibliotekom je binarni fajl stvarno linkovan pre nego što napravite omotač, jer odgovor odlučuje da li ta opcija uopšte postoji.

Opcija 3: jednokratna VM ili kontejner

Za izvođača koji dve nedelje udara na jedan stari gejtvej, namenska VM sa ublaženom politikom je čistija granica od radne stanice. Stara površina i svakodnevni profil pregledača prestaju da dele 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šteg 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 primetiti ako izuzetak nadživi svoj razlog. Jedna aplikacija, jedna osoba, nekoliko dana upućuju na konfiguraciju po procesu. Cela flota iza jednog uređaja upućuje na sam gejtvej. Sve što traži trajnu LEGACY politiku hosta je nabavna odluka u tehničkom kostimu.

Trajno rešenje pripada uređaju: TLS 1.2 ili noviji, grupa od najmanje 2048 bita, AEAD šifra i sertifikat sa modernim potpisom. Zatražite tu promenu od vlasnika uređaja, pa potvrdite dogovorenu verziju i šifru u klijentskom dnevniku. Zapišite izuzetak sa hostom, gejtvejom, dogovorenim protokolom, odobravaocem i datumom isteka, jer taj zapis sprečava da privremeno rešenje postane podrazumevano.

Povezani članci