Ich habe ein Setup mit Ipsec Tunnel zwischen zwei Endsystemen. Wenn ich Pakete auf der ausgehenden Schnittstelle, z. B. eth0, feststelle, kann ich nur verschlüsselte ESP-Pakete sehen, die aus meinem System herauskommen. Ich muss gehen und auf das Empfangsende schauen, um zu sehen, was tatsächlich übertragen wurde, d. H. Auf der Empfängerseite kann ich Pakete nach der Entschlüsselung sehen. ähnlich für die Bestätigung durch den Empfänger. Wie funktioniert es eigentlich im Linux Kernel? Gibt es eine Möglichkeit, die Pakete auf der Senderseite in tcpdump zu sehen, bevor sie verschlüsselt werden?
Sie haben drei Fragen in Ihrer Frage:
Die Antwort auf die dritte Frage lautet
Es hängt von Ihrem Kernel und von welcher Implementierung Sie ab. Wenn Sie KLIPS in 2.4 Kernel als Teil einer * Swan-Lösung verwenden, dann Ja.
Andernfalls, wenn Sie den Kernel 2.6 verwenden, der das KAME / * BSD-Modell verwendet, dann
Nein, es sei denn, Sie ändern Ihre Ipssec- oder iptables-Konfiguration, sodass Sie die Pakete unverschlüsselt an eine andere Schnittstelle senden und dann die unverschlüsselten Pakete an eine Schnittstelle weiterleiten, an der sie verschlüsselt werden.
Die Antwort auf die erste Frage ist, ändern Sie Ihre iptables-Konfiguration und IPSec-Konfiguration.
Auf diese Weise kann tcpdump auf der verschlüsselten Schnittstelle durchgeführt werden, ohne etwas zu ändern und bevor die Daten verschlüsselt werden.
Für den KLIPS und 2.4 Kernel ist es genauso einfach wie spezifisch die Schnittstelle in tcpdump als ipsec0 mit dem -i Schalter.
Andere Optionen, um die Daten unverschlüsselt zu sehen, sind die Verwendung von tcpdump mit -E-Flag und relevanten Parametern ( siehe man Seite ), die die Daten nach der Verschlüsselung entschlüsselt oder tcpdump verwendet, um die verschlüsselten Daten zu erfassen und anschließend in Wireshark zu entschlüsseln (mehr Informationen zur ESP-Entschlüsselung von IPSec in Wireshark finden Sie hier ).
Alternativ können Sie Instrumente mit printk oder printk_times im Quellcode auch in xfrm oder esp_input .
Bezüglich der zweiten Frage gibt es mehrere Bilder, die erklären, wie es auf einer hohen Ebene funktioniert, einschließlich derjenigen, die die Solaris-Implementierung als Teil von Oracle-Systemverwaltungshandbuch: IP-Dienste und Linux Foundation Network Flow durch das Kernel-Diagramm .
Siehe auch die folgende Referenz . Grundsätzlich leitet entweder die manuelle Konfiguration mittels setkey oder die automatische Konfiguration mit einem IKE-Daemon im Userspace die Informationen an den XFRM weiter, der das Paket dann transformiert, bevor es netfilter prerouting erreicht.
Siehe hier für weitere Informationen zum Thema Geschichte von KLIPS und KAME.
Tags und Links linux encryption ipsec tcpdump