Veřejná VPN konfigurace přestala fungovat? Přečtěte si fázi selhání
Stažený profil popisuje jeden host v jeden den. Přečtěte si, které tvrzení přestalo platit, zkontrolujte certifikát, který protistrana předkládá, a nikdy nevypínejte ověřování.
Profil fungoval v úterý a v pátek se klient třicet sekund točí a vzdá to. Na vašem počítači se nic nezměnilo. A přesně o to jde: stažená konfigurace popisuje jeden host v jednom okamžiku a operátor na druhé straně není povinen tento popis udržovat pravdivý. Pokušení je začít upravovat bezpečnostní nastavení, dokud se tunel nevrátí. Právě tento instinkt vede k tomu, že lidé skončí s profilem s vypnutým ověřováním certifikátů, což je horší než nemít tunel vůbec žádný.
Soubor popisuje okamžik, ne smlouvu
Konfigurační soubor je soubor tvrzení: toto jméno hostitele naslouchá na tomto portu s tímto protokolem, předkládá certifikát odpovídající tomuto jménu a přijímá tyto přihlašovací údaje. Když kterékoli z nich přestane platit, soubor je zastaralý a oprava patří na stranu operátora za hranicí, ne do vašeho nastavení.
Veřejné seznamy uzlů to svou povahou činí zjevným. Uzly provozují dobrovolníci, objevují se a mizí, adresy se recyklují a porty blokuje síť, za kterou stojí. Seznam je snímek, který se znovu generuje, a kopie na vašem disku je fotografie staršího snímku.
Komerční služby se mění pomaleji, ale ne nikdy. Certifikační autority se rotují, posluchač se přesouvá ze sdílené adresy na vyhrazenou, starý protokol se vyřazuje a přichází nový seznam šifer. Každé z toho je neviditelné, dokud se váš klient nepokusí připojit a nedostane jinou odpověď, než soubor očekává.
Přečtěte si fázi selhání, než sáhnete na nastavení
Chybová zpráva říká, které tvrzení selhalo, a každé tvrzení má úplně jinou opravu. Upravovat šifry, když se jméno hostitele už nepřekládá, ztratí odpoledne a nikoho nic nenaučí.
| What happens | The assertion that broke | Supported response |
|---|---|---|
| Name never resolves | The host still exists under that name | Get a current endpoint from the operator |
| TCP connect times out | The listener is on that port and reachable | Check the current published port, then the local network |
| TLS or key exchange fails | The peer presents the expected identity | Compare the certificate, not the cipher list |
| Authentication rejected | The account is still valid | Get credentials reissued or stop using the service |
dig +short vpn.example.net
curl -sS -o /dev/null -w 'connect=%{time_connect} tls=%{time_appconnect}\n' --max-time 8 https://vpn.example.net:443/
openssl s_client -connect vpn.example.net:443 -servername vpn.example.net -brief </dev/nullProstřední řádek odděluje zablokovanou cestu od rozbitého handshake a třetí ukazuje vydavatele a data platnosti certifikátu, který se skutečně předkládá. Pokud tento vydavatel není ten, který profil připnul, certifikát se změnil a žádná volba na straně klienta neudělá starý pin znovu správným.
Změny certifikátu a identity jsou ty tiché
Většina selhání se ohlašuje sama. Změny identity ne, protože klient, který připíná jméno certifikátu, odmítne zcela dobrý nový certifikát se zprávou, kterou mnozí čtou jako chybu v softwaru. Tunel je v pořádku. Pin je zastaralý.
Než cokoli uzavřete, hledejte volby identity:
grep -nE '^(remote|proto|auth|verify-x509-name|tls-crypt|key-direction|ca) ' profile.ovpn
openssl x509 -in profile-ca.crt -noout -subject -datesPokud profil nese vloženou CA a operátor přešel na novou autoritu, starý soubor nemůže ověřit nový server. Nahradit blok CA tím, který operátor zveřejnil, je legitimní oprava. Smazat direktivu ověřování není, a jsou to stejné úhozy s velmi odlišným výsledkem.
Aktualizace klienta může vyvolat stejný příznak bez jakékoli změny u operátora. Volby, které byly tiše tolerovány, se nyní odmítají, nebo se vyřadí zastaralý protokol. To je limit kompatibility ve vašem softwaru a stojí za to vyzkoušet druhý profil se stejným klientem, než obviníte server.
Platnou náhradu může zveřejnit jen operátor
Když uzel zmizí, náhrada musí přijít ze stejného zdroje, který zveřejnil originál. Profil, který dorazí v přímé zprávě, protože „používá stejné jméno serveru“, je neověřená konfigurace od neznámé strany, a jeho import dá této straně kontrolu nad vaším směrováním.
Kontrola je levná. Stáhněte aktuální soubor ze zveřejněného místa, porovnejte koncový bod a protokol se seznamem a potvrďte otisk materiálu CA, místo abyste věřili názvu souboru:
curl -sS -o current.ovpn https://example.org/nodes/current.ovpn
sha256sum current.ovpn profile.ovpn
grep -nE '^(remote|proto) ' current.ovpnPokud se oba hashe liší jen v bílých znacích, máte změnu formátování. Pokud se liší v koncových bodech, operátor něco přesunul a zveřejněný soubor je autorita. Pokud je zveřejněný soubor starší než ten, který máte, pravděpodobně se díváte do mezipaměti a zastaralá odpověď vás pošle špatným směrem.
Vyřaďte starý záznam a zapište, co se stalo
Jakmile je ověřena funkční náhrada, smažte starý profil, místo abyste ho drželi jako záložní. Zastaralý záznam, který se napůl připojí, je past: bude vybrán během výpadku, bude selhávat pomalu a ten, kdo bude ladit, stráví prvních deset minut u špatného souboru.
Veďte krátký záznam mimo konfiguraci: datum, starý koncový bod, fázi selhání a co ho nahradilo. Veřejné uzly se mění a za šest týdnů přijde stejná otázka s jiným člověkem. Jeden řádek v poznámkovém souboru na ni odpoví za sekundy.
Pokud z jedné sítě selže každý uzel stejně a z jiné žádný, přestaňte upravovat profily a podívejte se na lokální cestu. Captive portal, filtrovaný rozsah portů nebo zachytávající proxy vytvoří shodné chyby u nesouvisejících poskytovatelů, a právě tento vzorec je jediný signál, že problém nikdy nebyl v souboru.