A SECLEVEL=0 a tünetet kezeli, nem a tanúsítványt
Az OpenSSL biztonsági szintjének csökkentése szélesíti, mit fogad el a könyvtár. Derítse ki, melyik bemenetet utasította el, mielőtt ezt a határt egy egész gazdagépre módosítaná.
Egy OpenVPN-kapcsolat meghiúsul, valaki talál egy egysoros javítást, amely hozzáadja a SECLEVEL=0-t, és az alagút feljön. Nem a tanúsítvány és nem a titkosítási csomag változott; egy könyvtárszintű elfogadási küszöb mozdult el, és minden, amit a folyamat utána tesz, örökli az új határt. Érdemes ezt megérteni, mielőtt ugyanez a sor bekerül a környezet minden profiljába.
Derítse ki, melyik könyvtár és melyik szabályzat van érvényben
A SECLEVEL OpenSSL-fogalom, ezért az első kérdés, hogy a build egyáltalán használ-e OpenSSL-t. Az OpenVPN egynél több kriptográfiai könyvtárhoz is kapcsolható, és az egyikükre vonatkozó beállítás értelmetlen a többiek számára. Kérdezze meg a binárist, mivel épült, majd kérdezze meg a könyvtárat, melyik verziót és konfigurációt töltötte be:
openvpn --version | head -3
openssl version -aOlvassa el figyelmesen a verzió kimenetét, mert a disztribúciók javítják az alapértékeket. Egyesek olyan rendszerkonfigurációt szállítanak, amely a minimális szintet az upstream alapértéke fölé emeli, ezért ugyanaz a profil másként viselkedik két gépen azonos OpenVPN-csomagokkal. A tényleges szabályzat az, amelyet a futó folyamat betöltött, nem az, amely az upstream kézikönyvében van.
Ezután válassza szét a két réteget, amelyet az emberek összekevernek. Az OpenVPN-nek saját TLS-vezérlői vannak, köztük a tanúsítványprofil-beállítás és a kifejezett titkosítási listák, és ezek minden felett állnak, amit a könyvtár érvényesít. A könyvtár szintjének csökkentése nem változtatja meg, mely titkosításokat listázza az OpenVPN-konfiguráció, és az OpenVPN-lista szűkítése nem emeli a könyvtár küszöbét. Annak ismerete, melyik réteg utasította el, az, ami megakadályozza, hogy a javítás találgatás maradjon.
Válassza szét a három elutasítható dolgot
Az első jelölt az identitásanyag: olyan tanúsítvány, amelynek kulcsa túl kicsi, vagy amelynek aláírási algoritmusa a szabályzat számára már nem elfogadható. A második egy kulcscsere-paraméter, például egy csoport, amelyet a szabályzat túl gyengének tart. A harmadik egy titkosítási csomag, amelyet a szabályzat kizár. Mindhárom okozhat kézfogási hibát, és csak a hibaüzenet és a tárgyalási szakasz különbözteti meg őket.
Egyik sem az adatcsatorna titkosítása. Az OpenVPN az alagút titkosításáról a TLS-kézfogástól elkülönülten tárgyal, ezért egy biztonsági szintváltás után sikeres kapcsolat semmit sem mond arról, melyik titkosítás védi az adatait. Ha a kérdés, amelyet valójában feltesz, az adatok bizalmasságára vonatkozik, teljesen rossz gombot néz.
A szint csökkentése egyszerre szélesíti mindhárom bemenet elfogadását. Ez az a rész, amelyet az emberek kihagynak: a javítás, amely beenged egy régi tanúsítványt, beenged egy gyenge csoportot és egy olyan csomagot is, amelyet talán nem szándékozott engedélyezni. Egyetlen hiba váltotta ki a változtatást, és a változtatás szélesebb, mint a hiba. Ez az aszimmetria az oka annak, hogy a szűk hatókörű kivétel jobb, mint a teljes környezetre vonatkozó alapérték.
A bemenetet változtassa, ne a küszöböt
Őrizze meg a pontos hibát, mielőtt hozzányúl a konfigurációhoz, beleértve azt a szakaszt, amely jelentette, és azt az objektumot, amelyet megnevezett. A tanúsítványproblémát úgy oldja meg, hogy a tanúsítványt olyasmire cseréli, amelyet a jelenlegi szabályzat elfogad, ami általában azt jelenti, hogy újra kiadja a hatóságnál, nem pedig ugyanazt a fájlt telepíti újra.
Ha az elutasított bemenet olyan partnerhez tartozik, amelyet nem ellenőriz, a beszélgetés annak tulajdonosával a támogatott csereanyagról szól. Saját küszöbének csökkentése egy olyan rendszer elszállásolására, amelyet senki nem tart karban, a költséget tőlük mindenkire áthárítja, aki utánuk csatlakozik.
Ahol a kiszolgáló érvényesíti a szabályzatot, ellenőrizze, hogy valóban egy OpenVPN-szintű beállítás-e az ok, mielőtt a könyvtárat hibáztatná. Az a tanúsítványprofil, amely szigorúbb osztályt kér, mint amit a telepített tanúsítvány teljesíteni tud, a biztonsági szinttől függetlenül meghiúsul, és e profil eltávolítása szűkebb változtatás, mint a könyvtár ellenőrzéseinek kikapcsolása.
Ha csökkentenie kell, korlátozza és dokumentálja
Néha egy jóváhagyott kompatibilitási kivétel a helyes válasz, különösen egy dátumozott kivonulási tervvel rendelkező örökölt partner esetében. Korlátozza arra a szolgáltatásra, amelynek szüksége van rá, ne az egész gazdagépre: egy szolgáltatásonkénti konfigurációs fájl vagy egy dedikált OpenSSL-konfiguráció kisebb hatókörű, mint egy export a globális profilban.
Írjon le négy dolgot a kivétellel együtt: a pontos beállítást, az azt jóváhagyó tulajdonost, az érintett ügyfeleket és azt a feltételt, amely mellett eltávolítják. A kivonulási feltétel nélküli kivétel állandó gyengítés ideiglenes indoklással.
A visszaállításnak egyetlen lépésnek kell lennie, amelyet már tesztelt. Tartsa meg az előző konfigurációt, alkalmazza a változtatást, erősítse meg, hogy a szolgáltatás elindul, és tudja pontosan, melyik fájlt kell visszaállítani, ha a következő kapcsolat a vártnál eltérően viselkedik.
Ezután ellenőrizze az identitást és a védelmet
Egy sikeres kapcsolat csak azt bizonyítja, hogy a felülvizsgált feltételek beengedték. Erősítse meg, hogy a gazdagépnév- és partnereilenőrzés továbbra is végzi a dolgát, hogy a használt tanúsítvány az, amelyet telepíteni szándékozott, és hogy a tárgyalt adatcsatorna megfelel a feltételezett szabályzatnak.
openssl x509 -in /etc/openvpn/client.crt -noout -subject -dates -text | grep -E 'Signature Algorithm|Public-Key'
openvpn --show-tls | head -20Az OpenSSL biztonsági szintekről szóló referenciája egyértelműen kimondja, hogy a keretrendszer a kulcsokra, aláírásokra, csoportokra és csomagokra együtt alkalmaz korlátokat, és hogy a nulla szint mindent engedélyez, amit a visszahívás ellenőriz. Ez a változtatás hatóköre, és ez az a mondat, amelyet idézni kell, amikor valaki azt kérdezi, hogy a javítás szűk volt-e.
Az átadás, amely kiáll egy auditot, megmondja, melyik szabályzat melyik bemenetet utasította el, mi változott, és mi marad ennek eredményeként elfogadott. „Működik SECLEVEL=0-val” egy kapcsolatról szóló megfigyelés, nem a telepítés biztonsági értékelése.