IPsec (Internet Protocol Security) ist eine Sammlung von Protokollerweiterungen für das Internet Protokoll (IP). Die Erweiterungen ermöglichen die Verschlüsselung und Authentifizierung der mit IP übertragenen Informationen und sorgen für eine sichere Kommunikation in IP-Netzwerken wie dem Internet. IPsec entstand im Zuge der Entwicklung von IPv6 und ist in verschiedenen aktuellen RFCs spezifiziert. Siehe auch VPN. Siehe auch GRE (Generic routing encapsulation, IPSec Alternative für Tunnel).
Siehe auch GRE.
Der Begriff wird verwendet, um festzulegen, welche Datenpakete über die IPSec-Sicherheitsverbindung geschützt werden sollen.
Wenn eine IPSec-Verbindung eingerichtet wird, wird normalerweise festgelegt, welche Art von Datenverkehr als „interesting traffic“ betrachtet wird und über die Verbindung geschützt werden soll. Dies kann anhand verschiedener Kriterien definiert werden, wie beispielsweise basierend auf Quell- und Ziel-IP-Adressen, Protokolltypen oder Portnummern.
Der „interesting traffic“ wird dann von den IPSec-Geräten erkannt und entsprechend den Sicherheitsrichtlinien verschlüsselt und über die IPSec-Verbindung übertragen. Datenverkehr, der nicht als „interesting traffic“ definiert ist, wird normalerweise unverschlüsselt übertragen und nicht von IPSec geschützt.
Man kann mit ACLs bestimmen welcher Traffic encryptet wird und welcher nicht. Es gibt Tunnel mode und Transport mode.
Ein IP Paket mit einer privaten IP Adresse als Ziel wird dabei vom Edge Router verschlüsselt und als Payload in ein neu generiertes IP Paket eingefügt. Der Edge Router vom Zielnetz entpackt das äußere IP Paket, entschlüsselt das darin enthaltene IP Paket mit den privaten Adressen und stellt es im lokalen Netz zu.
Beim Transport mode wird kein neuer IP Header generiert sondern nur der Payload über Layer 3 des OSI Modells verschlüsselt.
Siehe Understanding AH vs ESP and ISKAKMP vs IPSec in VPN tunnels (Youtube).
Siehe IKE.
IKE (Internet Key Exchange) ist das Protokoll, das verwendet wird, um die Sicherheitsparameter zwischen den VPN-Endpunkten zu verhandeln. Dazu gehören die Verschlüsselungs- und Integritätsalgorithmen sowie der Schlüsselaustauschmechanismus. IKE stellt sicher, dass die beteiligten Parteien authentisch sind und die Kommunikation sicher geschützt ist.
Die wichtigsten Aufgaben von IKE sind:
Zusammen mit ESP (Encapsulating Security Payload) oder AH (Authentication Header) bildet IKE eine kritische Komponente eines sicheren IPSec-VPN.
Siehe IPSec Fundamentals (Youtube).
Siehe ESP.
ESP (Encapsulating Security Payload) bietet Verschlüsselung und Integritätsschutz für den Datenverkehr, der über das Internet übertragen wird. Es ist eines der Hauptprotokolle von IPSec und sorgt dafür, dass die Daten zwischen den Endpunkten sicher und vertraulich bleiben.
Siehe AH.
IKE nutzt den Authentication Header (AH) um Datenintegrität, Authentifizierung und Anti-Replay-Funktionen für IPSec VPN bereitzustellen. Aber keine Verschlüsselung des Nutztraffic.
! R2 int fa0/0 ip addr 100.0.0.2 255.255.255.0 no shut exit int fa1/0 ip addr 192.168.1.1 255.255.255.0 no shut exit ip route 0.0.0.0 0.0.0.0 100.0.0.1 crypto isakmp policy 1 encryption aes 256 authentication pre-share group 2 hash md5 crypto isakmp key cisco address 200.0.0.2 crypto ipsec transform-set MYSET esp-aes esp-sha-hmac access-list 100 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 crypto map MYMAP 1 ipsec-isakmp set transform-set MYSET set peer 200.0.0.2 match address 100 int fa0/0 crypto map MYMAP
! R3 int fa0/0 ip addr 200.0.0.2 255.255.255.0 no shut exit int fa1/0 ip addr 192.168.2.1 255.255.255.0 no shut exit ip route 0.0.0.0 0.0.0.0 200.0.0.1 crypto isakmp policy 1 encryption aes 256 authentication pre-share group 2 hash md5 crypto isakmp key cisco address 100.0.0.2 crypto ipsec transform-set MYSET esp-aes esp-sha-hmac access-list 100 permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255 crypto map MYMAP 1 ipsec-isakmp set transform-set MYSET set peer 100.0.0.2 match address 100 int fa0/0 crypto map MYMAP
show crypto ipsec sa interface fastethernet0/0
# FG1
config system interface
edit port1
set mode static
set ip 100.0.0.2 255.255.255.0
set role wan
set alias "WAN"
next
edit port2
set mode static
set ip 192.168.1.1 255.255.255.0
set role lan
set alias "LAN"
next
end
config vpn ipsec phase1-interface
edit to_FG2
set interface port1
set peertype any
set net-device enable
set proposal aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1
set remote-gw 200.0.0.2
set psksecret sample
next
end
config vpn ipsec phase2-interface
edit to_FG2
set phase1name to_FG2
set proposal aes128-sha1 aes256-sha1 aes128-sha256 aes256-sha256 aes128gcm aes256gcm chacha20poly1305
set auto-negotiate enable
next
end
config router static
edit 0
set device port1
set gateway 100.0.0.1
next
edit 0
set dst 192.168.2.0 255.255.255.0
set device to_FG2
next
end
config firewall address
edit "subnet_192.168.1.0_24"
set subnet 192.168.1.0 255.255.255.0
next
edit "subnet_192.168.2.0_24"
set subnet 192.168.2.0 255.255.255.0
next
end
config firewall policy
edit 0
set name "inbound"
set srcintf to_FG2
set dstintf port2
set srcaddr "subnet_192.168.2.0_24"
set dstaddr "subnet_192.168.1.0_24"
set action accept
set schedule "always"
set service "ALL"
next
edit 0
set name "outbound"
set srcintf port2
set dstintf to_FG2
set srcaddr "subnet_192.168.1.0_24"
set dstaddr "subnet_192.168.2.0_24"
set action accept
set schedule "always"
set service "ALL"
next
end
# FG2
config system interface
edit port1
set mode static
set ip 200.0.0.2 255.255.255.0
set role wan
set alias "WAN"
next
edit port2
set mode static
set ip 192.168.2.1 255.255.255.0
set role lan
set alias "LAN"
next
end
config vpn ipsec phase1-interface
edit to_FG1
set interface port1
set peertype any
set net-device enable
set proposal aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1
set remote-gw 100.0.0.2
set psksecret sample
next
end
config vpn ipsec phase2-interface
edit to_FG1
set phase1name to_FG1
set proposal aes128-sha1 aes256-sha1 aes128-sha256 aes256-sha256 aes128gcm aes256gcm chacha20poly1305
set auto-negotiate enable
next
end
config router static
edit 0
set device port1
set gateway 200.0.0.1
next
edit 0
set dst 192.168.1.0 255.255.255.0
set device to_FG1
next
end
config firewall address
edit "subnet_192.168.1.0_24"
set subnet 192.168.1.0 255.255.255.0
next
edit "subnet_192.168.2.0_24"
set subnet 192.168.2.0 255.255.255.0
next
end
config firewall policy
edit 0
set name "inbound"
set srcintf to_FG1
set dstintf port2
set srcaddr "subnet_192.168.1.0_24"
set dstaddr "subnet_192.168.2.0_24"
set action accept
set schedule "always"
set service "ALL"
next
edit 0
set name "outbound"
set srcintf port2
set dstintf to_FG1
set srcaddr "subnet_192.168.2.0_24"
set dstaddr "subnet_192.168.1.0_24"
set action accept
set schedule "always"
set service "ALL"
next
end
Zwischen R2 und R3 ist ein GRE Tunnel eingerichtet
#R2 crypto isakmp policy 1 encryption aes 256 authentication pre-share crypto isakmp key cisco address 200.0.0.2 crypto ipsec transform-set MYSET esp-aes esp-sha-hmac ip access-list extended GRE-IN-IPSEC permit gre any any crypto map IPSECVPN 10 ipsec-isakmp match address GRE-IN-IPSEC set transform-set MYSET set peer 200.0.0.2 interface fa0/0 crypto map IPSECVPN
#R3 crypto isakmp policy 1 encryption aes 256 authentication pre-share crypto isakmp key cisco address 100.0.0.2 crypto ipsec transform-set MYSET esp-aes esp-sha-hmac ip access-list extended GRE-IN-IPSEC permit gre any any crypto map IPSECVPN 10 ipsec-isakmp match address GRE-IN-IPSEC set transform-set MYSET set peer 100.0.0.2 interface fa0/0 crypto map IPSECVPN