{"id":103,"date":"2006-11-19T12:59:25","date_gmt":"2006-11-19T11:59:25","guid":{"rendered":"http:\/\/security-planet.de\/?p=96"},"modified":"2006-11-19T12:59:25","modified_gmt":"2006-11-19T11:59:25","slug":"cisco-ios-uniform-fragmentation-bei-ipsec","status":"publish","type":"post","link":"https:\/\/cyber-fi.net\/index.php\/2006\/11\/19\/cisco-ios-uniform-fragmentation-bei-ipsec\/","title":{"rendered":"Cisco IOS: Uniform Fragmentation bei IPSec"},"content":{"rendered":"<p>Im Cisco Security-Kurs DVS (Designing VPN Security) wird als ein Thema &#8220;look-ahead fragmentation&#8221; (in der Doku &#8220;IPSec pre-fragmentation&#8221; genannt) angesprochen. <!--more-->Bei diesem Verfahren wird ein IP-Paket, das nach der Verschl\u00fcsselung gr\u00f6\u00dfer als die Link-MTU w\u00e4re, schon vor der Verschl\u00fcsselung fragmentiert. Dieses wird gemacht, damit der IPSec-Peer nicht zwei IPSec-Fragmente im <a href=\"http:\/\/security-planet.de\/2007\/05\/25\/cisco-express-forwarding\/\" title=\"Cisco Express Forwarding\">Process-Switching<\/a> zusammenbauen mu\u00df, um diese dann entschl\u00fcsseln zu k\u00f6nnen.<br \/>\nIn dem Kursbeispiel wird ein IP-Paket von 1500 Byte bei einem angenommenen ESP-Overhead von 46 Bytes in zwei IP-Fragmente von 1454 und 66 Bytes fragmentiert. Das widerspricht nat\u00fcrlich komplett der Dokumentation, die von einer &#8220;Uniform Fragmentation&#8221; spricht, in der die IP-Pakete in gleich gro\u00dfe Fragmente zerteilt werden, um die Wahrscheinlichkeit weiterer Fragmentierung auf dem Weg zu verringern.<\/p>\n<p>Was der Router bei der &#8220;look-ahead fragmentation&#8221; wirklich macht, ist leicht mit einem Sniffer (das Beispiel unten wurde mit Wireshark aufgenommen) herauszubekommen. Dabei habe ich ein ICMP-Paket von 1500 Byte (ping mit einer Payload von 1472 Byte) durch einen IPSec-Tunnel gesendet und auf dem Empfangs-PC mitgesniffert.<\/p>\n<p>Dabei kamen auf dem Ziel-PC nachfolgende Fragmente an:<\/p>\n<pre class=\"code\"><code>\nEthernet II, Src: 00:04:dd:0f:e4:59, Dst: 00:12:3f:e8:42:9a\nInternet Protocol, Src: 10.255.254.152, Dst: 192.168.255.2\n    Version: 4\n    Header length: 20 bytes\n    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)\n    Total Length: 764\n    Identification: 0x8f31 (36657)\n    Flags: 0x02 (More Fragments)\n        0... = Reserved bit: Not set\n        .0.. = Don't fragment: Not set\n        ..1. = More fragments: Set\n    Fragment offset: 0\n    Time to live: 127\n    Protocol: ICMP (0x01)\n    Header checksum: 0xc08c [correct]\n    Source: 10.255.254.152\n    Destination: 192.168.255.2\n    Reassembled IP in frame: 36\nData (744 bytes)\n<\/code><\/pre>\n<pre class=\"code\"><code>\nEthernet II, Src: 00:04:dd:0f:e4:59, Dst: 00:12:3f:e8:42:9a\nInternet Protocol, Src: 10.255.254.152, Dst: 192.168.255.2\n    Version: 4\n    Header length: 20 bytes\n    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)\n    Total Length: 756\n    Identification: 0x8f31 (36657)\n    Flags: 0x00\n        0... = Reserved bit: Not set\n        .0.. = Don't fragment: Not set\n        ..0. = More fragments: Not set\n    Fragment offset: 744\n    Time to live: 127\n    Protocol: ICMP (0x01)\n    Header checksum: 0xe037 [correct]\n    Source: 10.255.254.152\n    Destination: 192.168.255.2\n    [IP Fragments (1480 bytes): #35(744), #36(736)]\nInternet Control Message Protocol\n    Type: 8 (Echo (ping) request)\n    Code: 0\n    Checksum: 0x2948 [correct]\n    Identifier: 0x0300\n    Sequence number: 0x1400\n    Data (1472 bytes)\n<\/code><\/pre>\n<p>Auf dem Ziel-PC wurden also zwei Fragmente empfangen, die eine IP-L\u00e4nge von 764 und 756 Bytes hatten. Zu diesem Thema hatte die Cisco-Doku recht und es ist einfach nur einer von vielen Fehlern in den Cisco-Schulungsunterlagen.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Im Cisco Security-Kurs DVS (Designing VPN Security) wird als ein Thema &#8220;look-ahead fragmentation&#8221; (in der Doku &#8220;IPSec pre-fragmentation&#8221; genannt) angesprochen.<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"twitterCardType":"","cardImageID":0,"cardImage":"","cardTitle":"","cardDesc":"","cardImageAlt":"","cardPlayer":"","cardPlayerWidth":0,"cardPlayerHeight":0,"cardPlayerStream":"","cardPlayerCodec":"","footnotes":""},"categories":[5,7],"tags":[307,317,358],"class_list":["post-103","post","type-post","status-publish","format-standard","hentry","category-cisco","category-cisco-security","tag-ios","tag-ipsec","tag-konfiguration"],"_links":{"self":[{"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/posts\/103","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/comments?post=103"}],"version-history":[{"count":0,"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/posts\/103\/revisions"}],"wp:attachment":[{"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/media?parent=103"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/categories?post=103"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/tags?post=103"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}