„Této VPN nevěřím“ jsou obvykle tři tvrzení oblečená do jedné věty. Vzdálení partneři v této síti mohou dosáhnout služeb na vašem hostiteli, operátor provozující tunel může pozorovat provoz, který jím prochází, a klientský software, který jste nainstalovali, může měnit síťovou politiku vašeho stroje. Přesvědčení, které stojí za opravu, je, že pravidlo firewallu, virtuální stroj nebo pečlivá volba operačního systému odpovídá na všechny tři. Každé opatření odpovídá přesně na jedno z nich.

Mýtus: jeden kontrolní prvek pokrývá celé riziko

Běžný předpoklad je, že připojení k nedůvěryhodné síti je jediné rozhodnutí s jediným zmírněním. Lidé zvolí kontrolu, které už věří, použijí ji a považují riziko za vyřízené: firewall je zapnutý, pracovní prostor je jednorázový, klient pochází od váženého dodavatele.

Tyto kontroly se nepřekrývají tak, jak předpoklad naznačuje. Firewall na hostiteli omezuje, kam se vzdálený partner dostane, a nic nedělá proti operátorovi, který ukončuje váš TLS. Virtuální stroj odděluje pracovní prostor od souborů hostitele a nic nedělá proti klientské komponentě, které je dovoleno překonfigurovat síťový zásobník pod oběma. Pojmenovat hranici, kterou každá kontrola skutečně vytváří, je celé to cvičení.

Jejich oddělení vám také říká, které riziko jste se rozhodli přijmout. Většina skutečných rozhodnutí zmírňuje jednu hranici a snáší jinou, což je v pořádku, dokud záznam o změně říká, která je která.

Kam se vzdálený partner skutečně dostane

Začněte naslouchajícími službami. Tunelové rozhraní považované za široce důvěryhodné proto, že jeho pakety dorazily šifrované, je obvyklá chyba a mění každého místního posluchače v možný cíl pro kohokoli dalšího v této síti. Šifrování chrání drát mezi dvěma konci; neříká nic o úmyslu partnera na druhé straně.

ss -tulpn
sudo nft list ruleset
ip -br addr

Služby važte na adresu, kterou potřebují, místo na každé rozhraní, a povolte jen operace, které schválený úkol vyžaduje. Přeposílání, mostování a proxy aplikací držte explicitní, protože dvě síťová připojení sama o sobě tranzitní cestu nevytvářejí, ale pravidlo proxy rozhodně může.

Schválený jednorázový pracovní prostor snižuje, kam se vzdálená síť dostane, ale jen když jeho konfigurace sdílení odpovídá tvrzení. Sdílené složky, integrace schránky, agenti pověření a řídicí kanály všechny překračují hranici, kterou měl pracovní prostor vytvořit. Štítek pracovního prostoru nic nedokazuje o tom, které z nich jsou otevřené.

Architektura nulové důvěry NIST uvádí princip, který za tím vším stojí: samotné síťové umístění neuděluje implicitní důvěru. Ověřování zdrojů má po přijetí tunelu stále co dělat, a stejně tak otázka, kdo další tuto síť sdílí.

Co operátor na cestě vidí

VPN přesouvá váš provoz na jiné místo na cestě; nepřidává šifrování aplikací. Pokud poskytovatel ukončuje váš TLS, může číst to, co by váš prohlížeč jinak chránil, a žádné místní pravidlo firewallu to nezmění.

Zachovejte běžné ověřování certifikátů pro skutečné místo určení a rozumějte cestě překladače a metadat, protože dotaz DNS může odhalit víc než užitečné zatížení, které mu předchází. Samotná metadata, tedy kterých adres jste se dotazovali a kdy, často odpovídají na otázku operátora bez jakékoli potřeby číst obsah. Proto jsou „provoz je šifrovaný“ a „provoz je soukromý“ různá tvrzení.

Je-li tato viditelnost pro úkol nepřijatelná, odpovědí je jiná schválená architektura, nikoli více místního filtrování. Místní filtrování nemůže odstranit pozorovatele z cesty, na které stále sedí.

Co smí místní klient měnit

Tohle je hranice, kterou lidé přehlížejí, a právě ona činí ostatní dvě bezvýznamnými. V Linuxu CAP_NET_ADMIN pokrývá konfiguraci rozhraní, správu firewallu a změny tras v rámci svého síťového kontextu. Software s touto schopností může přepsat politiku, kterou jste právě napsali.

getcap /usr/sbin/openvpn
systemd-analyze security vpn-client.service
ip netns list

Síťový jmenný prostor je skutečná hranice pro síťový stav a špatná pro všechno ostatní: neizoluje souborový systém ani úložiště pověření. Berte ho jako jednu vrstvu, ne jako kontejner pro celý problém.

Získejte klienta a jeho konfiguraci z udržovaného zdroje, projděte oprávnění, která žádá, a privilegované komponenty držte pod kontrolou správce. Virtuální stroj může být součástí kvalifikované hranice hodnocení, aniž by se stal povolením spouštět nevysvětlený instalátor vedle cenných pověření. Instalátor běží s jakýmikoli oprávněními mu dáte, a tato oprávnění jsou hranicí.

Zapište, kterou hranici jste přijali

Uzavřete větou, která pojmenuje čtyři věci: důvěryhodný místní kód, povolený vzdálený přístup, chráněná data aplikací a zbývající vztah s operátorem. Ta věta má větší cenu než všeobecné tvrzení, že VM, operační systém nebo antivirový produkt učinily nepřátelskou síť bezpečnou.

Pak potvrďte, že úzká operace funguje a požadované odmítnutí stále platí, i poté co tunel spadne. Hranice, která existuje jen dokud je tunel nahoru, není hranicí, kterou jste zdokumentovali.

Žádný test neprokáže nepřítomnost všech zranitelností a recenze tvrdící opak přehání. Poctivý výstup pojmenuje zbytkové riziko a člověka, který je přijal.

Související články