Finns det några VPN:er som använder TLS eller något annat protokoll som inte kan upptäckas av DPI?

Jag har nyligen satt upp en WireGuard-server hemma, och jag undrar om det finns några alternativ som skulle tillåta mig att kringgå djup packet-inspektion? Jag hittade en handledning online för wstunnel, men den ger ingen information om hur man konfigurerar Windows-klienter.

Alla VPN:er bör kryptera din trafik. Min val, ExpressVPN, gör definitivt det. OpenVPN gör det också.

Men det kommer inte att stoppa:

  1. Att upptäcka att trafiken förmodligen är skyddad av en VPN, baserat på de yttre rubrikerna och den fjärranslutna punkten.
  2. Att avvisa trafik som DPI inte kan förstå och dekryptera framgångsrikt. Det Stora Kinesiska Eldnätet gör detta mycket.

Så det beror på om du försöker dölja vad du tittar på, eller att du använder en VPN alls. I vissa situationer är det enkelt att använda en VPN misstänkt.

Det enklaste vore att köra din trafik över port 443 och kryptera den, eftersom detta oftast inte stoppas. Om inte din arbetsgivare tvingar dig att använda en proxy och/eller deras certifikat, då är du i knipa.

Att kringgå dpi beror på många faktorer; protokollfingeravtryck, slutpunkter, tidpunkter, trafikmönster, men också om du är måltavla eller inte. Förvänta dig att alla kommersiella VPN-lösningar är komprometterade på något sätt. Alla läcker metadata, vissa är komprometterade (eller drivs av analytiker) och kommer också att läcka innehåll. De kommer åtminstone att flagga dig som VPN-användare, och via tidsattack kan det också vara möjligt att koppla ihop insats- och utgångstrafik, vilket avslöjar dina ursprungliga anslutningar. Du kan använda osynlighet och förvrängning kombinerat med värdar du kontrollerar för att hålla dig utom synhåll (om du inte/om du blir måltavla). Trafik för Tor är också mer eller mindre komprometterad (beroende på hur du använder den, och om du är måltavla). Se till att du har ett sätt att besegra trafikanalys (t.ex. att dölja din trafik bland oskyldig trafik).

Om du verkligen, verkligen behöver vara mycket säker, använd offline-lagringsmedia och datorsystem och se till att ta bort alla sändare (wifi, bluetooth, etc) från moderkortet.

TL/DR: VPN-lösningar över TLS kan bara vara effektiva i ett fåtal användningsfall. VPN:er är tänkta att hantera alla användningsfällen, så de flesta lösningar gick snabbt bort från TLS.

Är du redo för några tekniska detaljer?

TLS är ett krypteringslager ovanpå en TCP-anslutning. TCP är utformat för att garantera att varje sänd byte anländer, och anländer i ordning. Detta är en fantastisk funktion när du har en webbläsarklient direkt ansluten till en webbserver (ingen sida vill besväret att se till att inget försvann, låt OS ta hand om det). Men när du har ett realtidsvideo/ljudström, är det ibland okej att förlora några bytes (du vill förbli i synk, inte höra allt perfekt).

Med en VPN skapar du en väg som inte vet/ bryr sig om vad den används för att möjliggöra. Så om du försöker använda en TLS VPN för realtidstreaming, kan du hamna i knipa. Streamingservern kommer att säga “ditt paket tog för lång tid att komma fram? Visst, vi hoppar över det”, men TCP-stacket på servern kommer att säga “vänta, jag kan inte skicka något, jag är upptagen med att försöka skicka om det förlorade paketet”. och du kommer att sluta med alla förlorade ramar (mycket försenade), och anslutningen kommer att vara överfull med kopior av “komma ikapp”-ramarna som skickas av servern, vilket orsakar mer fördröjning i strömmen.

Sammanfattning:

Eftersom VPN-lösningar vill ha så många kunder som möjligt, måste de kunna fungera väl med alla potentiella datanvändningar. Så de har anslutningar som ser drastiskt annorlunda ut än “standard” webbtrafik.

