Difference between revisions of "Cisco IPsec"

From HackerNet
Jump to: navigation, search
m
Line 1: Line 1:
 
IPsec (RFC 4301) är en teknik för att skydda datakommunikation och räknas som en secure VPN. Det finns i tunnel och transport mode beroende på om det ska tunnlas och krypteras eller endast krypteras. IPsec funkar med IPv4/IPv6 och kan köras över en [[Cisco_GRE|GRE]]-tunnel. Virtual Tunnel Interface (VTI) är routebara interface som används för att terminera IPsec-tunnlar, detta gör IPsec flexibelt och det kan användas både för unicast och [[Cisco_Multicast|multicast]].  
 
IPsec (RFC 4301) är en teknik för att skydda datakommunikation och räknas som en secure VPN. Det finns i tunnel och transport mode beroende på om det ska tunnlas och krypteras eller endast krypteras. IPsec funkar med IPv4/IPv6 och kan köras över en [[Cisco_GRE|GRE]]-tunnel. Virtual Tunnel Interface (VTI) är routebara interface som används för att terminera IPsec-tunnlar, detta gör IPsec flexibelt och det kan användas både för unicast och [[Cisco_Multicast|multicast]].  
  
Se även [[Cisco_ASA_VPN|ASA VPN]].
+
Se även [[Cisco_Security|Cisco Security]], [[Cisco_DMVPN|Cisco DMVPN]] och [[Cisco_ASA_VPN|ASA VPN]].
  
 
=Konfiguration=
 
=Konfiguration=
IKEv1, ISAKMP Policies
+
===Legacy===
 +
IPsec VPN med crypto maps och IKEv1 är den äldsta och minst skalbara varianten av IPsec VPN.
 
  crypto isakmp policy 10
 
  crypto isakmp policy 10
 
   encryption aes 256
 
   encryption aes 256
Line 10: Line 11:
 
   group 20
 
   group 20
 
   lifetime 86400
 
   lifetime 86400
 +
 
  show crypto isakmp policy
 
  show crypto isakmp policy
 
PSK Authentication
 
PSK Authentication
 
  crypto isakmp key S3cr3ts address 3.3.3.3
 
  crypto isakmp key S3cr3ts address 3.3.3.3
 +
 
  show crypto isakmp key
 
  show crypto isakmp key
'''Fas 2''' med Static Crypto Map och RRI
+
 
 +
'''Fas 2'''
 
  crypto ipsec transform-set PHASE2 esp-aes esp-sha-hmac
 
  crypto ipsec transform-set PHASE2 esp-aes esp-sha-hmac
 
   mode tunnel
 
   mode tunnel
 
  ip access-list extended CRYPTO
 
  ip access-list extended CRYPTO
 
   permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
 
   permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
 +
 
  crypto map VPNMAP 10 ipsec-isakmp
 
  crypto map VPNMAP 10 ipsec-isakmp
 
   set peer 3.3.3.3
 
   set peer 3.3.3.3
 
   set transform-set PHASE2
 
   set transform-set PHASE2
  set reverse-route distance 10
 
 
   match address CRYPTO
 
   match address CRYPTO
Interface
+
 
 +
Interfaces
 
  interface GigabitEthernet0/1
 
  interface GigabitEthernet0/1
 
   description Internet
 
   description Internet
 
   ip address 2.2.2.2 255.255.255.0
 
   ip address 2.2.2.2 255.255.255.0
  ip access-group out-in in
 
  no ip unreachables
 
  ip nat outside
 
 
   crypto map VPNMAP
 
   crypto map VPNMAP
 
+
 
  interface GigabitEthernet0/2
 
  interface GigabitEthernet0/2
 
   description Inside
 
   description Inside
 
   ip address 192.168.1.1 255.255.255.0
 
   ip address 192.168.1.1 255.255.255.0
  ip nat inside
 
  
NAT
+
Verify Fas 1 och 2. Inget förhandlas förens det skickas trafik.
  ip nat inside source list nat interface GigabitEthernet0/1 overload
+
  show crypto isakmp sa
Se även [[Cisco_NAT|NAT]].
+
show crypto ipsec sa
  
Exempt
+
Reverse Route Injection
  ip access-list extended nat-exempt
+
  crypto map VPNMAP 10 ipsec-isakmp
   deny   ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
+
  set reverse-route distance 10
   permit ip 192.168.1.0 0.0.0.255 any
+
Loopback
ACL
+
crypto map VPNMAP local-address Loopback0
  ip access-list extended out-in
+
 
   permit ip host 3.3.3.3 host 2.2.2.2
+
==GRE over IPsec with Profile==
  deny  ip any any
+
En fördel med att tunnla trafiken med [[Cisco_GRE|GRE]] är att routingprotokoll kan användas över tunneln. Trafiken krypteras efter att det har enkapsulerats med GRE. Man bör manuellt ange '''ip mtu''' på tunnel-interfacet för det tar ej hänsyn till ESP-enkapsuleringen som lägger till overhead.
 +
