Säkerhet
Utvecklingstunnlar är en säkerhetsfokuserad tunneltjänst för utvecklare. I den här artikeln får du lära dig mer om hur utvecklingstunnlar skyddas.
Översikt
Som standard kräver värd- och anslutning till en tunnel autentisering med samma Microsoft-, Microsoft Entra-ID eller GitHub-konto som skapade tunneln. Tunneltrafik kräver att utgående anslutningar görs till tjänsten som finns i Azure. Inga inkommande anslutningar krävs för att använda tjänsten.
Domäner
Åtkomst till utvecklingstunnlar kan styras genom att tillåta eller neka utgående åtkomst till följande domäner:
Autentisering
github.com
login.microsoftonline.com
Utvecklingstunnlar
global.rel.tunnels.api.visualstudio.com
[clusterId].rel.tunnels.api.visualstudio.com
[clusterId]-data.rel.tunnels.api.visualstudio.com
*.[clusterId].devtunnels.ms
*.devtunnels.ms
Listan över aktuella [clusterId]
värden är tillgänglig på https://global.rel.tunnels.api.visualstudio.com/api/v1/clusters.
Webbvidarebefordring
Tunnelportar med hjälp av HTTP(S)/WS(S)-protokollen kan nås direkt via den angivna url:en för webbvidarebefordring (till exempel: https://tunnelid-3000.devtunnels.ms
).
- Osäkra klientanslutningar uppgraderas alltid automatiskt till HTTPS/WSS.
- HTTP Strict Transport Security (HSTS) är aktiverat med en maxålder på ett år.
- Den lägsta TLS-version som tjänsten stöder är 1.2, där TLS 1.3 är den föredragna versionen.
- TLS-avslutning sker vid tjänst-ingress med hjälp av tjänstcertifikat som utfärdats av en Microsoft CA.
- Efter TLS-avslutningen sker rubrikomskrivning. Detta krävs för många scenarier för webbprogramutveckling.
Skydd mot nätfiske
När du ansluter till en url för webbvidarebefordring för första gången visas en interstitiell sida för skydd mot nätfiske. Sidan hoppas över under följande omständigheter:
- Begäran använder en annan metod än
GET
- Begärandehuvudet
Accept
innehåller intetext/html
- Begäran innehåller
X-Tunnel-Skip-AntiPhishing-Page
rubriken - Begäran innehåller
X-Tunnel-Authorization
rubriken - Användaren har redan besökt sidan och klickat på Fortsätt
Tunnelåtkomst
Som standard är tunnlar och tunnelportar privata och är endast tillgängliga för den användare som skapade tunneln.
Om en tunnel- eller tunnelport behöver nås utan autentisering kan en åtkomstkontrollpost (ACE) läggas till (använd --allow-anonymous
).
Tunnelåtkomst kan också utökas till din aktuella Microsoft Entra-klientorganisation (använd --tenant
) eller specifika GitHub-organisationer (använd --organization
); för de senare se GitHub Organisationsåtkomst nedan.
CLI kan också användas för att begära åtkomsttoken som ger begränsad åtkomst till alla som har token (använd devtunnel token
). Det här är en avancerad funktion men kan vara användbar i specifika situationer.
För närvarande är fyra typer av tunnelåtkomsttoken tillgängliga:
- Med en "klientåtkomsttoken" kan innehavaren ansluta till alla portar i tunneln.
- Med en "värdåtkomsttoken" kan innehavaren vara värd för tunneln och acceptera anslutningar, men inte göra några andra ändringar i den.
- Med en "hantera portåtkomsttoken" kan innehavaren lägga till och ta bort portar i en tunnel.
- Med en "hanteringsåtkomsttoken" kan innehavaren utföra alla åtgärder i tunneln, inklusive att ställa in åtkomstkontroller, vara värd, ansluta och ta bort tunneln.
Alla token är begränsade till den aktuella tunneln. de beviljar inte åtkomst till någon av den aktuella användarens andra tunnlar, om några. Token upphör att gälla efter en viss tid (för närvarande 24 timmar). Token kan bara uppdateras med hjälp av en faktisk användaridentitet som har hanterad omfångsåtkomst till tunneln (inte bara en åtkomsttoken för hantering).
De flesta CLI-kommandon kan acceptera ett --access-token
argument med en lämplig token som ett alternativ till att logga in.
Webbklienter kan skicka en token i en rubrik för att auktorisera begäranden till en tunnel-URI:
X-Tunnel-Authorization: tunnel <TOKEN>
Dricks
Detta är användbart för icke-interaktiva klienter eftersom det gör att de kan komma åt tunnlar utan att anonym åtkomst krävs för att aktiveras. Vi använder X-Tunnel-Authorization
huvudet i stället för standardrubriken Authorization
för att förhindra att programspecifik auktorisering kan störas.
Mer information om hur du hanterar tunnelåtkomst via CLI finns i avsnittet Hantera åtkomst till utvecklingstunnel.
GitHub-organisationsåtkomst
Om du vill stödja tunnlar som ger åtkomst till alla medlemmar i en GitHub-organisation installerar du Dev Tunnels GitHub-appen i organisationen. Det ger Dev Tunnels-tjänsten behörighet att kontrollera användarnas medlemskapsstatus i organisationen. (Dev Tunnels kräver inte lagringsplatsbehörigheter till organisationen.) Du kan behöva vara administratör i GitHub-organisationen för att utföra den här åtgärden.
Ytterligare frågor
Om du har granskat den här sidan har du ytterligare frågor, se Feedback och support.