Tunneleringsprotokoll

I sammenheng med datanettverk er en tunnelprotokoll en kommunikasjonsprotokoll som lar en bruker tilby eller få tilgang til en tjeneste som ikke støttes eller ikke leveres direkte av nettverket . En viktig bruk av tunnelering er for eksempel å la en fremmed protokoll brukes på et nettverk som naturlig nok ikke støtter det; bruk for eksempel IPv6 på et IPv4 -kompatibelt nettverk . En annen viktig bruk er å tilby tjenester som vanligvis er upraktiske eller usikre når de tilbys gjennom det opprinnelige nettverket; for eksempel å gi en bedriftsnettverksadresse til en ekstern bruker hvis fysiske nettverk ikke er en del av bedriftsnettverket. Siden tunnelering involverer re - innkapsling av nettverkstrafikk til en annen form, vanligvis ved hjelp av en kryptografisk standard , er en tredje bruk å skjule arten av dataene som tunneleres.

Tunneleringsprotokollen fungerer ved å bruke datadelen av en vanlig IP-pakke kalt nyttelast , der de faktiske pakkene levert av tjenesten lagres. Tunneling bruker en lagdelt protokollmodell, for eksempel OSI- eller TCP/IP-protokoller , men bryter ofte med denne funksjonen når den bruker nyttelasten til å bære en tjeneste som normalt ikke forventes av det underliggende nettverket. Vanligvis, i den lagdelte modellen, opererer mottaksprotokollen på et nivå som er lik eller høyere enn avsenderprotokollen (også kalt nyttelast).

Tekniske egenskaper

For å forstå en bestemt implementering av en tunnelprotokoll, må man først forstå teknikkene som brukes mest av sende (nyttelast) og mottaksprotokoller.

Som et eksempel på tunneling på nettverksnivå har vi Generic Routing Encapsulation (GRE)-protokollen; denne bruker IP (IP-protokoll nummer 47) for å transportere pakker med private RFC 1918 -adresser , for eksempel tilhørende et lokalt nettverk, over internett til et annet lokalt nettverk. GRE-protokollen bruker pakker med IP-hoder; i dette tilfellet er mottaksprotokollen og sendeprotokollen de samme, men nyttelastadressene er inkompatible med de til mottakernettverket (fordi de er offentlige adresser, og i stedet forventer mottakerprotokollen adresser fra et lokalt nettverk); Ved ankomst av pakken tar GRE seg av å fjerne IP-headeren og pakken gjøres kompatibel med den opprinnelige protokollen til destinasjons-LAN.

Oppsummert tillater GRE-protokollen, gjennom tunnelering, maskiner som tilhører separate lokale nettverk å kommunisere, uten at disse trenger å bruke andre protokoller enn de de allerede brukte lokalt. Faktisk endres ikke sende- og mottaksprotokollene, GRE endrer faktisk oppførselen deres for å utvide funksjonene deres uten at de nevnte protokollene må skrives om eller endres.

Det er også mulig å etablere en tunnelforbindelse ved hjelp av linklaget L2TP (Layer Two Tunneling Protocol) tillater overføring av rammer mellom to noder. Tunnelen er ikke kryptert som standard, den er avhengig av TCP/IP-protokollen for å bestemme sikkerhetsnivået.

SSH bruker port 22 for å tillate kryptering av nyttelastdata som overføres over offentlige tilkoblinger (som internett ), og fungerer dermed også som en VPN .

IPsec -standarden drives normalt i ende-til-ende-modus, men kan også operere i tunnelmodus gjennom pålitelige sikkerhetsgatewayer .

Sikker Shell Tunneling

En Secure Shell- tunnel består av en kryptert tunnel opprettet gjennom en SSH- tilkoblingsprotokoll . Brukeren kan sette opp en SSH-tunnel for å overføre gratis trafikk til nettverket via en kryptert kanal. For eksempel kan Microsoft Windows-datamaskiner dele filer ved å bruke den ukrypterte Server Message Block (SMB)-protokollen. Hvis du monterer et Microsoft Windows -filsystem eksternt over Internett, kan noen som snuser på tilkoblingen se de overførte filene. For å montere filsystemet sikkert kan det etableres en SSH-tunnel som ruter all SMB-trafikk til den eksterne filserveren i en kryptert kanal.

For å sette opp en SSH-tunnel lokalt, må en SSH-klient konfigureres til å videresende en spesifikk lokal port (grønn i bildet) til en port på den eksterne maskinen (lilla i bildet). Denne prosessen er kjent som portvideresending . Når SSH-tunnelen er etablert, kan brukeren koble seg til den spesifikke lokale porten (grønn i bildet) for å få tilgang til den valgte tjenesten. Det er ikke obligatorisk at den lokale porten er den samme som den eksterne porten.

SSH-tunnelering lar deg omgå brannmurer som forbyr visse internettjenester, så lenge utgående tilkoblinger er tillatt. For eksempel kan en organisasjon ønske å forby brukere direkte tilgang til nettsider på internett (port 80), noe som effektivt gjør det obligatorisk å bruke organisasjonens proxy-server (som lar organisasjonen overvåke eller blokkere dette som brukeren ser gjennom nett). Det kan imidlertid hende at brukere ikke vil at nettrafikken deres skal kontrolleres eller blokkeres av organisasjonens proxy. Hvis brukere kan koble til en ekstern SSH-server, kan de opprette en SSH-tunnel for å videresende en gitt port på deres lokale maskin til port 80 på den eksterne webserveren . Når SSH-tunnelen er konfigurert, kan brukere fritt få tilgang til den eksterne webserveren ved å peke nettleseren til den lokale porten de selv velger ved å skrive inn adressen http: // localhost / <port>.

Tunnelering med SOCKS

Noen SSH-klienter støtter dynamisk portvideresending , dette lar brukere lage en SOCKS 4/5 proxy. I dette tilfellet kan brukere konfigurere applikasjonene sine til å bruke den lokale SOCKS-proxyserveren. Dette gir deg mer fleksibilitet enn å lage en SSH-tunnel på en enkelt port (som vist ovenfor). SOCKS kan frigjøre brukeren fra begrensningen av å måtte koble til forhåndsdefinerte eksterne servere og porter. I tilfelle en applikasjon ikke støtter SOCKS, kan en proxifier brukes til å omdirigere applikasjoner til den lokale SOCKS proxy-serveren. Et eksempel på et gratis og anonymt datanettverk som støtter SOCKS er Tor , faktisk er det mulig å konfigurere en applikasjon til å bruke den lokale SOCKS-proxyen (på port 9050) gjort tilgjengelig av Tor-applikasjonen [1] .

Omgå brannmurrestriksjoner

Brukere kan også bruke tunnelering for å omgå restriksjoner pålagt av en brannmur , faktisk er det mulig å bruke en blokkert protokoll ved å kapsle inn pakkene i en annen protokoll som ikke er blokkert av brannmuren, vanligvis brukes HTTP . Hvis brannmurpolicyen din ikke spesifikt utelukker denne typen innkapsling, kan dette trikset fungere for å omgå brannmuren.

Annen bruk

Tunnelering er en mye brukt teknologi i datanettverk, andre eksempler på bruk kan være:

Merknader

  1. ^ The Tor Project, Inc., Tor Project: FAQ , på torproject.org . Hentet 9. desember 2017 .

Eksterne lenker

Relaterte elementer