Omezte naslouchající VPN jen na rozhraní, která máte na mysli
Naslouchající socket s wildcardem a pravidlo firewallu jsou různé kontroly. Přečtěte si skutečné sockety pomocí ss a potom zkontrolujte rodinu adres a firewall.
Služba VPN je dostupná odkudkoli, kde je její socket navázán a kde to její firewall dovoluje. To jsou dvě samostatná rozhodnutí a lidé obvykle udělají jen jedno z nich. Přečtení skutečného naslouchajícího socketu trvá deset sekund a vyřeší otázku, kterou hádání vyřešit nedokáže. Začněte tam a potom měňte jednu kontrolu po druhé.
Vše níže předpokládá, že můžete na hostiteli spouštět příkazy jako root nebo přes sudo.
Přečtěte si sockety, než cokoli změníte
V Linuxu ss -lunp vypisuje UDP naslouchající sockety s jejich místní adresou, portem a procesem a ss -ltnp dělá totéž pro TCP. Najděte port VPN a pozorně si přečtěte sloupec s adresou. 0.0.0.0:51820 a [::]:51820 znamenají každé rozhraní, zatímco 10.0.0.5:51820 znamená jednu adresu na jednom rozhraní. Manuál k ss popisuje sloupce, pokud je výstup neznámý. Pokud chybí název procesu, spusťte stejný příkaz se sudo, protože sloupec vlastníka vyžaduje oprávnění.
Adresu si zapište. Je to skutečnost, na níž závisí zbytek tohoto návodu.
Navazujte na adresu, ne na přání
OpenVPN má direktivu local, která navazuje naslouchající socket na konkrétní adresu a to je podporovaný způsob, jak jej omezit na úrovni procesu. Ne každá implementace nabízí ekvivalent a protokol bez možnosti navázání nelze tímto způsobem zúžit. Pokud ji vaše nemá, je firewall vaší jedinou kontrolou a poznámky k nasazení by to měly říci jasně. Na hostiteli s několika adresami se navazujte na tu, která míří k tunelu; navázání na plovoucí adresu je obvykle chyba.
Služba, která musí přežít změnu adresy, potřebuje plán pro zastaralé navázání, ne jen konfigurační řádek.
Zkontrolujte rodinu adres zvlášť
IPv4 a IPv6 jsou samostatné sockety. Proces navázaný na 0.0.0.0 může stále přijímat IPv6 přes dual-stack socket, nebo nemusí, podle volby socketu a výchozího nastavení platformy. Čtení jen řádku IPv4 už zmátlo nejeden audit nasazení. Než uzavřete, že je naslouchající socket úzký, vypište obě rodiny.
Pokud IPv6 není součástí návrhu, je jeho vypnutí na úrovni socketu čistší než doufat, že ho firewall pokryje. Je to rozhodnutí o politice, takže je zaznamenejte spolu s ostatními volbami rozhraní.
Vrstvěte firewall nad navázání
Úzké navázání nenahrazuje pravidlo firewallu a pravidlo firewallu nezúží wildcard navázání. Použijte obojí: navazujte tam, kde to implementace podporuje, a potom povolte port jen ze zdrojů, které by se k němu měly dostat. Cloudové bezpečnostní skupiny stojí před firewallem hostitele, takže když cesta přechází hranici VPC, zkontrolujte obojí. Účinné pravidlo je průnik obou a každá vrstva může jen ubírat dostupnost.
Testujte z povoleného zdroje a z úmyslně vyloučeného. Připojení z localhostu nic nedokazuje o veřejné hranici.
Zaznamenejte, co jste zvolili
Zapište navázanou adresu, rozhraní, které ji vlastní, pravidlo firewallu a jeho účel. Náhradní NIC nebo přidělená cloudová adresa mohou změnit expozici, aniž by kdokoli upravil profil. Poznámku opatřete datem, protože cloudové adresy se mezi revizemi mění častěji, než lidé čekají.
Právě tato poznámka dělá z příští revize srovnání místo archeologického projektu.