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