Illegális TLS-verzió az AnyConnectnél Linuxon: először a javítás hatókörét határozza meg
Hostszintű LEGACY-házirend, folyamatonkénti OpenSSL-konfiguráció és egy eldobható VM összehasonlítva, valamint az átjáró módosítása, amely végleg megszünteti a hibát.
Ez a hiba a jelszókérés előtt jelentkezik, és éppen ez a hasznos rész: még semmi nem hitelesítődött, tehát nem a hitelesítő adatok a probléma. Linuxon ugyanaz az AnyConnect-párbeszédablak származhat régi protokollverzióból, 1024 bites kulcscsere-csoportból vagy olyan titkosítási csomagból, amelyet a rendszer kriptográfiai házirendje elutasít. Három gépen három különböző módon szüntettem meg, és ezeket a javításokat a hatókör különbözteti meg, nem az ügyesség. Mindegyik védhető a megfelelő helyen, és mindenhol máshol rossz alapértelmezés.
Olvassa el az üzenetet, mielőtt hozzányúl a házirendhez
Őrizze meg a párbeszédablak pontos szövegét. A verziópanasz a protokollrétegre mutat, a tanúsítványpanasz a bizalomra vagy a névhasználatra, a sikertelen bejelentkezés pedig a hitelesítő adatokra. Egy TLS 1.0-t kínáló átjáró 1024 bites DHE-csoporttal, AES-256-CBC-vel és SHA-1 aláírással teljesen érvényes tanúsítvánnyal is rendelkezhet, és a modern házirend mégis elutasítja, mielőtt a hitelesítő adatai egyáltalán elküldésre kerülnek.
Vizsgálja meg a végpontot a rendszer OpenSSL-jével, a valódi hosztnévvel és azzal a porttal, amelyet az ügyfél használ.
Ha a openssl s_client -connect vpn.example.com:443 -servername vpn.example.com meghiúsul, miközben a -tls1 -cipher DEFAULT@SECLEVEL=0 sikeres, a határ a verzió és a kulcsméret együtt. Ha az első parancs kis DH-kulcsról számol be protokollriasztás helyett, a verzió rendben van, és csak a csoport igényel figyelmet. Soha ne tegyen privát kulcsot vagy jelszót a vizsgálatba.
1. lehetőség: a teljes hoszt lazítása a kriptográfiai házirenddel
Fedórán és RHEL 8 és 9 rendszeren a update-crypto-policies --set LEGACY csökkenti az OpenSSL rendszerházirendjét, a update-crypto-policies --show pedig megerősíti, mi az aktív. Ez általában helyreállítja az alagutat, de a házirend a folyamat indításakor olvasódik be, ezért indítsa újra az ügyfelet és minden általa létrehozott segédfolyamatot, mielőtt újra tesztel. Engedélyezi a régebbi protokollokat és gyengébb csoportokat a gépen lévő minden TLS-ügyfél számára, a szomszéd ablak böngészőjétől a kernelt frissítő csomagkezelőig.
Ez a szélesség a teljes cél és a teljes probléma. A LEGACY az egész hosztra érvényes, tartós és könnyen feledhető, ezért diagnosztikai lépésnek vagy dokumentált kivételnek kell lennie egy felügyelt builden, soha nem egy munkaállomás nyugalmi állapotának. Láttam egyet, amely két évig LEGACY-n maradt, mert egyetlen belső portálnak szüksége volt rá, és senki nem tudta megmondani, mikor kezdődött.
A Debiannak és az Ubuntunak nincs egyetlen kapcsolója erre. Az megfelelője a /etc/ssl/openssl.cnf módosítása, amely alacsonyabb MinProtocol-t és CipherString = DEFAULT@SECLEVEL=0-t állít be a rendszer alapértelmezett szakaszában. Ugyanaz a hatókör, más fájl, kicsit könnyebb szem elől téveszteni egy kiadásfrissítés során.
2. lehetőség: egy konfigurációs fájl egy ügyfélnek
A folyamatonkénti OpenSSL-konfiguráció egyetlen folyamatfán belül tartja a változást, de csak akkor, ha a fájl úgy van bekötve, ahogy a könyvtár elvárja. Egy ssl_conf szakasz elnevezése nem elég: az OpenSSL a legfelső szintű openssl_conf kulcsot olvassa, követi egy init szakaszba, és csak ezután éri el az SSL alapértelmezéseit.
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=0Irányítsa a OPENSSL_CONF-t arra a fájlra, és indítsa el a VPN-ügyfelet egy olyan burkolón keresztül, amely exportálja. A hoszton minden más megtartja az alapértelmezett házirendet, és ez az a tulajdonság, amely számít, amikor a megfelelőségi kérdés felmerül. Erősítse meg, hogy a fájl valóban érvényes, mielőtt az átjárót hibáztatja: a OPENSSL_CONF=/path/to/file openssl ciphers -s -tls1-nek TLS 1.0 titkosításokat kell felsorolnia, és az üres eredmény azt jelenti, hogy a lánc megszakadt, és az ügyfél csendben megtartotta a rendszer alapértelmezéseit.
A fájl verzióérzékeny. Az OpenSSL 1.1.1 és a 3.x ugyanazokat a szakaszneveket fogadja el, de a szolgáltatók körüli direktívák kezelése megváltozott a 3.x-ben, ezért ellenőrizze az ügyfél saját naplójával és egy próba-kézfogással, ahelyett hogy feltételezné, hogy a fájlt beolvasták. A szakasznév elírása nyíltan meghiúsul, és az ügyfél csendben a rendszer alapértelmezéseit használja.
A korlát a lefedettség. Minden, ami GnuTLS-hez vagy NSS-hez van linkelve, figyelmen kívül hagyja a OPENSSL_CONF-t, és ugyanígy minden segédfolyamat, amelyet az ügyfél a környezet öröklése nélkül indít. Ellenőrizze a ldd-mal, hogy a bináris valójában melyik TLS-könyvtárhoz van linkelve, mielőtt felépíti a burkolót, mert a válasz dönti el, hogy ez a lehetőség egyáltalán létezik-e.
3. lehetőség: eldobható VM vagy konténer
Egy vállalkozónak, aki két hétig egyetlen régi átjárót támad, a lazított házirendű dedikált VM tisztább határ, mint a munkaállomás. A régi felület és a mindennapi böngészőprofil megszűnik egy kernetházirendet megosztani, és az elidegenítés törlés, nem auditmegállapítás.
Ez továbbra is hálózatra kapcsolt gép, ezért korlátozza a hozzáférését, és tartsa távol az általános böngészéstől. A karbantartási költség egy újabb javítandó lemezkép, ami valós, de korlátozott és látható, ellentétben egy laptopon felejtett LEGACY-jelzővel.
Mit hagy Önnek az összehasonlítás
Három kérdés alapján válasszon: kinek kell a régi protokoll, mennyi ideig, és ki veszi észre, ha a kivétel túléli az okát. Egy alkalmazás, egy személy, néhány nap a folyamatonkénti konfigurációra mutat. Egy egész flotta egyetlen eszköz mögött magára az átjáróra mutat. Minden, ami állandó LEGACY-hosztházirendet igényel, beszerzési döntés technikai jelmezben.
A tartós javítás az eszközön van: TLS 1.2 vagy újabb, legalább 2048 bites csoport, AEAD-titkosítás és modern aláírású tanúsítvány. Kérje ezt a változtatást az eszköz tulajdonosától, majd erősítse meg a kialkudott verziót és titkosítást az ügyfél naplójában. Jegyezze fel a kivételt a hoszttal, az átjáróval, a kialkudott protokollal, a jóváhagyóval és egy lejárati dátummal, mert ez a feljegyzés az, ami megakadályozza, hogy egy ideiglenes megoldás alapértelmezéssé váljon.