Site-to-Site IPsec VPN


I föregående avsnitt lärde vi oss om fjärråtkomst-VPN och hur enskilda användare kan ansluta säkert till ett företagsnätverk via internet – ofta med hjälp av SSL/TLS eller IPsec. Den typen av VPN är idealisk för mobila användare, distansarbetare och konsulter som behöver komma åt resurser tillfälligt eller individuellt.

Men vad händer om vi behöver skapa en permanent och säker förbindelse mellan två hela nätverk, till exempel mellan ett huvudkontor och ett filialkontor? Då används en annan typ av lösning: Site-to-Site VPN.

Site-to-Site VPN

En site-to-site VPN används för att koppla samman två eller flera nätverk via ett osäkert, offentligt nätverk – vanligtvis internet. I en sådan lösning skickar och tar emot slutanvändarnas enheter vanlig, okrypterad TCP/IP-trafik. Det är först i nätverksgränsen – vid VPN-gatewayen – som trafiken krypteras och skickas via en VPN-tunnel.

En VPN-gateway kan vara en router eller en brandvägg, som i figuren. Exempelvis visas en Cisco ASA (Adaptive Security Appliance) på högra sidan – en fristående säkerhetsenhet som kombinerar brandvägg, VPN-koncentrator och intrångsskydd i samma programvara.

Så fungerar det:

  1. VPN-gatewaye kapslar in och krypterar utgående trafik.
  2. Trafiken skickas genom en VPN-tunnel över internet till en annan VPN-gateway på destinationen.
  3. Den mottagande gatewaye avkapslar och dekrypterar paketet, och skickar det vidare till rätt mottagare i sitt privata nätverk.

Site-to-site VPN bygger ofta på IPsec (Internet Protocol Security), som används för att säkra kommunikationen mellan platserna.

GRE över IPsec

GRE (Generic Routing Encapsulation) är ett tunnlingsprotokoll som kan användas för site-to-site VPN, men det saknar inbyggd säkerhet. GRE kan kapsla in olika nätverksprotokoll, och stödjer även multicast och broadcast – vilket är nödvändigt om routing-protokoll som t.ex. OSPF ska fungera genom VPN-tunneln. Men eftersom GRE inte krypterar trafiken är det inte ett säkert VPN-alternativ i sig.

En vanlig IPsec VPN (utan GRE) kan endast skapa säkra tunnlar för unicast-trafik. Detta betyder att routing-protokoll, som ofta använder multicast, inte fungerar över en ren IPsec-VPN. För att lösa detta kan man göra en dubbel kapsling:

  1. Routing-protokollens trafik (t.ex. OSPF-paket) kapslas först i ett GRE-paket.
  2. Det GRE-paketet kapslas sedan in i ett IPsec-paket, som skickas säkert över internet.

Denna teknik kallas GRE över IPsec, och gör det möjligt att säkert köra routing-protokoll mellan nätverk. Inkapslingen kan illustreras som följande:

Följande begrepp används i illustrationen:

  • Passenger protocol – Det ursprungliga paketet som ska transporteras – t.ex. ett IPv4-paket eller ett OSPF Hello-paket.
  • Carrier protocol – GRE fungerar som ett bärarprotokoll som kapslar in passagerarpaketet.
  • Transport protocol – Det protokoll som faktiskt används för att skicka paketet över nätverket – vanligtvis IPv4 eller IPv6.

Samma inkapsling kan illustreras med följande exempel:

I figuren visas ett exempel där ett kontor (Branch) och ett huvudkontor (HQ) vill utbyta OSPF routning-information över en IPsec VPN. Eftersom OSPF använder multicast, vilket inte stöds av IPsec, måste trafiken kapslas in med GRE över IPsec.

Vi kan också illustrera detta med ett annat exempel:

Figuren visar ett exempel från Wireshark, där ett OSPF Hello-paket skickats via GRE över IPsec. Paketet består av:

  • Ett OSPF Hello-meddelande (passenger protocol).
  • Ett GRE-header (carrier protocol).
  • Ett yttre IP-header som fungerar som transportprotokoll.

Detta IP-paket skickas sedan genom en säker IPsec-tunnel.