Difference between revisions of "Cisco IPsec"
Helikopter (talk | contribs) m |
Helikopter (talk | contribs) |
||
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 | + | ===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''' | + | |
+ | '''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 | ||
− | |||
match address CRYPTO | match address CRYPTO | ||
− | + | ||
+ | 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 | ||
− | |||
− | |||
− | |||
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 | ||
− | |||
− | + | Verify Fas 1 och 2. Inget förhandlas förens det skickas trafik. | |
− | + | show crypto isakmp sa | |
− | + | show crypto ipsec sa | |
− | + | Reverse Route Injection | |
− | ip | + | 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 [[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.