crypto isakmp policy 10
 +
   encryption aes 256
 +
   authentication pre-share
 +
  group 20
 +
  lifetime 86400
 +
 +
crypto isakmp key S3cr3ts address 3.3.3.3   
 +
 +
crypto ipsec transform-set PHASE2 esp-aes esp-sha-hmac
 +
  mode transport  #''Spara overhead genom att köra i transport mode''
 +
 +
crypto ipsec profile GRE_OVER_IPSEC
 +
  set transform-set PHASE2
 +
 +
interface Tunnel0
 +
  ip address 1.1.1.1 255.255.255.0
 +
  ip mtu 1400
 +
  ip tcp adjust-mss 1360
 +
  tunnel source Loopback0
 +
  tunnel destination 3.3.3.3
 +
   tunnel protection ipsec profile GRE_OVER_IPSEC
 +
Verify
 +
show crypto ipsec profile
 +
 
 +
==VTI==
 +
Med VPN som byggs med Virtual Tunnel Interface kan man både använda dynamic routing och multicast. Det fungerar likadant som GRE över IPsec men annan enkapsulering används. Payloaden enkapsuleras direkt i IPsec som är en IP-enkapsulering därför stöds inget annat än IP (så t.ex. IS-IS fungerar ej). Detta gör att tunnel-interfacet vet sin korrekta mtu. VTI konfigureras likadant som GRE över IPsec med profil men med en skillnad, här följer därför endast skillnaden samt att transform set alltid måste köras i tunnel mode.
 +
  crypto ipsec transform-set PHASE2 esp-aes esp-sha-hmac
 +
   mode tunnel
 +
 +
interface Tunnel0
 +
  '''tunnel mode ipsec ipv4'''
 +
 
 +
Verify
 +
show crypto ipsec sa
 +
Local och remote kommer alltid att förhandlas som '''0.0.0.0/0 <-> 0.0.0.0/0''' vilket gör att det aldrig behövs mer än en entry per tunnel.
  
 
==IKEv2==
 
==IKEv2==
Line 66: Line 102:
 
   integrity sha512
 
   integrity sha512
 
   group 20
 
   group 20
 +
 
  show crypto ikev2 proposal
 
  show crypto ikev2 proposal
 
''Används aes-gcm måste prf köras på båda sidor.''
 
''Används aes-gcm måste prf köras på båda sidor.''
Line 76: Line 113:
 
   authentication local pre-share
 
   authentication local pre-share
 
   keyring local IKEv2_KEYRING
 
   keyring local IKEv2_KEYRING
 +
 
  show crypto ikev2 profile
 
  show crypto ikev2 profile
  
Line 81: Line 119:
 
  crypto ikev2 policy IKEv2_POLICY
 
  crypto ikev2 policy IKEv2_POLICY
 
   proposal IKEv2_PROPOSAL
 
   proposal IKEv2_PROPOSAL
 +
 
  show crypto ikev2 policy
 
  show crypto ikev2 policy
  
 
Transform set
 
Transform set
 
  crypto ipsec transform-set SITE2 esp-aes 256 esp-sha-hmac
 
  crypto ipsec transform-set SITE2 esp-aes 256 esp-sha-hmac
 +
  mode tunnel
 +
 
  show crypto ipsec transform-set
 
  show crypto ipsec transform-set
  
Line 98: Line 139:
 
Verify
 
Verify
 
  show crypto ikev2 sa
 
  show crypto ikev2 sa
 
  
 
'''Others''' <br/>
 
'''Others''' <br/>
 
