Sdílet prostřednictvím


Zabezpečení

Vývojové tunely jsou služba tunelového propojení zaměřená na zabezpečení. V tomto článku se dozvíte, jak jsou vývojové tunely zabezpečené.

Přehled

Ve výchozím nastavení vyžaduje hostování a připojení k tunelu ověřování pomocí stejného účtu Microsoft, Microsoft Entra ID nebo účtu GitHub, který tunel vytvořil. Tunelování vyžaduje, aby odchozí připojení byla provedena ve službě hostované v Azure. K používání služby nejsou nutná žádná příchozí připojení.

Domény

Přístup k vývojovými tunely je možné řídit povolením nebo odepřením odchozího přístupu k následujícím doménám:

  • Ověřování

    • github.com
    • login.microsoftonline.com
  • Vývojové tunely

    • global.rel.tunnels.api.visualstudio.com
    • [clusterId].rel.tunnels.api.visualstudio.com
    • [clusterId]-data.rel.tunnels.api.visualstudio.com
    • *.[clusterId].devtunnels.ms
    • *.devtunnels.ms

Seznam aktuálních [clusterId] hodnot je k dispozici na adrese https://global.rel.tunnels.api.visualstudio.com/api/v1/clusters.

Přeposílání webu

K portům tunelu pomocí protokolů HTTP(S)/WS(S) je možné přistupovat přímo přes zadanou adresu URL pro přesměrování webu (například: https://tunnelid-3000.devtunnels.ms).

  • Nezabezpečená klientská připojení se vždy automaticky upgradují na HTTPS/WSS.
  • Služba HTTP Strict Transport Security (HSTS) je povolená s jedním ročním maximálním věkem.
  • Minimální verze protokolu TLS, kterou služba podporuje, je 1.2, přičemž upřednostňovanou verzí je tls 1.3.
  • Ukončení protokolu TLS se provádí v příchozím přenosu dat služby pomocí certifikátů služeb vydaných certifikační autoritou Microsoftu.
    • Po ukončení protokolu TLS probíhá přepis hlaviček. To se vyžaduje pro mnoho scénářů vývoje webových aplikací.

Ochrana proti útokům phishing

Při prvním připojování k adrese URL pro přesměrování webu se uživatelům zobrazí intersticiální anti-phishingová stránka. Stránka se přeskočí za následujících okolností:

  • Požadavek používá jinou metodu než GET
  • Hlavička požadavku Accept neobsahuje text/html
  • Požadavek obsahuje hlavičku X-Tunnel-Skip-AntiPhishing-Page .
  • Požadavek obsahuje hlavičku X-Tunnel-Authorization .
  • Uživatel už stránku navštívil a kliknul na pokračovat.

Přístup k tunelu

Ve výchozím nastavení jsou tunely a porty tunelu soukromé a přístupné pouze pro uživatele, který tunel vytvořil.

Pokud je potřeba získat přístup k tunelu nebo portu tunelu bez ověřování, je možné přidat (použít --allow-anonymous) položku řízení přístupu (ACE).

Přístup k tunelu je možné rozšířit také na vašeho aktuálního tenanta Microsoft Entra (použití --tenant) nebo konkrétní organizace GitHubu (použijte --organization), kde najdete níže uvedený přístup k organizaci GitHubu.

Rozhraní příkazového řádku se dá použít také k vyžádání přístupových tokenů, které udělují omezený přístup komukoli, kdo token drží (použijte devtunnel token). Jedná se o pokročilou funkci, ale může být užitečná v konkrétních situacích.

V současné době jsou k dispozici čtyři typy přístupových tokenů tunelu:

  • "Přístupový token klienta" umožňuje nosné připojení k jakýmkoli portům tunelu.
  • "Přístupový token hostitele" umožňuje nosné hostování tunelu a přijímat připojení, ale ne provádět žádné další změny.
  • "Přístupový token pro správu portů" umožňuje nosné sadě přidávat a odstraňovat porty v tunelu.
  • "Přístupový token pro správu" umožňuje nosný provádět všechny operace na daném tunelu, včetně nastavení řízení přístupu, hostování, připojení a odstranění tunelu.

Všechny tokeny jsou omezeny na aktuální tunel; neudělují přístup k žádnému z jiných tunelů aktuálního uživatele, pokud existuje. Platnost tokenů vyprší po nějaké době (aktuálně 24 hodin). Tokeny je možné aktualizovat pouze pomocí skutečné identity uživatele, která má přístup ke tunelu v oboru správy (nejen přístupový token pro správu).

Většina příkazů rozhraní příkazového řádku může jako alternativu k přihlášení přijmout --access-token argument s odpovídajícím tokenem.

Webové klienty můžou předat token v hlavičce pro autorizaci požadavků na identifikátor URI tunelu:

X-Tunnel-Authorization: tunnel <TOKEN>

Tip

To je užitečné pro neinteraktivní klienty, protože jim umožňuje přístup k tunelům bez nutnosti povolit anonymní přístup. Hlavičku X-Tunnel-Authorization používáme místo standardní Authorization hlavičky, abychom zabránili potenciálnímu narušení autorizace specifické pro aplikaci.

Další informace o správě přístupu k tunelu prostřednictvím rozhraní příkazového řádku najdete v části Správa přístupu k vývojovému tunelu.

Přístup k organizaci GitHubu

Pokud chcete podporovat tunely, které udělují přístup všem členům organizace GitHubu, nainstalujte v organizaci aplikaci Dev Tunnels GitHub. To službě Dev Tunnels dává oprávnění ke kontrole stavu členství uživatelů v dané organizaci. (Dev Tunnels nevyžaduje oprávnění úložiště pro organizaci.) K provedení této operace možná budete muset být správcem v organizaci GitHubu.

Další otázky

Pokud po kontrole této stránky máte další otázky, podívejte se na zpětnou vazbu a podporu.