Som andra nämnde, inte lätt beroende på hur hårt låst systemet är. Om det är så låst att de slänger allt de kan’t inspektera, då kan det vara nästintill omöjligt och när lösningen blir allmänt känd på Reddit, patchas den.

Jag försöker dölja att jag använder en vpn, jag vill bara att min trafik ska dirigeras till min dator utan att DPI inser att jag använder en vpn.

Jag ska ge det ett försök. Portframåt port 443 för min enhet och ställa in min WireGuard att dirigera till den punkten och lyssningsporten till 443?

Så TLS fungerar bara för TCP-anslutningar. Finns det några alternativ för att dölja att jag använder en vpn till nätverksbrandväggen?

Så i princip är det omöjligt? Det är inte så viktigt, jag vill bara komma förbi en brandvägg på ett visst nätverk som blockerar vissa webbplatser och anslutningar (dvs: war thunder wiki eller servrar).

Det är en hög bepaffad begäran. Så fort DPI inte kan läsa något om dina paket är den enda logiska slutsatsen att trafiken är krypterad. Om poängen är att dölja att din trafik är krypterad, ja…

Ett annat du KUNDE försöka är att köra VPN över port 443. Det är MÖJLIGT att DPI inte är så sofistikerad, beroende på vilken setup du är under, och den kommer att ignorera all krypterad data på https-porter, oavsett rubriker.

Tittar man på det, kanske inte så enkelt eftersom jag glömde att Wireguard är UDP och att 443-trafik vanligtvis är TCP - så de flesta brandväggar kommer att blockera det också. De enda UDP-portarna som ibland är olåsta är DNS (dvs 53) och NTP (123), du kan prova dessa.

Det finns många diskussioner om denna konfiguration och även omslag för att få UDP att köras över TCP med varierande framgång. Det finns också förslag på att använda andra saker än Wireguard, så det beror verkligen på hur din arbetsmiljö är uppsatt.

Jag har inte hittat någon. För att VPN ska vara osynlig skulle det behöva se ut som vanlig webtrafik, vilket alltid är över TCP.

När HTTP3 börjar bli vanligt kan saker öppna sig mer. HTTP3 använder ett nytt protokoll som heter quic. Eftersom det nya protokollet behöver passera gammal utrustning, skickas det med TCP:s syskonprotokoll UDP. När detta händer, kommer brandväggar att se “krypterad data i UDP,” och det är något du kan arbeta med för en VPN-lösning. Så vi får se.

Det är inte nödvändigtvis DPI. Från din beskrivning kan en enkel brandväggsregel blockera dig. Url-, webbfiltret eller appkontrollfiltret gör samma sak. VPN kommer inte att hjälpa om du är bakom brandväggen som inte är din. Det låter som att du försöker kringgå arbetsregler, inte en bra idé.

Du kan prova att använda en vpn som körs på port 443. Det är vanlig ssl-trafik, så den porten blockeras oftast inte, och detta kringgår enkla brandväggsregler som blockerar portintervall ut. Men inget garanterar att det fungerar, mer sofistikerade DPI-metoder fångar det ganska lätt.

Och även om du går all-in och kör ett komplett ssl-system (utöver att bara vara värd på TCP:443) kommer många DPI att avsluta anslutningen vid initieringsstadiet om certifikatet som används inte är “giltigt” (dvs. självsignerat). Du kanske kan initiera via en out of band-väg och dirigera om paket tillbaka genom den föredragna vägen om du använder UDP.

Det finns definitivt sätt att passera trafik genom nästan alla typer av begränsningar eftersom inget är perfekt säkert, att förstå de finare detaljerna i din miljö är dock nödvändigt för att skapa din lösning.

Jag försökte alla NordVPNs protokoll inklusive openVPN TCP & UDP. Jag ska prova de olika portarna dock. Tack!