Se också: [http://www.cisco.com/c/en/us/products/security/group-encrypted-transport-vpn/index.html GETVPN]
 
Se också: [http://www.cisco.com/c/en/us/products/security/group-encrypted-transport-vpn/index.html GETVPN]
  
 +
'''QoS''' <br/>
 
Eftersom trafiken är enkapsulerad och krypterad måste QoS-beslut fattas innan, man kan använda QoS pre-classify på crypto map. Se även [[Cisco_QoS|Cisco QoS]].
 
Eftersom trafiken är enkapsulerad och krypterad måste QoS-beslut fattas innan, man kan använda QoS pre-classify på crypto map. Se även [[Cisco_QoS|Cisco QoS]].
  
 
[[Category:Cisco]]
 
[[Category:Cisco]]

Revision as of 18:03, 15 October 2016

IPsec (RFC 4301) är en teknik för att skydda datakommunikation och räknas som en secure VPN. Det finns i tunnel och transport mode beroende på om det ska tunnlas och krypteras eller endast krypteras. IPsec funkar med IPv4/IPv6 och kan köras över en GRE-tunnel. Virtual Tunnel Interface (VTI) är routebara interface som används för att terminera IPsec-tunnlar, detta gör IPsec flexibelt och det kan användas både för unicast och multicast.

Se även Cisco Security, Cisco DMVPN och ASA VPN.

Konfiguration

Legacy

IPsec VPN med crypto maps och IKEv1 är den äldsta och minst skalbara varianten av IPsec VPN.

crypto isakmp policy 10
 encryption aes 256
 authentication pre-share
 group 20
 lifetime 86400

show crypto isakmp policy

PSK Authentication

crypto isakmp key S3cr3ts address 3.3.3.3

show crypto isakmp key

Fas 2

crypto ipsec transform-set PHASE2 esp-aes esp-sha-hmac
 mode tunnel
ip access-list extended CRYPTO
 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255

crypto map VPNMAP 10 ipsec-isakmp
 set peer 3.3.3.3
 set transform-set PHASE2
 match address CRYPTO

Interfaces

interface GigabitEthernet0/1
 description Internet
 ip address 2.2.2.2 255.255.255.0
 crypto map VPNMAP

interface GigabitEthernet0/2
 description Inside
 ip address 192.168.1.1 255.255.255.0

Verify Fas 1 och 2. Inget förhandlas förens det skickas trafik.

show crypto isakmp sa
show crypto ipsec sa

Reverse Route Injection

crypto map VPNMAP 10 ipsec-isakmp
 set reverse-route distance 10

Loopback

crypto map VPNMAP local-address Loopback0

GRE over IPsec with Profile

En fördel med att tunnla trafiken med GRE är att routingprotokoll kan användas över tunneln. Trafiken krypteras efter att det har enkapsulerats med GRE. Man bör manuellt ange ip mtu på tunnel-interfacet för det tar ej hänsyn till ESP-enkapsuleringen som lägger till overhead.

crypto isakmp policy 10
 encryption aes 256
 authentication pre-share
 group 20
 lifetime 86400

crypto isakmp key S3cr3ts address 3.3.3.3    

crypto ipsec transform-set PHASE2 esp-aes esp-sha-hmac 
 mode transport  #Spara overhead genom att köra i transport mode

crypto ipsec profile GRE_OVER_IPSEC
 set transform-set PHASE2 

interface Tunnel0
 ip address 1.1.1.1 255.255.255.0
 ip mtu 1400
 ip tcp adjust-mss 1360
 tunnel source Loopback0
 tunnel destination 3.3.3.3
 tunnel protection ipsec profile GRE_OVER_IPSEC

Verify

show crypto ipsec profile

VTI

Med VPN som byggs med Virtual Tunnel Interface kan man både använda dynamic routing och multicast. Det fungerar likadant som GRE över IPsec men annan enkapsulering används. Payloaden enkapsuleras direkt i IPsec som är en IP-enkapsulering därför stöds inget annat än IP (så t.ex. IS-IS fungerar ej). Detta gör att tunnel-interfacet vet sin korrekta mtu. VTI konfigureras likadant som GRE över IPsec med profil men med en skillnad, här följer därför endast skillnaden samt att transform set alltid måste köras i tunnel mode.

crypto ipsec transform-set PHASE2 esp-aes esp-sha-hmac 
 mode tunnel

interface Tunnel0
 tunnel mode ipsec ipv4

Verify

show crypto ipsec sa

Local och remote kommer alltid att förhandlas som 0.0.0.0/0 <-> 0.0.0.0/0 vilket gör att det aldrig behövs mer än en entry per tunnel.

IKEv2

IKEv2 har inbyggt stöd för NAT traversal och ID är alltid skyddat till skillnad från IKEv1 aggressive mode.

Key ring

crypto ikev2 keyring IKEv2_KEYRING
 peer SITE2
  address 3.3.3.3
  pre-shared-key local PSK01
  pre-shared-key remote PSK02

Proposal

crypto ikev2 proposal IKEv2_PROPOSAL
 encryption aes-cbc-256
 integrity sha512
 group 20

show crypto ikev2 proposal

Används aes-gcm måste prf köras på båda sidor.

Profile

crypto ikev2 profile IKEv2_PROFILE
 match identity remote address 3.3.3.3 255.255.255.255
 identity local address 2.2.2.2
 authentication remote pre-share
 authentication local pre-share
 keyring local IKEv2_KEYRING

show crypto ikev2 profile

Policy

crypto ikev2 policy IKEv2_POLICY
 proposal IKEv2_PROPOSAL

show crypto ikev2 policy

Transform set

crypto ipsec transform-set SITE2 esp-aes 256 esp-sha-hmac
 mode tunnel

show crypto ipsec transform-set

Crypto map

crypto map IKEv2_MAP 1000 ipsec-isakmp
 set peer 3.3.3.3
 set transform-set SITE2
 match address CRYPTO
interface gi2
 crypto map IKEv2_MAP
show crypto map

Verify

show crypto ikev2 sa

Others
Se också: GETVPN

QoS
Eftersom trafiken är enkapsulerad och krypterad måste QoS-beslut fattas innan, man kan använda QoS pre-classify på crypto map. Se även Cisco QoS.