See viga tuleb enne parooli küsimist ja see ongi kasulik osa: midagi pole veel autenditud, seega pole mandaadid probleemiks. Linuxis võib sama AnyConnecti dialoog tulla vanast protokolli versioonist, 1024-bitilisest võtmevahetuse grupist või šifrikomplektist, mille süsteemi krüptopoliitika tagasi lükkab. Olen selle kolmel masinal kolmel erineval viisil kõrvaldanud ja neid lahendusi eristab mõjuraadius, mitte nutikus. Igaüks on õiges kohas põhjendatud ja igal pool mujal halb vaikevalik.

Lugege sõnumit enne, kui poliitikat puudutate

Hoidke dialoogist täpne string. Versioonikaebus osutab protokollikihile, sertifikaadikaebus usaldusele või nimetamisele ja ebaõnnestunud sisselogimine mandaatidele. Lüüs, mis pakub TLS 1.0 koos 1024-bitilise DHE grupiga, AES-256-CBC ja SHA-1 allkirjaga, võib omada täiesti kehtivat sertifikaati ja tulla siiski kaasaegse poliitika poolt tagasi lükatuks enne, kui teie mandaate üldse saadetakse.

Kontrollige lõpp-punkti süsteemi OpenSSL-iga, kasutades tegelikku hostinime ja porti, mida klient kasutab.

Kui openssl s_client -connect vpn.example.com:443 -servername vpn.example.com ebaõnnestub, aga -tls1 -cipher DEFAULT@SECLEVEL=0 õnnestub, tähendab see, et piiriks on versioon ja võtme suurus koos. Kui esimene käsk teatab väikesest DH-võtmest, mitte protokollihoiatusest, on versioon korras ja tähelepanu vajab ainult grupp. Ärge kunagi pange kontrolli privaatvõtit ega parooli.

Valik 1: lõdvendage kogu hosti krüptopoliitikaga

Fedoras ja RHEL 8 ja 9-s langetab update-crypto-policies --set LEGACY OpenSSL-i süsteemipoliitikat ja update-crypto-policies --show kinnitab, mis on aktiivne. Tavaliselt taastab see tunnelid, kuid poliitikat loetakse protsessi käivitumisel, seega taaskäivitage klient ja kõik selle loodud abiprogrammid enne uut katset. See lubab ka vanemaid protokolle ja nõrgemaid gruppe igal masina TLS-kliendil, kõrvalakna brauserist kuni kerneli uuendava paketihaldurini.

See laius ongi kogu mõte ja kogu probleem. LEGACY kehtib kogu hosti kohta, on püsiv ja kergesti ununev, seega peaks see olema diagnoosimissamm või dokumenteeritud erand hallatavas koostes, mitte kunagi tööjaama puhkeolek. Olen näinud üht, mis jäi LEGACY peale kaheks aastaks, sest üks sisemine portaal vajas seda, ja keegi ei osanud öelda, millal see algas.

Debianil ja Ubuntul pole selle jaoks ühtset lülitit. Vaste on /etc/ssl/openssl.cnf muutmine, mis seab süsteemi vaikeväärtuste jaotises madalama MinProtocol ja CipherString = DEFAULT@SECLEVEL=0. Sama mõjuraadius, teine fail, veidi kergem väljalaske uuendamise ajal silmist kaotada.

Valik 2: üks konfiguratsioonifail ühe kliendi jaoks

Protsessipõhine OpenSSL-i konfiguratsioon hoiab muudatuse ühe protsessipuu sees, kuid ainult siis, kui fail on ühendatud nii, nagu teek ootab. Jaotise ssl_conf nimetamisest ei piisa: OpenSSL loeb ülatasandi võtit openssl_conf, järgib seda initsialiseerimisjaotisse ja alles siis jõuab SSL-i vaikeväärtusteni.

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

Suunake OPENSSL_CONF sellele failile ja käivitage VPN-klient ümbrisest, mis selle ekspordib. Kõik muu hostil säilitab vaikepoliitika ja see on omadus, mis loeb siis, kui tuleb vastavusküsimus. Kinnitage, et fail tõesti kehtib, enne kui lüüsi süüdistate: OPENSSL_CONF=/path/to/file openssl ciphers -s -tls1 peaks loetlema TLS 1.0 šifrid ja tühi tulemus tähendab, et kett on katki ja klient jättis vaikselt süsteemi vaikeväärtused.

Fail on versioonitundlik. OpenSSL 1.1.1 ja 3.x aktsepteerivad samu jaotisenimesid, kuid direktiivide käsitlemine teenusepakkujate ümber muutus versioonis 3.x, seega kontrollige kliendi enda logi ja test-kätlusega, selle asemel et eeldada, et fail loeti. Kirjaviga jaotise nimes ebaõnnestub avatult ja klient kasutab vaikselt süsteemi vaikeväärtusi.

Piiriks on katvus. Kõik, mis on lingitud GnuTLS-i või NSS-iga, eirab OPENSSL_CONF, nagu ka iga abiprotsess, mille klient käivitab keskkonda pärimata. Kontrollige ldd-ga, millise TLS-teegiga binaarfail tegelikult lingitud on, enne ümbrise ehitamist, sest vastus otsustab, kas see valik üldse olemas on.

Valik 3: ühekordne VM või konteiner

Töövõtjale, kes kaks nädalat ühte vana lüüsi tabab, on lõdvendatud poliitikaga eraldiseisev VM tööjaamast puhtam piir. Vana pind ja igapäevane brauseriprofiil lakkavad kerneli poliitikat jagamast ning kasutusest kõrvaldamine on kustutamine, mitte auditi leid.

See on ikka võrgumasin, seega piirake selle juurdepääsu ja hoidke see üldisest sirvimisest eemal. Hoolduskulu on veel üks paigatav kujutis, mis on tõeline, kuid piiratud ja nähtav, erinevalt sülearvutisse ununenud LEGACY-lipust.

Mida võrdlus teile jätab

Valige kolme küsimuse järgi: kes vajab vana protokolli, kui kauaks ja kes märkab, kui erand elab oma põhjuse üle. Üks rakendus, üks inimene, paar päeva osutavad protsessipõhisele konfiguratsioonile. Terve pargim ühe seadme taga osutab lüüsile endale. Kõik, mis vajab püsivat LEGACY hostipoliitikat, on hankimisotsus tehnilises kostüümis.

Püsiv parandus kuulub seadmele: TLS 1.2 või uuem, vähemalt 2048-bitine grupp, AEAD-šifr ja kaasaegse allkirjaga sertifikaat. Paluge seda muudatust seadme omanikult ja kinnitage seejärel läbiräägitud versioon ja šifr kliendi logis. Kirjutage erand üles koos hosti, lüüsi, läbiräägitud protokolli, kinnitaja ja aegumiskuupäevaga, sest just see märge takistab ajutisel lahendusel vaikeväärtuseks saamast.

Seotud artiklid