OpenVPN tls-crypt-v2: mit tesz az ügyfélkulcs és a becsomagolt blob
A tls-crypt-v2 profil egy ügyfél-vezérlőkulcsot és egy becsomagolt másolatot tartalmaz, amelyet csak a kiszolgáló nyithat ki. Tartsa külön az egyes objektumokat és a kivonás minden lépését.
Egy tls-crypt-v2 profil beillesztése egy jegybe ártalmatlannak tűnik, amíg meg nem számolja, mi van a fájlban. Az ügyfél vezérlőcsatorna-kulcsa ugyanazon kulcs titkosított másolata mellett ül, és egy harmadik objektum, a becsomagoló kulcs soha nem hagyja el az elfogadó kiszolgálót. Ez a három különböző kérdésre válaszol a felügyeletről, a megosztásról és a kivonásról. Szétválasztásuk a legtöbb szabályzati vitát még a kezdet előtt rendezi.
Mit tartalmaz valójában a profil
A tls-crypt-v2 ügyfélfele egy kulcs és annak becsomagolt másolata. Az ügyfél a sima kulcsot használja a vezérlőcsatorna védelmére, és a beállítás során átadja a becsomagolt másolatot a kiszolgálónak, így a kiszolgáló ugyanazt a kulcsot állítja vissza anélkül, hogy ügyfelenként sima másolatot tárolna. A becsomagoló kulcs teszi lehetővé ezt a visszaállítást, és csak az elfogadó oldalon van helye. Minden lentebb abból következik, hol él ez a három objektum.
| Object | Where it lives | What can open it | What a leak costs |
|---|---|---|---|
| Server wrapping key | accepting servers only | the unwrap step inside the server | every wrapped copy issued to that group becomes readable |
| Wrapped client key | inside the client profile | the server wrapping key | it names a client and exposes its metadata, but not the key inside |
| Client control key | inside the client profile, usable as-is | the client that owns it | someone can open handshakes as that client until the server refuses the key |
Olvassa a táblázatot felügyelet szerint, ne név szerint, és a következmények maguktól kirajzolódnak. A becsomagoló kulcs elvesztése a drága esemény, mert a profilban semmi nem tudja újraépíteni, és a tisztességes helyreállítás a csoport újrakibocsátása. A kiszivárgott profil olcsóbb, de sokkal gyakoribb, mert az emberek jegyekbe illesztik a profilokat, abban a hitben, hogy a becsomagolt másolat biztonságossá teszi a fájlt a megosztásra. A két hiba különböző választ kíván, ezért tartják külön az objektumokat.
Miért nem a becsomagolt másolat a teljes történet
A profil a használható ügyfélanyagot a becsomagolt párjával együtt hordozza, így a másolat védelme a kiszolgáló számára semmit nem mond a fájl védelméről. A blob biztonságos továbbításra és nem biztonságos közzétételre. A benne lévő metaadatok láthatók mindenkinek, aki megkapja a blobot, beleértve azt is, aki később elolvassa a jegyet, amelybe beillesztették.
Tekintse a profilt hitelesítő adatnak, ne konfigurációs mintának. A kiszivárgott fájl működő ügyfélidentitást ad a birtokosának, amíg a kiszolgáló el nem kezdi elutasítani ezt az identitást, és a becsomagolás semmit nem tesz ezzel az ablakkal kapcsolatban. Ügyfelenként egy profilt bocsásson ki, hogy a visszavonás egyfájlos döntés maradjon, és a becsomagoló kulcsot az általa lehetővé tett kiszolgálókonfigurációtól külön mentse. Egyik szokás sem javít meg egy kompromittált profilt, de mindkettő eldönti, milyen gyorsan fékezhető meg a következő.
Hol ül az ellenőrző horog a kézfogásban
Az ellenőrző horog a TLS réteg felfedése előtt fut, és a feladata a becsomagolt blobban hordozott metaadatok vizsgálata. Megkapja azokat a metaadatokat plusz egy kis, dokumentált környezetet, és kevesebbel dolgozhat, mint egy hitelesítő horog. Annak feltételezése, hogy lát felhasználóneveket, munkamenet-állapotot vagy bővítményváltozókat, a szokásos módja annak, hogy ezt a horgot rosszul írják meg. Olvassa el a horog saját kézikönyvi szakaszát, ahelyett hogy egy másik hogtól kölcsönözne elvárásokat.
A kilépési állapota a döntés: a nullától eltérő eredmény elutasítja az ügyfelet, a nulla eredmény pedig engedi tovább a kézfogást. A szabályzatnak ezért ki kell mondania, mi történik, ha a metaadatok hiányoznak, nem elemezhetők vagy váratlanok. Először az elutasítási utat írja meg, aztán döntse el, mely értékek elfogadhatók.
tls-crypt-v2 /etc/openvpn/server/tcv2-server.key
tls-crypt-v2-verify /etc/openvpn/server/verify-client-metadata.shEz a két sor a szabályzat felülete a kiszolgálón: az egyik a becsomagoló kulcsot nevezi meg, a másik az ügyfelet elbíráló programot. Minden érdekes a szkriptben él, amely verziókezelést és ugyanolyan felülvizsgálatot érdemel, mint bármely más hozzáférési szabály.
A fiók, a tanúsítvány és a vezérlőkulcs külön vonul ki
A vezérlőcsatorna korai elfogadása nem hitelesítés, mert a TLS-identitás ellenőrzése előtt és bármilyen fiókengedélyezés előtt történik. A fiók letiltása, a tanúsítvány visszavonása és az ügyfél vezérlőkulcsának elutasítása három művelet három mechanizmussal. Az a telepítés, amely ezek közül csak egyet hajt végre, réssel rendelkezik, nem szabályzattal. Hangolja össze a hármat szándékosan, és jegyezze fel, melyik lépés melyik jogosultságot gyakorolja.
Az időzítés a második megkülönböztetés. A megváltozott elfogadási lista az új kézfogásokra vonatkozik, míg a már létrehozott munkamenetek tovább futnak, amíg valami meg nem szünteti őket. Az új listán szereplő bejegyzések számát annak bizonyítékaként venni, hogy a régi munkamenetek véget értek, az az út, ahogyan egy eltávolított ügyfél órákig kapcsolva marad.
Az össze nem hangolt jogosultságok két lyukat hagynak, amelyeket a gyakorlatban könnyű megtalálni. Egy fiók le lehet tiltva, miközben a vezérlőkulcsa még mindig kézfogást nyit, és egy tanúsítvány visszavonható, miközben a metaadat-szabályzat még mindig beengedi ugyanazt az ügyfelet. Mindkettő ugyanaz a hiba különböző helyeken, mert az üzemeltető egy listát tekintett a teljes jogosultságnak. Tegye egymás mellé a három listát az eltávolítás idején, és a hiba láthatóvá válik.
Profil kibocsátása és visszavonása
A kibocsátás a könnyű fele: hozza létre az ügyfélkulcsot az elfogadó oldalon, adja a profilt pontosan egy tulajdonosnak, tartsa korlátozottan a becsomagoló anyagot, és futtassa ugyanazt az ellenőrző programot minden elfogadó kiszolgálón. Az olcsó belépés az egész csoport tulajdonsága, nem a legújabb gépé. Egy régebbi vagy lazább szkripttel rendelkező második kiszolgáló csendben a telepítés leggyengébb útjává válik.
A visszavonáshoz a három lépés szándékos sorrendben kell. Tagadja meg az ügyfelet az ellenőrző horogban, hogy az új kézfogások meghiúsuljanak, vonja vissza a tanúsítványát, ha PKI-t használnak, és tiltsa le a fiókot, hogy a későbbi engedélyezésnek ne legyen mit engedélyeznie. Ezután szüntesse meg a régi elfogadás által engedélyezett munkameneteket, mert azok a három közül egyiket sem veszik észre. Gyakorolja a sorrendet egy ügyfélen, amelyet megengedhet magának, hogy eltörjön.
A profilban lévő metaadatok bemenetek ehhez a szabályzathoz, nem bizonyítékai annak, hogy a hozzáférés-vezérlés már létezik. Az OpenVPN 2.6 tervezési dokumentuma leírja az objektumokat és az általuk húzott határt, míg érvényesítésük az üzemeltetőnél marad.