A szállító VPN-alkalmazása a NetworkManager ellenében: ki birtokolja az állapotot?
A profil egy bővítményt nevez meg, nem a szállító kliensének viselkedését. Térképezze fel, ki birtokolja a regisztrációt, a DNS-t, a blokkolást és a frissítéseket, mielőtt felügyelt laptopot vált.
Egy profil importálása nem ugyanaz, mint egy kliens lecserélése. A NetworkManager a bővítmény típusát a bővítményspecifikus adatokkal és titkokkal együtt tárolja, és a típust birtokló bővítmény dönti el, mit tehet a kapcsolat. Minden, amit a szállító alkalmazása ráépít, a regisztrációtól az állandó blokkolásig, a fájlon kívül él. Hogy a váltás biztonságos-e, azon múlik, melyik rétegekre támaszkodik valóban.
A fájl bővítményt nevez meg, nem funkciókészletet
A NetworkManager VPN-beállítási referenciája egy szolgáltatástípust ír le, amely kiválasztja a bővítményt, továbbá egy átláthatatlan adatszótárat és egy titokszótárat, amelyet csak a bővítmény értelmez. A profil szerződés egyetlen implementációval, nem pedig olyan viselkedés leírása, amelyet bármely kliens reprodukálhat. Két kliens beszélhet ugyanazt a protokollt, és mégis különbözhet abban, mit tárgyal, és mely adatutakat engedélyezi. A protokoll címkéje megmondja, mi az alagút, soha nem azt, mit tesz vele a környező kliens.
Hasonlítson tehát követelményeket, ne burkolókat. A kérdés nem az, tud-e csatlakozni az alternatíva, mert általában tud; hanem az, hogy minden követelmény, amely az eredeti klienst elfogadhatóvá tette, túléli-e a váltást. Írja le ezeket a követelményeket, mielőtt bármit telepít, különben az összehasonlítás annak hajszolásává válik, ami először eltörik.
Mit tesz hozzá a szállító alkalmazása az alagút körül
A szállítói kliensek rendszerint együtt csomagolják a regisztrációt és az eszköz állapotának ellenőrzését, a saját felülettel rendelkező második faktoros folyamatot, az állandó blokkolást, egy frissítési csatornát és a támogató eszközöket. Ennek egy része a protokoll mellett áll, más része külön termék, amely csak egy telepítőt oszt meg. A NetworkManager lecserélheti az alagutat és annak útvonalválasztását, a diszpécserparancsfájlok pedig műveleteket indíthatnak, amikor a kapcsolat állapota megváltozik. Nem reprodukálja azonban a blokkolómotort, a tanúsítvány-megújítási folyamatot vagy azt a feltevést, hogy mely felhasználó emelheti fel a kapcsolatot.
A több komponens nem jelent nagyobb biztonságot, a kevesebb nem jelent gyengébbet. A kérdés az, melyik komponens kényszeríti ki azt a szabályzatot, amelyet követnie kellett. Ha egy auditor azt kérdezi, mi blokkolja a forgalmat, amikor az alagút leesik, a válasznak olyasmit kell megneveznie, ami ezt valóban megteszi, és egy csak kapcsolódó profil nem ez a válasz.
Ahol a tulajdonjog valóban eltér
Ezt tulajdonjogi térképként olvassa, ne ellenőrzőlistaként, mert az alábbi hibák tulajdonjogi rések, és a klienskonfiguráció semmilyen mennyisége nem zárja be őket. Minden sor megnevezi a réteget, a felet, amely ma általában tartja, és azt, ahol a rés először megmutatkozik.
| Layer | Vendor application | NetworkManager connection | Where the gap shows up |
|---|---|---|---|
| Enrollment and posture | built into the client | absent unless something else supplies it | a managed device fails its next posture check |
| Address and resolver authority | the client sets both | the plugin plus dispatcher scripts | names resolve through the wrong resolver after a state change |
| Blocking on drop | a bundled engine | nothing by default | traffic continues in the clear after the tunnel dies |
| Upgrade path | the vendor's own channel | the distribution package and its plugin | a plugin update changes behaviour with no vendor note |
| Diagnostics and support | vendor tooling with client state | journal and dispatcher output | support cannot see why negotiation failed |
Minden sort olyan megfigyeléshez kapcsoljon, amelyet meg tud ismételni, ne a kliensről alkotott érzéshez. A szándékolt feloldón keresztül feloldott név, az alagút leállásakor eltűnő útvonal és a szimulált szakadás után blokkolt kapcsolat három megfigyelés, amelyek együtt a táblázat nagy részét lefedik. Írja a megfigyelést annak a követelménynek a mellé, amelyet bizonyít, és tartsa meg a meghiúsultakat, mert a meghiúsult megfigyelés a feljegyzés egyetlen része, amely előre jelzi a következő eseményt.
Váltás átfedő tulajdonjog nélkül
A szállító kliensének és egy NetworkManager-kapcsolatnak az egyidejű futtatása ugyanahhoz a szolgáltatáshoz a leggyakoribb módja annak, hogy ezek az összehasonlítások félremenjenek. Mindkettő útvonalakat telepít, mindkettő beállíthatja a DNS-t, és mindkettő hozzányúlhat a tűzfal állapotához. Amit ilyenkor mér, az egy harmadik elrendezés, amely egyik kliens dokumentált viselkedésének sem felel meg.
nmcli -f NAME,UUID,TYPE connection show
nmcli connection show work --show-secrets | grep -E "^vpn\."
journalctl -u NetworkManager -b --since "10 min ago"Az első parancs megmondja, hogy a profil egyáltalán VPN-típus-e. A második megmutatja a bővítmény szolgáltatástípusát és a tárolt titkokat, ami számít, amikor kulcsot ügynöktől várnak a fájl helyett. A napló az a hely, ahol a betöltött, de tárgyalni nem tudó bővítmény ezt megmondja. Ha a három közül egyik sem mutat problémát, a rés az alagút feletti szabályzati rétegekben van, nem a kapcsolatban.
Az új kapcsolat engedélyezése előtt válassza le a régi klienst, tartsa azonosnak a végpontokat és a fiókot, és írja le, melyik komponens birtokolja az útvonalakat, a feloldó beállításait és a blokkolást. Ez a feljegyzés az, ami megakadályozza, hogy a következő frissítés két tulajdonossal végződjön.