<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.securepoint.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jan</id>
	<title>Securepoint Wiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.securepoint.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jan"/>
	<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/Spezial:Beitr%C3%A4ge/Jan"/>
	<updated>2026-06-02T19:52:41Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=Datei:Portbelegung_rc6_8_8.png&amp;diff=19510</id>
		<title>Datei:Portbelegung rc6 8 8.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=Datei:Portbelegung_rc6_8_8.png&amp;diff=19510"/>
		<updated>2018-09-19T13:40:52Z</updated>

		<summary type="html">&lt;p&gt;Jan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=Datei:Portbelegung_rc6_8_4.png&amp;diff=19507</id>
		<title>Datei:Portbelegung rc6 8 4.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=Datei:Portbelegung_rc6_8_4.png&amp;diff=19507"/>
		<updated>2018-09-19T13:40:42Z</updated>

		<summary type="html">&lt;p&gt;Jan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=Datei:Portbelegung_rc6_8_0.png&amp;diff=19504</id>
		<title>Datei:Portbelegung rc6 8 0.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=Datei:Portbelegung_rc6_8_0.png&amp;diff=19504"/>
		<updated>2018-09-19T13:40:29Z</updated>

		<summary type="html">&lt;p&gt;Jan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=Datei:Portbelegung_rc6_4_4.png&amp;diff=19501</id>
		<title>Datei:Portbelegung rc6 4 4.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=Datei:Portbelegung_rc6_4_4.png&amp;diff=19501"/>
		<updated>2018-09-19T13:40:19Z</updated>

		<summary type="html">&lt;p&gt;Jan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=Datei:Portbelegung_rc6_4_0.png&amp;diff=19498</id>
		<title>Datei:Portbelegung rc6 4 0.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=Datei:Portbelegung_rc6_4_0.png&amp;diff=19498"/>
		<updated>2018-09-19T13:40:09Z</updated>

		<summary type="html">&lt;p&gt;Jan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=Datei:Portbelegung_rc6_0_0.png&amp;diff=19495</id>
		<title>Datei:Portbelegung rc6 0 0.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=Datei:Portbelegung_rc6_0_0.png&amp;diff=19495"/>
		<updated>2018-09-19T13:39:58Z</updated>

		<summary type="html">&lt;p&gt;Jan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19492</id>
		<title>UTM/Portbelegung</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19492"/>
		<updated>2018-09-19T13:39:35Z</updated>

		<summary type="html">&lt;p&gt;Jan: /* RC300 / RC400 / RC1000 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE: Portbelegung Securepoint UTM }}&lt;br /&gt;
== Informationen ==&lt;br /&gt;
Letze Anpassung zur Version: &#039;&#039;&#039;-&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Vorherige Versionen: -&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Einleitung==&lt;br /&gt;
Im folgenden grafisch dargestellt die Portbelegung der Securepoint UTM G3 Reihe jeweils die LAN-Port Bezeichnung und die Schnittstellenbezeichnung aus dem Webinterface.&lt;br /&gt;
&lt;br /&gt;
==Einbau Zusatzkarten==&lt;br /&gt;
Damit die Zusatzkarten richtig initialisiert werden und auch der jeweilige Port der richtigen Schnittstelle zugeordnet wird, muss das Gerät zuerst ohne die Zusatzkarten gestartet werden. Danach das Gerät ausschalten, die erste Zusatzkarte einsetzen und das Gerät wieder starten. Dieser Prozess muss für jede weitere Zusatzkarte wiederholt werden um Fehler mit den Schnittstellen vorzubeugen.&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex;padding-right:10px;float:left;&amp;quot;&amp;gt; [[Datei:alert-yellow.png]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color: #ffc926;padding:10px;border-radius:4px;font-weight:bold;&amp;quot;&amp;gt;Das Gerät muss ordnungsgemäß über die CLI oder das Webinterface runtergefahren werden.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Black Dwarf==&lt;br /&gt;
[[Datei:portbelegung_bg.png|800px|thumb|center|Black Dwarf]]&lt;br /&gt;
&lt;br /&gt;
==RC100 / RC200==&lt;br /&gt;
[[Datei:portbelegung_rc100.png|800px|thumb|center|RC100 / RC200]]&lt;br /&gt;
&lt;br /&gt;
==RC300 / RC400 / RC1000==&lt;br /&gt;
[[Datei:portbelegung_rc6_0_0.png|800px|thumb|center|Keine Erweiterungskarten]]&lt;br /&gt;
[[Datei:portbelegung_rc6_4_0.png|800px|thumb|center|Erweiterungskarte 4 Port GBic]]&lt;br /&gt;
[[Datei:portbelegung_rc6_4_4.png|800px|thumb|center|Zwei Erweiterungskarten je 4 Port GBic]]&lt;br /&gt;
[[Datei:portbelegung_rc6_8_0.png|800px|thumb|center|Erweiterungskarte 8 Port GBit]]&lt;br /&gt;
[[Datei:portbelegung_rc6_8_4.png|800px|thumb|center|Erweiterungskarte 8 Port GBit + Erweiterungskarte 4 Port GBic]]&lt;br /&gt;
[[Datei:portbelegung_rc6_8_8.png|800px|thumb|center|Zwei Erweiterungskarten je 8 Port GBit]]&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19300</id>
		<title>UTM/Portbelegung</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19300"/>
		<updated>2018-09-10T11:57:35Z</updated>

		<summary type="html">&lt;p&gt;Jan: /* Einbau Zusatzkarten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE: Portbelegung Securepoint UTM }}&lt;br /&gt;
== Informationen ==&lt;br /&gt;
Letze Anpassung zur Version: &#039;&#039;&#039;-&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Vorherige Versionen: -&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Einleitung==&lt;br /&gt;
Im folgenden grafisch dargestellt die Portbelegung der Securepoint UTM G3 Reihe jeweils die LAN-Port Bezeichnung und die Schnittstellenbezeichnung aus dem Webinterface.&lt;br /&gt;
&lt;br /&gt;
==Einbau Zusatzkarten==&lt;br /&gt;
Damit die Zusatzkarten richtig initialisiert werden und auch der jeweilige Port der richtigen Schnittstelle zugeordnet wird, muss das Gerät zuerst ohne die Zusatzkarten gestartet werden. Danach das Gerät ausschalten, die erste Zusatzkarte einsetzen und das Gerät wieder starten. Dieser Prozess muss für jede weitere Zusatzkarte wiederholt werden um Fehler mit den Schnittstellen vorzubeugen.&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex;padding-right:10px;float:left;&amp;quot;&amp;gt; [[Datei:alert-yellow.png]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color: #ffc926;padding:10px;border-radius:4px;font-weight:bold;&amp;quot;&amp;gt;Das Gerät muss ordnungsgemäß über die CLI oder das Webinterface runtergefahren werden.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Black Dwarf==&lt;br /&gt;
[[Datei:portbelegung_bg.png|800px|thumb|center|Black Dwarf]]&lt;br /&gt;
&lt;br /&gt;
==RC100 / RC200==&lt;br /&gt;
[[Datei:portbelegung_rc100.png|800px|thumb|center|RC100 / RC200]]&lt;br /&gt;
&lt;br /&gt;
==RC300 / RC400 / RC1000==&lt;br /&gt;
[[Datei:portbelegung_rc6-0-0.png|800px|thumb|center|Keine Erweiterungskarten]]&lt;br /&gt;
[[Datei:portbelegung_rc6-4-0.png|800px|thumb|center|Erweiterungskarte 4 Port GBic]]&lt;br /&gt;
[[Datei:portbelegung_rc6-4-4.png|800px|thumb|center|Zwei Erweiterungskarten je 4 Port GBic]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-0_2.png|800px|thumb|center|Erweiterungskarte 8 Port GBit]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-4.png|800px|thumb|center|Erweiterungskarte 8 Port GBit + Erweiterungskarte 4 Port GBic]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-8.png|800px|thumb|center|Zwei Erweiterungskarten je 8 Port GBit]]&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=Datei:Portbelegung_rc6-8-0_2.png&amp;diff=19297</id>
		<title>Datei:Portbelegung rc6-8-0 2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=Datei:Portbelegung_rc6-8-0_2.png&amp;diff=19297"/>
		<updated>2018-09-10T10:14:11Z</updated>

		<summary type="html">&lt;p&gt;Jan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19294</id>
		<title>UTM/Portbelegung</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19294"/>
		<updated>2018-09-10T10:13:35Z</updated>

		<summary type="html">&lt;p&gt;Jan: /* RC300 / RC400 / RC1000 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE: Portbelegung Securepoint UTM }}&lt;br /&gt;
== Informationen ==&lt;br /&gt;
Letze Anpassung zur Version: &#039;&#039;&#039;-&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Vorherige Versionen: -&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Einleitung==&lt;br /&gt;
Im folgenden grafisch dargestellt die Portbelegung der Securepoint UTM G3 Reihe jeweils die LAN-Port Bezeichnung und die Schnittstellenbezeichnung aus dem Webinterface.&lt;br /&gt;
&lt;br /&gt;
==Einbau Zusatzkarten==&lt;br /&gt;
Damit die Zusatzkarten richtig initialisiert werden und auch der jeweilige Port der richtigen Schnittstelle zugeordnet wird, muss das Gerät zuerst ohne die Zusatzkarten gestartet werden. Danach das Gerät ausschalten, die erste Zusatzkarte einsetzen und das Gerät wieder starten. Dieser Prozess muss für jede weitere Zusatzkarte wiederholt werden um Fehler mit den Schnittstellen vorzubeugen.&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex;padding-right:10px;float:left;&amp;quot;&amp;gt; [[Datei:alert-yellow.png]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color: #ffc926;padding:10px;border-radius:4px;font-weight:bold;&amp;quot;&amp;gt;Nur den Stecker ziehen reicht nicht! Das Gerät muss entweder über die CLI oder das Webinterface runtergefahren werden.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Black Dwarf==&lt;br /&gt;
[[Datei:portbelegung_bg.png|800px|thumb|center|Black Dwarf]]&lt;br /&gt;
&lt;br /&gt;
==RC100 / RC200==&lt;br /&gt;
[[Datei:portbelegung_rc100.png|800px|thumb|center|RC100 / RC200]]&lt;br /&gt;
&lt;br /&gt;
==RC300 / RC400 / RC1000==&lt;br /&gt;
[[Datei:portbelegung_rc6-0-0.png|800px|thumb|center|Keine Erweiterungskarten]]&lt;br /&gt;
[[Datei:portbelegung_rc6-4-0.png|800px|thumb|center|Erweiterungskarte 4 Port GBic]]&lt;br /&gt;
[[Datei:portbelegung_rc6-4-4.png|800px|thumb|center|Zwei Erweiterungskarten je 4 Port GBic]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-0_2.png|800px|thumb|center|Erweiterungskarte 8 Port GBit]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-4.png|800px|thumb|center|Erweiterungskarte 8 Port GBit + Erweiterungskarte 4 Port GBic]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-8.png|800px|thumb|center|Zwei Erweiterungskarten je 8 Port GBit]]&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19291</id>
		<title>UTM/Portbelegung</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19291"/>
		<updated>2018-09-10T09:52:01Z</updated>

		<summary type="html">&lt;p&gt;Jan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE: Portbelegung Securepoint UTM }}&lt;br /&gt;
== Informationen ==&lt;br /&gt;
Letze Anpassung zur Version: &#039;&#039;&#039;-&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Vorherige Versionen: -&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Einleitung==&lt;br /&gt;
Im folgenden grafisch dargestellt die Portbelegung der Securepoint UTM G3 Reihe jeweils die LAN-Port Bezeichnung und die Schnittstellenbezeichnung aus dem Webinterface.&lt;br /&gt;
&lt;br /&gt;
==Einbau Zusatzkarten==&lt;br /&gt;
Damit die Zusatzkarten richtig initialisiert werden und auch der jeweilige Port der richtigen Schnittstelle zugeordnet wird, muss das Gerät zuerst ohne die Zusatzkarten gestartet werden. Danach das Gerät ausschalten, die erste Zusatzkarte einsetzen und das Gerät wieder starten. Dieser Prozess muss für jede weitere Zusatzkarte wiederholt werden um Fehler mit den Schnittstellen vorzubeugen.&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex;padding-right:10px;float:left;&amp;quot;&amp;gt; [[Datei:alert-yellow.png]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color: #ffc926;padding:10px;border-radius:4px;font-weight:bold;&amp;quot;&amp;gt;Nur den Stecker ziehen reicht nicht! Das Gerät muss entweder über die CLI oder das Webinterface runtergefahren werden.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Black Dwarf==&lt;br /&gt;
[[Datei:portbelegung_bg.png|800px|thumb|center|Black Dwarf]]&lt;br /&gt;
&lt;br /&gt;
==RC100 / RC200==&lt;br /&gt;
[[Datei:portbelegung_rc100.png|800px|thumb|center|RC100 / RC200]]&lt;br /&gt;
&lt;br /&gt;
==RC300 / RC400 / RC1000==&lt;br /&gt;
[[Datei:portbelegung_rc6-0-0.png|800px|thumb|center|Keine Erweiterungskarten]]&lt;br /&gt;
[[Datei:portbelegung_rc6-4-0.png|800px|thumb|center|Erweiterungskarte 4 Port GBic]]&lt;br /&gt;
[[Datei:portbelegung_rc6-4-4.png|800px|thumb|center|Zwei Erweiterungskarten je 4 Port GBic]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-0.png|800px|thumb|center|Erweiterungskarte 8 Port GBit]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-4.png|800px|thumb|center|Erweiterungskarte 8 Port GBit + Erweiterungskarte 4 Port GBic]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-8.png|800px|thumb|center|Zwei Erweiterungskarten je 8 Port GBit]]&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19288</id>
		<title>UTM/Portbelegung</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19288"/>
		<updated>2018-09-10T09:51:07Z</updated>

		<summary type="html">&lt;p&gt;Jan: /* RC100 / RC200 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE: Portbelegung Securepoint UTM }}&lt;br /&gt;
== Informationen ==&lt;br /&gt;
Letze Anpassung zur Version: &#039;&#039;&#039;-&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Vorherige Versionen: -&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Einleitung==&lt;br /&gt;
Im folgenden grafisch dargestellt die Portbelegung der Securepoint UTM G3 Reihe jeweils die LAN-Port Bezeichnung und die Schnittstellenbezeichnung aus dem Webinterface.&lt;br /&gt;
&lt;br /&gt;
==Black Dwarf==&lt;br /&gt;
[[Datei:portbelegung_bg.png|800px|thumb|center|Black Dwarf]]&lt;br /&gt;
&lt;br /&gt;
==RC100 / RC200==&lt;br /&gt;
[[Datei:portbelegung_rc100.png|800px|thumb|center|RC100 / RC200]]&lt;br /&gt;
&lt;br /&gt;
==RC300 / RC400 / RC1000==&lt;br /&gt;
[[Datei:portbelegung_rc6-0-0.png|800px|thumb|center|Keine Erweiterungskarten]]&lt;br /&gt;
[[Datei:portbelegung_rc6-4-0.png|800px|thumb|center|Erweiterungskarte 4 Port GBic]]&lt;br /&gt;
[[Datei:portbelegung_rc6-4-4.png|800px|thumb|center|Zwei Erweiterungskarten je 4 Port GBic]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-0.png|800px|thumb|center|Erweiterungskarte 8 Port GBit]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-4.png|800px|thumb|center|Erweiterungskarte 8 Port GBit + Erweiterungskarte 4 Port GBic]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-8.png|800px|thumb|center|Zwei Erweiterungskarten je 8 Port GBit]]&lt;br /&gt;
&lt;br /&gt;
==Einbau Zusatzkarten==&lt;br /&gt;
Damit die Zusatzkarten richtig initialisiert werden und auch der jeweilige Port der richtigen Schnittstelle zugeordnet wird, muss das Gerät zuerst ohne die Zusatzkarten gestartet werden. Danach das Gerät ausschalten, die erste Zusatzkarte einsetzen und das Gerät wieder starten. Dieser Prozess muss für jede weitere Zusatzkarte wiederholt werden um Fehler mit den Schnittstellen vorzubeugen.&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex;padding-right:10px;float:left;&amp;quot;&amp;gt; [[Datei:alert-yellow.png]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color: #ffc926;padding:10px;border-radius:4px;font-weight:bold;&amp;quot;&amp;gt;Nur den Stecker ziehen reicht nicht! Das Gerät muss entweder über die CLI oder das Webinterface runtergefahren werden.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19285</id>
		<title>UTM/Portbelegung</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19285"/>
		<updated>2018-09-10T09:50:48Z</updated>

		<summary type="html">&lt;p&gt;Jan: /* Einleitung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE: Portbelegung Securepoint UTM }}&lt;br /&gt;
== Informationen ==&lt;br /&gt;
Letze Anpassung zur Version: &#039;&#039;&#039;-&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Vorherige Versionen: -&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Einleitung==&lt;br /&gt;
Im folgenden grafisch dargestellt die Portbelegung der Securepoint UTM G3 Reihe jeweils die LAN-Port Bezeichnung und die Schnittstellenbezeichnung aus dem Webinterface.&lt;br /&gt;
&lt;br /&gt;
==Black Dwarf==&lt;br /&gt;
[[Datei:portbelegung_bg.png|800px|thumb|center|Black Dwarf]]&lt;br /&gt;
&lt;br /&gt;
==RC100 / RC200==&lt;br /&gt;
[[Datei:portbelegung_rc100.png|800px|thumb|center|RC100]]&lt;br /&gt;
&lt;br /&gt;
==RC300 / RC400 / RC1000==&lt;br /&gt;
[[Datei:portbelegung_rc6-0-0.png|800px|thumb|center|Keine Erweiterungskarten]]&lt;br /&gt;
[[Datei:portbelegung_rc6-4-0.png|800px|thumb|center|Erweiterungskarte 4 Port GBic]]&lt;br /&gt;
[[Datei:portbelegung_rc6-4-4.png|800px|thumb|center|Zwei Erweiterungskarten je 4 Port GBic]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-0.png|800px|thumb|center|Erweiterungskarte 8 Port GBit]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-4.png|800px|thumb|center|Erweiterungskarte 8 Port GBit + Erweiterungskarte 4 Port GBic]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-8.png|800px|thumb|center|Zwei Erweiterungskarten je 8 Port GBit]]&lt;br /&gt;
&lt;br /&gt;
==Einbau Zusatzkarten==&lt;br /&gt;
Damit die Zusatzkarten richtig initialisiert werden und auch der jeweilige Port der richtigen Schnittstelle zugeordnet wird, muss das Gerät zuerst ohne die Zusatzkarten gestartet werden. Danach das Gerät ausschalten, die erste Zusatzkarte einsetzen und das Gerät wieder starten. Dieser Prozess muss für jede weitere Zusatzkarte wiederholt werden um Fehler mit den Schnittstellen vorzubeugen.&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex;padding-right:10px;float:left;&amp;quot;&amp;gt; [[Datei:alert-yellow.png]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color: #ffc926;padding:10px;border-radius:4px;font-weight:bold;&amp;quot;&amp;gt;Nur den Stecker ziehen reicht nicht! Das Gerät muss entweder über die CLI oder das Webinterface runtergefahren werden.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19282</id>
		<title>UTM/Portbelegung</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19282"/>
		<updated>2018-09-07T15:21:18Z</updated>

		<summary type="html">&lt;p&gt;Jan: /* Informationen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE: Portbelegung Securepoint UTM }}&lt;br /&gt;
== Informationen ==&lt;br /&gt;
Letze Anpassung zur Version: &#039;&#039;&#039;-&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Vorherige Versionen: -&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Einleitung==&lt;br /&gt;
Im folgenden grafisch dargestellt die Portbelegung der Securepoint UTM G3 Reihe jeweils der LAN-Port Bezeichnung und die Schnittstellenbezeichnung aus dem Webinterface.&lt;br /&gt;
&lt;br /&gt;
==Black Dwarf==&lt;br /&gt;
[[Datei:portbelegung_bg.png|800px|thumb|center|Black Dwarf]]&lt;br /&gt;
&lt;br /&gt;
==RC100 / RC200==&lt;br /&gt;
[[Datei:portbelegung_rc100.png|800px|thumb|center|RC100]]&lt;br /&gt;
&lt;br /&gt;
==RC300 / RC400 / RC1000==&lt;br /&gt;
[[Datei:portbelegung_rc6-0-0.png|800px|thumb|center|Keine Erweiterungskarten]]&lt;br /&gt;
[[Datei:portbelegung_rc6-4-0.png|800px|thumb|center|Erweiterungskarte 4 Port GBic]]&lt;br /&gt;
[[Datei:portbelegung_rc6-4-4.png|800px|thumb|center|Zwei Erweiterungskarten je 4 Port GBic]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-0.png|800px|thumb|center|Erweiterungskarte 8 Port GBit]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-4.png|800px|thumb|center|Erweiterungskarte 8 Port GBit + Erweiterungskarte 4 Port GBic]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-8.png|800px|thumb|center|Zwei Erweiterungskarten je 8 Port GBit]]&lt;br /&gt;
&lt;br /&gt;
==Einbau Zusatzkarten==&lt;br /&gt;
Damit die Zusatzkarten richtig initialisiert werden und auch der jeweilige Port der richtigen Schnittstelle zugeordnet wird, muss das Gerät zuerst ohne die Zusatzkarten gestartet werden. Danach das Gerät ausschalten, die erste Zusatzkarte einsetzen und das Gerät wieder starten. Dieser Prozess muss für jede weitere Zusatzkarte wiederholt werden um Fehler mit den Schnittstellen vorzubeugen.&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex;padding-right:10px;float:left;&amp;quot;&amp;gt; [[Datei:alert-yellow.png]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color: #ffc926;padding:10px;border-radius:4px;font-weight:bold;&amp;quot;&amp;gt;Nur den Stecker ziehen reicht nicht! Das Gerät muss entweder über die CLI oder das Webinterface runtergefahren werden.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19279</id>
		<title>UTM/Portbelegung</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19279"/>
		<updated>2018-09-07T15:21:02Z</updated>

		<summary type="html">&lt;p&gt;Jan: /* Einleitung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE: Portbelegung Securepoint UTM }}&lt;br /&gt;
== Informationen ==&lt;br /&gt;
Letze Anpassung zur Version: &#039;&#039;&#039;11.7.9&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Vorherige Versionen: -&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Einleitung==&lt;br /&gt;
Im folgenden grafisch dargestellt die Portbelegung der Securepoint UTM G3 Reihe jeweils der LAN-Port Bezeichnung und die Schnittstellenbezeichnung aus dem Webinterface.&lt;br /&gt;
&lt;br /&gt;
==Black Dwarf==&lt;br /&gt;
[[Datei:portbelegung_bg.png|800px|thumb|center|Black Dwarf]]&lt;br /&gt;
&lt;br /&gt;
==RC100 / RC200==&lt;br /&gt;
[[Datei:portbelegung_rc100.png|800px|thumb|center|RC100]]&lt;br /&gt;
&lt;br /&gt;
==RC300 / RC400 / RC1000==&lt;br /&gt;
[[Datei:portbelegung_rc6-0-0.png|800px|thumb|center|Keine Erweiterungskarten]]&lt;br /&gt;
[[Datei:portbelegung_rc6-4-0.png|800px|thumb|center|Erweiterungskarte 4 Port GBic]]&lt;br /&gt;
[[Datei:portbelegung_rc6-4-4.png|800px|thumb|center|Zwei Erweiterungskarten je 4 Port GBic]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-0.png|800px|thumb|center|Erweiterungskarte 8 Port GBit]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-4.png|800px|thumb|center|Erweiterungskarte 8 Port GBit + Erweiterungskarte 4 Port GBic]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-8.png|800px|thumb|center|Zwei Erweiterungskarten je 8 Port GBit]]&lt;br /&gt;
&lt;br /&gt;
==Einbau Zusatzkarten==&lt;br /&gt;
Damit die Zusatzkarten richtig initialisiert werden und auch der jeweilige Port der richtigen Schnittstelle zugeordnet wird, muss das Gerät zuerst ohne die Zusatzkarten gestartet werden. Danach das Gerät ausschalten, die erste Zusatzkarte einsetzen und das Gerät wieder starten. Dieser Prozess muss für jede weitere Zusatzkarte wiederholt werden um Fehler mit den Schnittstellen vorzubeugen.&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex;padding-right:10px;float:left;&amp;quot;&amp;gt; [[Datei:alert-yellow.png]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color: #ffc926;padding:10px;border-radius:4px;font-weight:bold;&amp;quot;&amp;gt;Nur den Stecker ziehen reicht nicht! Das Gerät muss entweder über die CLI oder das Webinterface runtergefahren werden.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19276</id>
		<title>UTM/Portbelegung</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19276"/>
		<updated>2018-09-07T15:17:50Z</updated>

		<summary type="html">&lt;p&gt;Jan: /* Einbau Zusatzkarten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE: Portbelegung Securepoint UTM }}&lt;br /&gt;
== Informationen ==&lt;br /&gt;
Letze Anpassung zur Version: &#039;&#039;&#039;11.7.9&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Vorherige Versionen: -&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Einleitung==&lt;br /&gt;
Im folgenden grafisch dargestellt die Portbelegung der Securepoint G3 Reihe jeweils der Lan-Port und die Schnittstellenbezeichnung aus dem Webinterface.&lt;br /&gt;
&lt;br /&gt;
==Black Dwarf==&lt;br /&gt;
[[Datei:portbelegung_bg.png|800px|thumb|center|Black Dwarf]]&lt;br /&gt;
&lt;br /&gt;
==RC100 / RC200==&lt;br /&gt;
[[Datei:portbelegung_rc100.png|800px|thumb|center|RC100]]&lt;br /&gt;
&lt;br /&gt;
==RC300 / RC400 / RC1000==&lt;br /&gt;
[[Datei:portbelegung_rc6-0-0.png|800px|thumb|center|Keine Erweiterungskarten]]&lt;br /&gt;
[[Datei:portbelegung_rc6-4-0.png|800px|thumb|center|Erweiterungskarte 4 Port GBic]]&lt;br /&gt;
[[Datei:portbelegung_rc6-4-4.png|800px|thumb|center|Zwei Erweiterungskarten je 4 Port GBic]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-0.png|800px|thumb|center|Erweiterungskarte 8 Port GBit]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-4.png|800px|thumb|center|Erweiterungskarte 8 Port GBit + Erweiterungskarte 4 Port GBic]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-8.png|800px|thumb|center|Zwei Erweiterungskarten je 8 Port GBit]]&lt;br /&gt;
&lt;br /&gt;
==Einbau Zusatzkarten==&lt;br /&gt;
Damit die Zusatzkarten richtig initialisiert werden und auch der jeweilige Port der richtigen Schnittstelle zugeordnet wird, muss das Gerät zuerst ohne die Zusatzkarten gestartet werden. Danach das Gerät ausschalten, die erste Zusatzkarte einsetzen und das Gerät wieder starten. Dieser Prozess muss für jede weitere Zusatzkarte wiederholt werden um Fehler mit den Schnittstellen vorzubeugen.&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex;padding-right:10px;float:left;&amp;quot;&amp;gt; [[Datei:alert-yellow.png]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color: #ffc926;padding:10px;border-radius:4px;font-weight:bold;&amp;quot;&amp;gt;Nur den Stecker ziehen reicht nicht! Das Gerät muss entweder über die CLI oder das Webinterface runtergefahren werden.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19273</id>
		<title>UTM/Portbelegung</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19273"/>
		<updated>2018-09-07T09:47:41Z</updated>

		<summary type="html">&lt;p&gt;Jan: /* RC300 / RC400 / RC1000 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE: Portbelegung Securepoint UTM }}&lt;br /&gt;
== Informationen ==&lt;br /&gt;
Letze Anpassung zur Version: &#039;&#039;&#039;11.7.9&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Vorherige Versionen: -&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Einleitung==&lt;br /&gt;
Im folgenden grafisch dargestellt die Portbelegung der Securepoint G3 Reihe jeweils der Lan-Port und die Schnittstellenbezeichnung aus dem Webinterface.&lt;br /&gt;
&lt;br /&gt;
==Black Dwarf==&lt;br /&gt;
[[Datei:portbelegung_bg.png|800px|thumb|center|Black Dwarf]]&lt;br /&gt;
&lt;br /&gt;
==RC100 / RC200==&lt;br /&gt;
[[Datei:portbelegung_rc100.png|800px|thumb|center|RC100]]&lt;br /&gt;
&lt;br /&gt;
==RC300 / RC400 / RC1000==&lt;br /&gt;
[[Datei:portbelegung_rc6-0-0.png|800px|thumb|center|Keine Erweiterungskarten]]&lt;br /&gt;
[[Datei:portbelegung_rc6-4-0.png|800px|thumb|center|Erweiterungskarte 4 Port GBic]]&lt;br /&gt;
[[Datei:portbelegung_rc6-4-4.png|800px|thumb|center|Zwei Erweiterungskarten je 4 Port GBic]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-0.png|800px|thumb|center|Erweiterungskarte 8 Port GBit]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-4.png|800px|thumb|center|Erweiterungskarte 8 Port GBit + Erweiterungskarte 4 Port GBic]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-8.png|800px|thumb|center|Zwei Erweiterungskarten je 8 Port GBit]]&lt;br /&gt;
&lt;br /&gt;
==Einbau Zusatzkarten==&lt;br /&gt;
Damit die Zusatzkarten richtig initialisiert werden und auch der jeweilige Port der richtigen Schnittstelle zugeordnet wird, muss das Gerät zuerst ohne die Zusatzkarten gestartet werden. Danach das Gerät ausschalten, die erste Zusatzkarte einsetzen und das Gerät wieder starten. Dieser Prozess muss für jede weitere Zusatzkarte wiederholt werden um Fehler mit den Schnittstellen vorzubeugen.&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex;padding-right:10px;float:left;&amp;quot;&amp;gt; [[Datei:alert-yellow.png]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color: #ffc926;padding:10px;border-radius:4px;font-weight:bold;&amp;quot;&amp;gt;Nur den Stecker ziehen reicht nicht! Das Gerät muss sauber runtergefahren werden.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19267</id>
		<title>UTM/Portbelegung</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19267"/>
		<updated>2018-09-07T07:26:28Z</updated>

		<summary type="html">&lt;p&gt;Jan: /* RC300 / RC400 / RC1000 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE: Portbelegung Securepoint UTM }}&lt;br /&gt;
== Informationen ==&lt;br /&gt;
Letze Anpassung zur Version: &#039;&#039;&#039;11.7.9&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Vorherige Versionen: -&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Einleitung==&lt;br /&gt;
Im folgenden grafisch dargestellt die Portbelegung der Securepoint G3 Reihe jeweils der Lan-Port und die Schnittstellenbezeichnung aus dem Webinterface.&lt;br /&gt;
&lt;br /&gt;
==Black Dwarf==&lt;br /&gt;
[[Datei:portbelegung_bg.png|800px|thumb|center|Black Dwarf]]&lt;br /&gt;
&lt;br /&gt;
==RC100 / RC200==&lt;br /&gt;
[[Datei:portbelegung_rc100.png|800px|thumb|center|RC100]]&lt;br /&gt;
&lt;br /&gt;
==RC300 / RC400 / RC1000==&lt;br /&gt;
[[Datei:portbelegung_rc6-0-0.png|800px|thumb|center|Keine Erweiterungskarten]]&lt;br /&gt;
[[Datei:portbelegung_rc6-4-0.png|800px|thumb|center|Ein SFP+ Modul]]&lt;br /&gt;
[[Datei:portbelegung_rc6-4-4.png|800px|thumb|center|Zwei SFP+ Module]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-0.png|800px|thumb|center|Ein LAN-Modul]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-4.png|800px|thumb|center|Ein LAN-Modul + ein SFP+ Modul]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-8.png|800px|thumb|center|Zwei LAN-Module]]&lt;br /&gt;
&lt;br /&gt;
==Einbau Zusatzkarten==&lt;br /&gt;
Damit die Zusatzkarten richtig initialisiert werden und auch der jeweilige Port der richtigen Schnittstelle zugeordnet wird, muss das Gerät zuerst ohne die Zusatzkarten gestartet werden. Danach das Gerät ausschalten, die erste Zusatzkarte einsetzen und das Gerät wieder starten. Dieser Prozess muss für jede weitere Zusatzkarte wiederholt werden um Fehler mit den Schnittstellen vorzubeugen.&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex;padding-right:10px;float:left;&amp;quot;&amp;gt; [[Datei:alert-yellow.png]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color: #ffc926;padding:10px;border-radius:4px;font-weight:bold;&amp;quot;&amp;gt;Nur den Stecker ziehen reicht nicht! Das Gerät muss sauber runtergefahren werden.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19264</id>
		<title>UTM/Portbelegung</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19264"/>
		<updated>2018-09-07T07:24:32Z</updated>

		<summary type="html">&lt;p&gt;Jan: /* RC100 / RC200 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE: Portbelegung Securepoint UTM }}&lt;br /&gt;
== Informationen ==&lt;br /&gt;
Letze Anpassung zur Version: &#039;&#039;&#039;11.7.9&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Vorherige Versionen: -&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Einleitung==&lt;br /&gt;
Im folgenden grafisch dargestellt die Portbelegung der Securepoint G3 Reihe jeweils der Lan-Port und die Schnittstellenbezeichnung aus dem Webinterface.&lt;br /&gt;
&lt;br /&gt;
==Black Dwarf==&lt;br /&gt;
[[Datei:portbelegung_bg.png|800px|thumb|center|Black Dwarf]]&lt;br /&gt;
&lt;br /&gt;
==RC100 / RC200==&lt;br /&gt;
[[Datei:portbelegung_rc100.png|800px|thumb|center|RC100]]&lt;br /&gt;
&lt;br /&gt;
==RC300 / RC400 / RC1000==&lt;br /&gt;
[[Datei:portbelegung_rc6-0-0.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
[[Datei:portbelegung_rc6-4-0.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
[[Datei:portbelegung_rc6-4-4.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-0.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-4.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-8.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
&lt;br /&gt;
==Einbau Zusatzkarten==&lt;br /&gt;
Damit die Zusatzkarten richtig initialisiert werden und auch der jeweilige Port der richtigen Schnittstelle zugeordnet wird, muss das Gerät zuerst ohne die Zusatzkarten gestartet werden. Danach das Gerät ausschalten, die erste Zusatzkarte einsetzen und das Gerät wieder starten. Dieser Prozess muss für jede weitere Zusatzkarte wiederholt werden um Fehler mit den Schnittstellen vorzubeugen.&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex;padding-right:10px;float:left;&amp;quot;&amp;gt; [[Datei:alert-yellow.png]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color: #ffc926;padding:10px;border-radius:4px;font-weight:bold;&amp;quot;&amp;gt;Nur den Stecker ziehen reicht nicht! Das Gerät muss sauber runtergefahren werden.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19261</id>
		<title>UTM/Portbelegung</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19261"/>
		<updated>2018-09-07T07:24:22Z</updated>

		<summary type="html">&lt;p&gt;Jan: /* Black Dwarf */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE: Portbelegung Securepoint UTM }}&lt;br /&gt;
== Informationen ==&lt;br /&gt;
Letze Anpassung zur Version: &#039;&#039;&#039;11.7.9&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Vorherige Versionen: -&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Einleitung==&lt;br /&gt;
Im folgenden grafisch dargestellt die Portbelegung der Securepoint G3 Reihe jeweils der Lan-Port und die Schnittstellenbezeichnung aus dem Webinterface.&lt;br /&gt;
&lt;br /&gt;
==Black Dwarf==&lt;br /&gt;
[[Datei:portbelegung_bg.png|800px|thumb|center|Black Dwarf]]&lt;br /&gt;
&lt;br /&gt;
==RC100 / RC200==&lt;br /&gt;
[[Datei:portbelegung_rc100.png|450px|thumb|center|RC100]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==RC300 / RC400 / RC1000==&lt;br /&gt;
[[Datei:portbelegung_rc6-0-0.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
[[Datei:portbelegung_rc6-4-0.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
[[Datei:portbelegung_rc6-4-4.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-0.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-4.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-8.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
&lt;br /&gt;
==Einbau Zusatzkarten==&lt;br /&gt;
Damit die Zusatzkarten richtig initialisiert werden und auch der jeweilige Port der richtigen Schnittstelle zugeordnet wird, muss das Gerät zuerst ohne die Zusatzkarten gestartet werden. Danach das Gerät ausschalten, die erste Zusatzkarte einsetzen und das Gerät wieder starten. Dieser Prozess muss für jede weitere Zusatzkarte wiederholt werden um Fehler mit den Schnittstellen vorzubeugen.&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex;padding-right:10px;float:left;&amp;quot;&amp;gt; [[Datei:alert-yellow.png]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color: #ffc926;padding:10px;border-radius:4px;font-weight:bold;&amp;quot;&amp;gt;Nur den Stecker ziehen reicht nicht! Das Gerät muss sauber runtergefahren werden.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19258</id>
		<title>UTM/Portbelegung</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19258"/>
		<updated>2018-09-07T07:23:31Z</updated>

		<summary type="html">&lt;p&gt;Jan: /* Einleitung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE: Portbelegung Securepoint UTM }}&lt;br /&gt;
== Informationen ==&lt;br /&gt;
Letze Anpassung zur Version: &#039;&#039;&#039;11.7.9&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Vorherige Versionen: -&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Einleitung==&lt;br /&gt;
Im folgenden grafisch dargestellt die Portbelegung der Securepoint G3 Reihe jeweils der Lan-Port und die Schnittstellenbezeichnung aus dem Webinterface.&lt;br /&gt;
&lt;br /&gt;
==Black Dwarf==&lt;br /&gt;
[[Datei:portbelegung_bg.png|450px|thumb|center|Black Dwarf]]&lt;br /&gt;
&lt;br /&gt;
==RC100 / RC200==&lt;br /&gt;
[[Datei:portbelegung_rc100.png|450px|thumb|center|RC100]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==RC300 / RC400 / RC1000==&lt;br /&gt;
[[Datei:portbelegung_rc6-0-0.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
[[Datei:portbelegung_rc6-4-0.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
[[Datei:portbelegung_rc6-4-4.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-0.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-4.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-8.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
&lt;br /&gt;
==Einbau Zusatzkarten==&lt;br /&gt;
Damit die Zusatzkarten richtig initialisiert werden und auch der jeweilige Port der richtigen Schnittstelle zugeordnet wird, muss das Gerät zuerst ohne die Zusatzkarten gestartet werden. Danach das Gerät ausschalten, die erste Zusatzkarte einsetzen und das Gerät wieder starten. Dieser Prozess muss für jede weitere Zusatzkarte wiederholt werden um Fehler mit den Schnittstellen vorzubeugen.&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex;padding-right:10px;float:left;&amp;quot;&amp;gt; [[Datei:alert-yellow.png]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color: #ffc926;padding:10px;border-radius:4px;font-weight:bold;&amp;quot;&amp;gt;Nur den Stecker ziehen reicht nicht! Das Gerät muss sauber runtergefahren werden.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19255</id>
		<title>UTM/Portbelegung</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19255"/>
		<updated>2018-09-07T07:23:19Z</updated>

		<summary type="html">&lt;p&gt;Jan: /* Einleitung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE: Portbelegung Securepoint UTM }}&lt;br /&gt;
== Informationen ==&lt;br /&gt;
Letze Anpassung zur Version: &#039;&#039;&#039;11.7.9&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Vorherige Versionen: -&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Einleitung==&lt;br /&gt;
Im folgenden grafisch dargestellt die Portbelegung der Securepoint G3 Reihe jeweils der Lan-Port und die Schnittstellenbezeichnung aus dem Webinterface&lt;br /&gt;
&lt;br /&gt;
==Black Dwarf==&lt;br /&gt;
[[Datei:portbelegung_bg.png|450px|thumb|center|Black Dwarf]]&lt;br /&gt;
&lt;br /&gt;
==RC100 / RC200==&lt;br /&gt;
[[Datei:portbelegung_rc100.png|450px|thumb|center|RC100]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==RC300 / RC400 / RC1000==&lt;br /&gt;
[[Datei:portbelegung_rc6-0-0.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
[[Datei:portbelegung_rc6-4-0.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
[[Datei:portbelegung_rc6-4-4.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-0.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-4.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-8.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
&lt;br /&gt;
==Einbau Zusatzkarten==&lt;br /&gt;
Damit die Zusatzkarten richtig initialisiert werden und auch der jeweilige Port der richtigen Schnittstelle zugeordnet wird, muss das Gerät zuerst ohne die Zusatzkarten gestartet werden. Danach das Gerät ausschalten, die erste Zusatzkarte einsetzen und das Gerät wieder starten. Dieser Prozess muss für jede weitere Zusatzkarte wiederholt werden um Fehler mit den Schnittstellen vorzubeugen.&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex;padding-right:10px;float:left;&amp;quot;&amp;gt; [[Datei:alert-yellow.png]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color: #ffc926;padding:10px;border-radius:4px;font-weight:bold;&amp;quot;&amp;gt;Nur den Stecker ziehen reicht nicht! Das Gerät muss sauber runtergefahren werden.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19252</id>
		<title>UTM/Portbelegung</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19252"/>
		<updated>2018-09-07T07:21:55Z</updated>

		<summary type="html">&lt;p&gt;Jan: /* Vorwort */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE: Portbelegung Securepoint UTM }}&lt;br /&gt;
== Informationen ==&lt;br /&gt;
Letze Anpassung zur Version: &#039;&#039;&#039;11.7.9&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Vorherige Versionen: -&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Einleitung==&lt;br /&gt;
&lt;br /&gt;
==Black Dwarf==&lt;br /&gt;
[[Datei:portbelegung_bg.png|450px|thumb|center|Black Dwarf]]&lt;br /&gt;
&lt;br /&gt;
==RC100 / RC200==&lt;br /&gt;
[[Datei:portbelegung_rc100.png|450px|thumb|center|RC100]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==RC300 / RC400 / RC1000==&lt;br /&gt;
[[Datei:portbelegung_rc6-0-0.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
[[Datei:portbelegung_rc6-4-0.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
[[Datei:portbelegung_rc6-4-4.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-0.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-4.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-8.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
&lt;br /&gt;
==Einbau Zusatzkarten==&lt;br /&gt;
Damit die Zusatzkarten richtig initialisiert werden und auch der jeweilige Port der richtigen Schnittstelle zugeordnet wird, muss das Gerät zuerst ohne die Zusatzkarten gestartet werden. Danach das Gerät ausschalten, die erste Zusatzkarte einsetzen und das Gerät wieder starten. Dieser Prozess muss für jede weitere Zusatzkarte wiederholt werden um Fehler mit den Schnittstellen vorzubeugen.&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex;padding-right:10px;float:left;&amp;quot;&amp;gt; [[Datei:alert-yellow.png]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color: #ffc926;padding:10px;border-radius:4px;font-weight:bold;&amp;quot;&amp;gt;Nur den Stecker ziehen reicht nicht! Das Gerät muss sauber runtergefahren werden.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19249</id>
		<title>UTM/Portbelegung</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19249"/>
		<updated>2018-09-07T07:21:39Z</updated>

		<summary type="html">&lt;p&gt;Jan: /* Vorwort */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE: Portbelegung Securepoint UTM }}&lt;br /&gt;
== Informationen ==&lt;br /&gt;
Letze Anpassung zur Version: &#039;&#039;&#039;11.7.9&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Vorherige Versionen: -&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Vorwort==&lt;br /&gt;
&lt;br /&gt;
==Black Dwarf==&lt;br /&gt;
[[Datei:portbelegung_bg.png|450px|thumb|center|Black Dwarf]]&lt;br /&gt;
&lt;br /&gt;
==RC100 / RC200==&lt;br /&gt;
[[Datei:portbelegung_rc100.png|450px|thumb|center|RC100]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==RC300 / RC400 / RC1000==&lt;br /&gt;
[[Datei:portbelegung_rc6-0-0.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
[[Datei:portbelegung_rc6-4-0.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
[[Datei:portbelegung_rc6-4-4.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-0.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-4.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-8.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
&lt;br /&gt;
==Einbau Zusatzkarten==&lt;br /&gt;
Damit die Zusatzkarten richtig initialisiert werden und auch der jeweilige Port der richtigen Schnittstelle zugeordnet wird, muss das Gerät zuerst ohne die Zusatzkarten gestartet werden. Danach das Gerät ausschalten, die erste Zusatzkarte einsetzen und das Gerät wieder starten. Dieser Prozess muss für jede weitere Zusatzkarte wiederholt werden um Fehler mit den Schnittstellen vorzubeugen.&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex;padding-right:10px;float:left;&amp;quot;&amp;gt; [[Datei:alert-yellow.png]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color: #ffc926;padding:10px;border-radius:4px;font-weight:bold;&amp;quot;&amp;gt;Nur den Stecker ziehen reicht nicht! Das Gerät muss sauber runtergefahren werden.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19246</id>
		<title>UTM/Portbelegung</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19246"/>
		<updated>2018-09-07T07:21:15Z</updated>

		<summary type="html">&lt;p&gt;Jan: /* Einbau Zusatzkarten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE: Portbelegung Securepoint UTM }}&lt;br /&gt;
== Informationen ==&lt;br /&gt;
Letze Anpassung zur Version: &#039;&#039;&#039;11.7.9&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Vorherige Versionen: -&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Vorwort==&lt;br /&gt;
Grundsätzlich im Auslieferungszustand ohne Zusatzkarten ist Lan1 = eth0 als Externes Interface und Lan2 = eth1 als Internes Netz aus dem das administrieren immer möglich ist. Dies kann sich aber ändern wenn Zusatzkarten dazu kommen&lt;br /&gt;
&lt;br /&gt;
==Black Dwarf==&lt;br /&gt;
[[Datei:portbelegung_bg.png|450px|thumb|center|Black Dwarf]]&lt;br /&gt;
&lt;br /&gt;
==RC100 / RC200==&lt;br /&gt;
[[Datei:portbelegung_rc100.png|450px|thumb|center|RC100]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==RC300 / RC400 / RC1000==&lt;br /&gt;
[[Datei:portbelegung_rc6-0-0.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
[[Datei:portbelegung_rc6-4-0.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
[[Datei:portbelegung_rc6-4-4.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-0.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-4.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-8.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
&lt;br /&gt;
==Einbau Zusatzkarten==&lt;br /&gt;
Damit die Zusatzkarten richtig initialisiert werden und auch der jeweilige Port der richtigen Schnittstelle zugeordnet wird, muss das Gerät zuerst ohne die Zusatzkarten gestartet werden. Danach das Gerät ausschalten, die erste Zusatzkarte einsetzen und das Gerät wieder starten. Dieser Prozess muss für jede weitere Zusatzkarte wiederholt werden um Fehler mit den Schnittstellen vorzubeugen.&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex;padding-right:10px;float:left;&amp;quot;&amp;gt; [[Datei:alert-yellow.png]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color: #ffc926;padding:10px;border-radius:4px;font-weight:bold;&amp;quot;&amp;gt;Nur den Stecker ziehen reicht nicht! Das Gerät muss sauber runtergefahren werden.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19240</id>
		<title>UTM/Portbelegung</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19240"/>
		<updated>2018-09-06T10:49:41Z</updated>

		<summary type="html">&lt;p&gt;Jan: /* RC300 / RC400 / RC1000 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE: Portbelegung Securepoint UTM }}&lt;br /&gt;
== Informationen ==&lt;br /&gt;
Letze Anpassung zur Version: &#039;&#039;&#039;11.7.9&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Vorherige Versionen: -&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Vorwort==&lt;br /&gt;
Grundsätzlich im Auslieferungszustand ohne Zusatzkarten ist Lan1 = eth0 als Externes Interface und Lan2 = eth1 als Internes Netz aus dem das administrieren immer möglich ist. Dies kann sich aber ändern wenn Zusatzkarten dazu kommen&lt;br /&gt;
&lt;br /&gt;
==Black Dwarf==&lt;br /&gt;
[[Datei:portbelegung_bg.png|450px|thumb|center|Black Dwarf]]&lt;br /&gt;
&lt;br /&gt;
==RC100 / RC200==&lt;br /&gt;
[[Datei:portbelegung_rc100.png|450px|thumb|center|RC100]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==RC300 / RC400 / RC1000==&lt;br /&gt;
[[Datei:portbelegung_rc6-0-0.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
[[Datei:portbelegung_rc6-4-0.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
[[Datei:portbelegung_rc6-4-4.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-0.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-4.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-8.png|450px|thumb|center|RC300 / RC400 / RC1000]]&lt;br /&gt;
&lt;br /&gt;
==Einbau Zusatzkarten==&lt;br /&gt;
Damit die Zusatzkarten richtig initialisiert werden und auch der jeweilige Port der richtigen Schnittstelle zugeordnet wird, muss das Gerät zuerst ohne die Zusatzkarten gestartet werden. Danach das Gerät ausschalten, die erste Zusatzkarte einsetzen und das Gerät wieder starten. Dieser Prozess muss für jede weitere Zusatzkarte wiederholt werden um Fehler mit den Schnittstellen vorzubeugen&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=Datei:Portbelegung_rc6-8-8.png&amp;diff=19237</id>
		<title>Datei:Portbelegung rc6-8-8.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=Datei:Portbelegung_rc6-8-8.png&amp;diff=19237"/>
		<updated>2018-09-06T10:49:10Z</updated>

		<summary type="html">&lt;p&gt;Jan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=Datei:Portbelegung_rc6-8-4.png&amp;diff=19234</id>
		<title>Datei:Portbelegung rc6-8-4.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=Datei:Portbelegung_rc6-8-4.png&amp;diff=19234"/>
		<updated>2018-09-06T10:49:02Z</updated>

		<summary type="html">&lt;p&gt;Jan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=Datei:Portbelegung_rc6-8-0.png&amp;diff=19231</id>
		<title>Datei:Portbelegung rc6-8-0.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=Datei:Portbelegung_rc6-8-0.png&amp;diff=19231"/>
		<updated>2018-09-06T10:48:54Z</updated>

		<summary type="html">&lt;p&gt;Jan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=Datei:Portbelegung_rc6-4-4.png&amp;diff=19228</id>
		<title>Datei:Portbelegung rc6-4-4.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=Datei:Portbelegung_rc6-4-4.png&amp;diff=19228"/>
		<updated>2018-09-06T10:48:44Z</updated>

		<summary type="html">&lt;p&gt;Jan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=Datei:Portbelegung_rc6-4-0.png&amp;diff=19225</id>
		<title>Datei:Portbelegung rc6-4-0.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=Datei:Portbelegung_rc6-4-0.png&amp;diff=19225"/>
		<updated>2018-09-06T10:48:31Z</updated>

		<summary type="html">&lt;p&gt;Jan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=Datei:Portbelegung_rc6-0-0.png&amp;diff=19222</id>
		<title>Datei:Portbelegung rc6-0-0.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=Datei:Portbelegung_rc6-0-0.png&amp;diff=19222"/>
		<updated>2018-09-06T10:48:21Z</updated>

		<summary type="html">&lt;p&gt;Jan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=Datei:Portbelegung_rc100.png&amp;diff=19219</id>
		<title>Datei:Portbelegung rc100.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=Datei:Portbelegung_rc100.png&amp;diff=19219"/>
		<updated>2018-09-06T10:47:41Z</updated>

		<summary type="html">&lt;p&gt;Jan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19216</id>
		<title>UTM/Portbelegung</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19216"/>
		<updated>2018-09-06T10:47:24Z</updated>

		<summary type="html">&lt;p&gt;Jan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE: Portbelegung Securepoint UTM }}&lt;br /&gt;
== Informationen ==&lt;br /&gt;
Letze Anpassung zur Version: &#039;&#039;&#039;11.7.9&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Vorherige Versionen: -&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Vorwort==&lt;br /&gt;
Grundsätzlich im Auslieferungszustand ohne Zusatzkarten ist Lan1 = eth0 als Externes Interface und Lan2 = eth1 als Internes Netz aus dem das administrieren immer möglich ist. Dies kann sich aber ändern wenn Zusatzkarten dazu kommen&lt;br /&gt;
&lt;br /&gt;
==Black Dwarf==&lt;br /&gt;
[[Datei:portbelegung_bg.png|450px|thumb|center|Black Dwarf]]&lt;br /&gt;
&lt;br /&gt;
==RC100 / RC200==&lt;br /&gt;
[[Datei:portbelegung_rc100.png|450px|thumb|center|RC100]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==RC300 / RC400 / RC1000==&lt;br /&gt;
[[Datei:portbelegung_rc6-0-0.png|450px|thumb|center|RC300 / RC400 / RC500]]&lt;br /&gt;
[[Datei:portbelegung_rc6-4-0.png|450px|thumb|center|RC300 / RC400 / RC500]]&lt;br /&gt;
[[Datei:portbelegung_rc6-4-4.png|450px|thumb|center|RC300 / RC400 / RC500]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-0.png|450px|thumb|center|RC300 / RC400 / RC500]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-4.png|450px|thumb|center|RC300 / RC400 / RC500]]&lt;br /&gt;
[[Datei:portbelegung_rc6-8-8.png|450px|thumb|center|RC300 / RC400 / RC500]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Einbau Zusatzkarten==&lt;br /&gt;
Damit die Zusatzkarten richtig initialisiert werden und auch der jeweilige Port der richtigen Schnittstelle zugeordnet wird, muss das Gerät zuerst ohne die Zusatzkarten gestartet werden. Danach das Gerät ausschalten, die erste Zusatzkarte einsetzen und das Gerät wieder starten. Dieser Prozess muss für jede weitere Zusatzkarte wiederholt werden um Fehler mit den Schnittstellen vorzubeugen&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19213</id>
		<title>UTM/Portbelegung</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19213"/>
		<updated>2018-09-06T10:19:30Z</updated>

		<summary type="html">&lt;p&gt;Jan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE: Portbelegung Securepoint UTM }}&lt;br /&gt;
== Informationen ==&lt;br /&gt;
Letze Anpassung zur Version: &#039;&#039;&#039;11.7.9&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Vorherige Versionen: -&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Vorwort==&lt;br /&gt;
Grundsätzlich im Auslieferungszustand ohne Zusatzkarten ist Lan1 = eth0 als Externes Interface und Lan2 = eth1 als Internes Netz aus dem das administrieren immer möglich ist. Dies kann sich aber ändern wenn Zusatzkarten dazu kommen&lt;br /&gt;
&lt;br /&gt;
==Black Dwarf==&lt;br /&gt;
[[Datei:portbelegung_bg.png|450px|thumb|center|Black Dwarf]]&lt;br /&gt;
&lt;br /&gt;
==RC100==&lt;br /&gt;
[[Datei:portbelegung_rc100.png|450px|thumb|center|RC100]]&lt;br /&gt;
&lt;br /&gt;
==RC200==&lt;br /&gt;
[[Datei:portbelegung_rc200.png|450px|thumb|center|RC200]]&lt;br /&gt;
&lt;br /&gt;
==RC300==&lt;br /&gt;
[[Datei:portbelegung_rc300.png|450px|thumb|center|RC300]]&lt;br /&gt;
&lt;br /&gt;
==RC400==&lt;br /&gt;
[[Datei:portbelegung_rc400.png|450px|thumb|center|RC400]]&lt;br /&gt;
&lt;br /&gt;
==RC1000==&lt;br /&gt;
[[Datei:portbelegung_rc1000.png|450px|thumb|center|RC1000]]&lt;br /&gt;
&lt;br /&gt;
==Einbau Zusatzkarten==&lt;br /&gt;
Damit die Zusatzkarten richtig initialisiert werden und auch der jeweilige Port der richtigen Schnittstelle zugeordnet wird, muss das Gerät zuerst ohne die Zusatzkarten gestartet werden. Danach das Gerät ausschalten, die erste Zusatzkarte einsetzen und das Gerät wieder starten. Dieser Prozess muss für jede weitere Zusatzkarte wiederholt werden um Fehler mit den Schnittstellen vorzubeugen&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19210</id>
		<title>UTM/Portbelegung</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19210"/>
		<updated>2018-09-06T10:12:22Z</updated>

		<summary type="html">&lt;p&gt;Jan: /* Black Dwarf */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE: Portbelegung Securepoint UTM }}&lt;br /&gt;
== Informationen ==&lt;br /&gt;
Letze Anpassung zur Version: &#039;&#039;&#039;11.7.9&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Vorherige Versionen: -&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Vorwort==&lt;br /&gt;
Grundsätzlich im Auslieferungszustand ohne Zusatzkarten ist Lan1 = eth0 als Externes Interface und Lan2 = eth1 als Internes Netz aus dem das administrieren immer möglich ist. Dies kann sich aber ändern wenn Zusatzkarten dazu kommen&lt;br /&gt;
&lt;br /&gt;
==Black Dwarf==&lt;br /&gt;
[[Datei:portbelegung_bg.png|450px|thumb|center|Black Dwarf]]&lt;br /&gt;
&lt;br /&gt;
==RC100==&lt;br /&gt;
[[Datei:rc100-back.jpg|350px|thumb|right|RC100]]&lt;br /&gt;
&lt;br /&gt;
==RC200==&lt;br /&gt;
[[Datei:rc200-back.jpg|350px|thumb|right|RC200]]&lt;br /&gt;
&lt;br /&gt;
==RC300==&lt;br /&gt;
[[Datei:rc300-front.jpg|350px|thumb|right|RC300]]&lt;br /&gt;
&lt;br /&gt;
==RC400==&lt;br /&gt;
[[Datei:rc400-front.jpg|350px|thumb|right|RC400]]&lt;br /&gt;
&lt;br /&gt;
==RC1000==&lt;br /&gt;
[[Datei:rc400-front.jpg|350px|thumb|right|RC1000]]&lt;br /&gt;
&lt;br /&gt;
==Einbau Zusatzkarten==&lt;br /&gt;
Damit die Zusatzkarten richtig initialisiert werden und auch der jeweilige Port der richtigen Schnittstelle zugeordnet wird, muss das Gerät zuerst ohne die Zusatzkarten gestartet werden. Danach das Gerät ausschalten, die erste Zusatzkarte einsetzen und das Gerät wieder starten. Dieser Prozess muss für jede weitere Zusatzkarte wiederholt werden um Fehler mit den Schnittstellen vorzubeugen&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=Datei:Portbelegung_bg.png&amp;diff=19207</id>
		<title>Datei:Portbelegung bg.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=Datei:Portbelegung_bg.png&amp;diff=19207"/>
		<updated>2018-09-06T10:11:40Z</updated>

		<summary type="html">&lt;p&gt;Jan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19204</id>
		<title>UTM/Portbelegung</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=UTM/Portbelegung&amp;diff=19204"/>
		<updated>2018-09-06T10:10:54Z</updated>

		<summary type="html">&lt;p&gt;Jan: /* Black Dwarf */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE: Portbelegung Securepoint UTM }}&lt;br /&gt;
== Informationen ==&lt;br /&gt;
Letze Anpassung zur Version: &#039;&#039;&#039;11.7.9&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Vorherige Versionen: -&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Vorwort==&lt;br /&gt;
Grundsätzlich im Auslieferungszustand ohne Zusatzkarten ist Lan1 = eth0 als Externes Interface und Lan2 = eth1 als Internes Netz aus dem das administrieren immer möglich ist. Dies kann sich aber ändern wenn Zusatzkarten dazu kommen&lt;br /&gt;
&lt;br /&gt;
==Black Dwarf==&lt;br /&gt;
[[Datei:portbelegung_bg.png|350px|thumb|Black Dwarf]]&lt;br /&gt;
&lt;br /&gt;
==RC100==&lt;br /&gt;
[[Datei:rc100-back.jpg|350px|thumb|right|RC100]]&lt;br /&gt;
&lt;br /&gt;
==RC200==&lt;br /&gt;
[[Datei:rc200-back.jpg|350px|thumb|right|RC200]]&lt;br /&gt;
&lt;br /&gt;
==RC300==&lt;br /&gt;
[[Datei:rc300-front.jpg|350px|thumb|right|RC300]]&lt;br /&gt;
&lt;br /&gt;
==RC400==&lt;br /&gt;
[[Datei:rc400-front.jpg|350px|thumb|right|RC400]]&lt;br /&gt;
&lt;br /&gt;
==RC1000==&lt;br /&gt;
[[Datei:rc400-front.jpg|350px|thumb|right|RC1000]]&lt;br /&gt;
&lt;br /&gt;
==Einbau Zusatzkarten==&lt;br /&gt;
Damit die Zusatzkarten richtig initialisiert werden und auch der jeweilige Port der richtigen Schnittstelle zugeordnet wird, muss das Gerät zuerst ohne die Zusatzkarten gestartet werden. Danach das Gerät ausschalten, die erste Zusatzkarte einsetzen und das Gerät wieder starten. Dieser Prozess muss für jede weitere Zusatzkarte wiederholt werden um Fehler mit den Schnittstellen vorzubeugen&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=UTM/Extras/ipsec_fehleranalyse&amp;diff=19129</id>
		<title>UTM/Extras/ipsec fehleranalyse</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=UTM/Extras/ipsec_fehleranalyse&amp;diff=19129"/>
		<updated>2018-09-03T15:16:34Z</updated>

		<summary type="html">&lt;p&gt;Jan: /* Initiator-Seite: Extern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE: Fehleranalyse mit tcpdump }}&lt;br /&gt;
== Informationen ==&lt;br /&gt;
Letze Anpassung zur Version: &#039;&#039;&#039;11.7.9&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Vorherige Versionen: -&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Einleitung==&lt;br /&gt;
Falls eine TCP/IP-Verbindung mal nicht funktioniert, bietet die Firewall einige Möglichkeiten den Fehlern&lt;br /&gt;
auf die Spur zu kommen. Konkret gibt es drei Level der Analyse, die immer tiefer in das System&lt;br /&gt;
hinabsteigen. Das oberste Level ist über das Webinterface erreichbar, die unteren Level benötigen eine&lt;br /&gt;
Textkonsole, entweder über SSH oder lokal am Gerät.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Die Level der Fehleranalyse==&lt;br /&gt;
===Level 1: Livelog===&lt;br /&gt;
Das Livelog zeigt neben Applikationsmeldungen auch Meldungen des Paketfilters an. Standardmäßig ist allerdings nur zu sehen, wenn die Default Policy Pakete verwirft, für die es keine passende Firewallregel gibt. Es lässt sich aber für jede Firewall-Regel das Logging konfigurieren, so dass auch ein Eintrag erscheint, wenn diese Regel greift. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dadurch ergeben sich in der Fehlersuche drei Möglichkeiten: &amp;lt;br /&amp;gt;&lt;br /&gt;
#Das gesuchte Paket taucht auf und es wird verworfen (DROP)&lt;br /&gt;
#Das gesuchte Paket taucht auf und es wird akzeptiert (ACCEPT)&lt;br /&gt;
#Das gesuchte Paket taucht nicht auf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Dadurch kann die Fehlerursache lokalisiert werden: &amp;lt;br /&amp;gt;&lt;br /&gt;
#Wenn ein Paket verworfen wird, fehlt die passende FW-Regel, sie ist nicht korrekt erstellt oder noch nicht wirksam (Regelwerk noch nicht aktualisiert)&lt;br /&gt;
#Wenn ein Paket angenommen wird, dann liegt der Fehler vermutlich in Richtung Zielhost.&lt;br /&gt;
#Ist kein Paket im Livelog sichtbar, dann kommt vermutlich auch keins an der Firewall an. Der Fehler ist hier vermutlich in Richtung Quellhost zu suchen.&lt;br /&gt;
&lt;br /&gt;
===Level 2: CLI===&lt;br /&gt;
Das CLI (Command Line Interface) stellt die Schnittstelle zum Firewall-Server dar, welche zum einen vom Webinterface genutzt wird, zum anderen auch auf der Konsole zur manuellen Konfiguration der Firewall genutzt werden kann. Für die Fehlersuche bei Verbindungsproblemen ist das CLI allerdings nur von begrenztem Nutzen.&lt;br /&gt;
&lt;br /&gt;
Das CLI kann über das Webinterface oder über eine Textkonsole erreicht werden. Dazu ist ein Benutzer&lt;br /&gt;
mit Administrationsrechten notwendig.&lt;br /&gt;
&lt;br /&gt;
===Level 3: Linux-Shell===&lt;br /&gt;
Die Linux-Shell greift auf das zugrundeliegende Betriebssystem zurück. Man erhält Zugriff auf viele Systemparameter, die über das Webinterface oder das CLI nicht zugänglich sind – wenn auch zumeist nur lesend. Mit dem Paketsniffer tcpdump steht auf der linux-Shell ein sehr leistungsfähiges Werkzeug zur Trafficanalyse zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
Die Linux-Shell erreicht man ausschließlich über eine Textkonsole mit dem Benutzer „root“.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Tcpdump auf der root-Konsole==&lt;br /&gt;
&lt;br /&gt;
===Voraussetzungen===&lt;br /&gt;
Die Voraussetzungen zur Verwendung von tcpdump sind Folgende:&lt;br /&gt;
*Ein User „root“ in der Gruppe Administrator&lt;br /&gt;
*Ein SSH-Client (z. B. PuTTY) oder eine lokale Konsole auf der Firewall&lt;br /&gt;
===Parameter zur Steuerung und Filterung===&lt;br /&gt;
Die Verwendung von tcpdump ohne Parameter würde einfach JEDES tcp/ip-Paket auf der Konsole&lt;br /&gt;
anzeigen. Es ist also notwendig, durch entsprechende Filterparameter ein Suchmuster vorzugeben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;-i&#039;&#039;&#039;&#039;&#039; definiert das Interface, an dem ein- oder ausgehende Pakete angezeigt werden sollen.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;proto&#039;&#039;&#039;&#039;&#039; definiert die Protokollnummer auf Transportebene.&lt;br /&gt;
&lt;br /&gt;
Beispiele:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; tcpdump –i eth1 proto 1&amp;lt;/code&amp;gt; zeigt ICMP-Pakete&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth1 proto 6&amp;lt;/code&amp;gt; zeigt TCP-Pakete&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; tcpdump –i eth1 proto 17&amp;lt;/code&amp;gt; zeigt UDP-Pakete&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; tcpdump –i eth1 proto 50&amp;lt;/code&amp;gt; zeigt ESP-Pakete&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;port&#039;&#039;&#039;&#039;&#039; definiert tcp- oder udp-ports.&lt;br /&gt;
&lt;br /&gt;
Beispiel: &lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth1 port 80&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;host&#039;&#039;&#039;&#039;&#039; definiert einen bestimmten Host mit seiner IP als Quelle oder Ziel.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth1 host 10.0.0.1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;net&#039;&#039;&#039;&#039;&#039; definiert ein Netzwerk (Quelle oder Ziel)&lt;br /&gt;
&lt;br /&gt;
Beispiel: &lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth1 net 10.0.0.0/24&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Darüber hinaus lassen sich Filterparameter mit logischen Operatoren verknüpfen. So können&lt;br /&gt;
folgendermaßen alle ICMP-Pakete für Host 10.0.0.10 angezeigt werden:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth1 proto 1 and host 10.0.0.10&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Weitere Steuerungsparameter sind beispielsweise:&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;-n&#039;&#039;&#039;&#039;&#039; verhindert, dass tcpdump versucht, einen reverse lookup auf IP-Adressen zu machen, um Hostnamen anzuzeigen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;-s&#039;&#039;&#039;&#039;&#039; legt fest, bis zu welcher Länge ein Paket mitgeschnitten wird. Mit dem Wert 0 wird das komplette Paket mitgeschnitten.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;-w&#039;&#039;&#039;&#039;&#039; leitet die Ausgabe in eine Textdatei um. Diese kann dann mit einem Analysetool, z.B. wireshark, weiter untersucht werden. Als Wert wird der Pfad der Textdatei angegeben, z.B. /var/tcpdump.txt&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Die Trafficanalyse==&lt;br /&gt;
In unserem Beispiel haben wir zwei Netzwerke der Zentrale und eines Filialstandortes einer Firma, deren Gateways diese Netze mittels eines IPSec-Tunnels miteinander verbinden. Die Zentrale hat das interne Netzwerk 10.0.0.0/24 und die externe Adresse 198.51.100.75. Die Filiale hat das interne Netzwerk 10.4.0.0/24 und die externe Adresse 198.51.100.4. Der Host 10.0.0.10 versucht, den Host 10.4.0.10 zu erreichen, was aber misslingt.&lt;br /&gt;
&lt;br /&gt;
===Initiator-Seite: Intern===&lt;br /&gt;
Wir beginnen unsere Analyse am internen Interface des Gateways der Zentrale. Dazu melden wir uns per ssh als User „root“ dort an und führen folgendes Kommando aus:&lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth1 proto 1 -n&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Parameter „proto 1“ bezieht sich auf die Protokollnummer 1 des ICMP-Protokolls auf Transportebene. Alternativ können wir auch nach Paketen suchen, die für das entfernte Subnetz bestimmt sind:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth1 net 10.4.0.0/24 –n&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Versuchen wir jetzt zu „pingen“, zeigt sich folgendes Ergebnis:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;09:59:44.445502 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 09:59:49.847558 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 09:59:54.855574 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 09:59:59.861512 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wir sehen das die Anfragen am internen Interface der zentralen Firewall ankommen. Eine Antwort bleibt allerdings aus.&lt;br /&gt;
&lt;br /&gt;
===Initiator-Seite: Extern===&lt;br /&gt;
Zur weiteren Verfolgung muss das ausgehende Interface der zentralen Firewall betrachtet werden. Allerdings ergibt sich hier ein Problem: Da wir an dieser Stelle den Transport der übertragenen Daten nur in verschlüsselter Form betrachten können, bleibt uns das ICMP-Paket im Klartext verborgen – und das sollte auch so sein. Wir können allerdings versuchen, eingehendes Klartext- und ausgehendes verschlüsseltes Paket miteinander in Beziehung zu setzen. Wir starten dazu tcpdump mit folgenden Parametern:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i any proto 1 or proto 50 -n&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wir suchen an einer beliebigen Schnittstelle nach ICMP-Paketen oder nach verschlüsselten Paketen. Das hierzu von IPSec verwendete Protokoll ESP hat auf der Transportebene die Protokollnummer 50. Gibt es mehrere IPSec-Verbindungen auf dem Gateway, kann alternativ auch nach Paketen für das entfernte Subnetz oder das entfernte Gateway gesucht werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i any net 10.4.0.0/24 or host 198.51.100.4 –n&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wir erhalten folgendes Ergebnis:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 10:21:39.710743 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 10:21:39.710799 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x9), length 92&lt;br /&gt;
 10:21:45.056141 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 10:21:45.056235 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0xa), length 92&lt;br /&gt;
 10:21:50.065278 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 10:21:50.065332 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0xb), length 92&lt;br /&gt;
 10:21:55.075902 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
 10:21:55.075947 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0xc), length 92&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wir sehen vier ICMP Echo Request-Pakete mit aufeinanderfolgenden Sequenznummern, denen jeweils direkt ein ESP-Paket folgt. Diese ESP-Pakete haben ebenfalls aufeinanderfolgende Sequenznummern. Daraus folgt, dass auf Seiten der zentralen Firewall alle Datenpakete für das entfernte Subnetz verschlüsselt und an das entfernte Gateway geschickt werden.&lt;br /&gt;
&lt;br /&gt;
Möglicherweise bekommen wir allerdings folgendes Ergebnis:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 10:58:15.436094 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 10:58:15.436127 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 10:58:20.810201 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 10:58:20.810230 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 10:58:25.820479 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 10:58:25.820533 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 10:58:30.830402 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
 10:58:30.830470 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wir sehen jedes Paket zwei Mal, erkennbar an der gleichen Sequenznummer. Die zweite Version des Pakets hat allerdings die IP des externen Interfaces als Quelle. Es erfolgte also ein HideNAT über die externe Schnittstelle. In diesem Falle haben wir wahrscheinlich vergessen, innerhalb der Portfilterregel vom eigenen in das entfernte Subnetz die HideNAT-Ausnahme zu setzen oder die Option „Kein NAT für IPSec-Verbindungen“ in den impliziten Regeln zu aktivieren. Infolgedessen wird das Paket, anstatt verschlüsselt in den IPSec-Tunnel zu gehen, geNATtet und in Richtung Default Gateway geschickt.&lt;br /&gt;
&lt;br /&gt;
===Responder-Seite: Extern===&lt;br /&gt;
Gehen wir davon aus, dass auf dem Gateway der Zentrale alles funktioniert, müssen wir weiter auf dem Gateway der Filiale suchen. Zunächst vergewissern wir uns, dass die verschlüsselten Daten auch an der Gegenstelle ankommen. Das diese von der Zentrale aus abgeschickt werden, heißt noch lange nicht, dass sie auch ankommen! Deshalb führen wir auf der SSH-Konsole auf der Filiale folgendes Kommando aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth0 proto 50 –n&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Ergebnis ist folgende Ausgabe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 11:24:55.833742 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x45), length 92&lt;br /&gt;
 11:25:00.890782 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x46), length 92&lt;br /&gt;
 11:25:05.899056 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x47), length 92&lt;br /&gt;
 11:25:10.908124 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x48), length 92&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Responder-Seite: Intern===&lt;br /&gt;
Wir können also sicher sein, dass die verschlüsselten Pakete auch am Gateway der Filiale ankommen! Die letzte Etappe ist nun die interne Schnittstelle des Filial-Gateways. Hier schauen wir, ob das ICMP-Paket auch ins interne Netz Richtung Zielhost geschickt wird:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth1 proto 1 –n&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ist auch auf dem Gateway der Filiale in Bezug auf Portfilter-Regeln alles korrekt konfiguriert, sollte sich folgende Ausgabe ergeben:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Daraus können wir eindeutig ersehen, dass der Zielhost zumindestens online und physikalisch erreichbar ist. Warum können wir uns da so sicher sein? Das wird deutlich, wenn wir uns die Ausgabe anschauen, die wir erhalten, wenn wir anstatt des Protokolls ICMP einmal nach Paketen des Zielhosts suchen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 root@standort-4:~# tcpdump –i eth1 host 10.4.0.10 –n&lt;br /&gt;
 11:44:39.553889 ARP, Request who-has 10.4.0.10 tell 10.4.0.1, length 28&lt;br /&gt;
 11:44:39.554212 ARP, Reply 10.4.0.10 is-at 08:00:27:e1:fd:ab, length 46&lt;br /&gt;
 11:44:39.672145 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 11:44:44.682827 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 11:44:49.692773 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 11:44:49.699543 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Wir sehen hier, dass vor unseren Pings vom Gateway ein ARP Request ins interne Netz gesendet wird, mit dem die MAC-Adresse des Zielhosts ermittelt werden soll. Darauf erfolgt eine Antwort des Zielhosts, in der er diese mitteilt. Erst dann können IP-Pakete an den Zielhost übermittelt werden. Die Ergebnisse von ARP Requests werden in der Neighbour table, auch ARP-Cache genannt, zwischengespeichert, so dass nicht für jedes IP-Paket ein neuer ARP Request durchgeführt werden muss. Diesen können wir uns mit folgendem Kommando anschauen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ip n&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wir finden in der Ausgabe unter anderem einen Eintrag, der zu unserem Zielhost gehört:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
10.4.0.10 dev eth1 lladdr 08:00:27:e1:fd:ab REACHABLE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das beweist eindeutig, dass der Zielhost online und physikalisch erreichbar ist. Wäre er das nicht, würde in der Neighbour table folgender Eintrag stehen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
10.4.0.10 dev eth1 FAILED&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sofern das Gateway zu mindestens versucht, ein Paket an den Zielhost zuzustellen, liegt der Fehler nicht mehr innerhalb der Tunnel- oder Firewall-Konfiguration, sondern eindeutig am Zielhost. Entweder sehen wir keine IP-Pakete, aber einen Eintrag in die Neighbour table, der uns anzeigt, dass der Zielhost physikalisch nicht erreichbar ist. Oder wir sehen ein IP-Paket und können daraus schließen, dass der Zielhost zwar physikalisch erreichbar ist, aber auf die Verbindungsanfrage aus irgendwelchen Gründen nicht antwortet.&lt;br /&gt;
&lt;br /&gt;
===Mögliche Fehlerquellen auf dem Zielhost===&lt;br /&gt;
Nachdem feststeht, dass der Fehler nur auf dem Zielhost liegen kann, müsste dieser auch dort gefunden werden. Wir können den Fehler aber auch bereits auf dem Gateway auf Responder-Seite weiter eingrenzen, wenn wir betrachten, ob und welche Pakete vom Zielhost zurückkommen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth1 host 10.4.0.10 -n&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sind nun ausschließlich die von der NextGen UTM ausgehenden Ping sichtbar, dann ist anzunehmen, dass der Zielhost aufgrund einer aktiven lokalen Firewall nicht antwortet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei folgendem Fehlerbild kann von einer falsch gesetzten Subnetzmaske in der Netzwerkkonfiguration des Zielhosts ausgegangen werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
 11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
 11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
 11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
 11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Zielhost versucht, mit einer ARP-Anfrage die MAC-Adresse des Quellhosts zu ermitteln, als wäre dieser im gleichen Subnetz. Das weist eindeutig auf eine fehlerhafte Subnetzmaske hin. Selbst ein falsch gesetztes Default Gateway lässt sich so herausfinden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hier versucht der Zielhost, die MAC-Adresse eines anderen Hosts im gleichen Subnetz zu finden. Da diese Versuche reproduzierbar immer jeweils nach einem ICMP Echo Request-Paket zu sehen sind, ist anzunehmen, dass er versucht, an diesen Host die Antwort zu schicken.&lt;br /&gt;
&lt;br /&gt;
===Weitere Diagnosemöglichkeiten bei tcp-Verbindungen===&lt;br /&gt;
Über die reine Erreichbarkeit eines Hosts hinaus lassen sich noch weitere Aspekte einer Verbindung untersuchen, wie zum Beispiel der korrekte Aufbau des TCP 3-Wege-Handshakes. Ist in der Antwort auf das initiale Paket (SYN-Flag) das RST-Flag gesetzt, dann wird der Zielhost zwar erreicht, der entsprechende Dienst ist aber nicht erreichbar:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 root@standort-4:~# tcpdump -i eth1 port 3389 -n&lt;br /&gt;
14:24:14.433460 IP 10.0.0.10.50795 &amp;gt; 10.4.0.10.3389: Flags [S], seq 315479174, win 64240, options [mss 1341,nop,wscale 8,nop,nop,sackOK], length 0&lt;br /&gt;
14:24:14.433725 IP 10.4.0.10.3389 &amp;gt; 10.0.0.10.50795: Flags [R.], seq 0, ack 315479175, win 0, length 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Noch viel tiefergehende Analysen des Datenstroms können erfolgen, wenn dieser komplett mitgeschnitten und in einem Analysetool wie Wireshark untersucht wird:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 root@standort-4:~# tcpdump -i eth1 port 25 -w /tmp/dump.txt -s 0 -n&lt;br /&gt;
 tcpdump: listening on eth1, link-type EN10MB (Ethernet), capture size 262144 bytes&lt;br /&gt;
 12 packets captured&lt;br /&gt;
 12 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=UTM/Extras/ipsec_fehleranalyse&amp;diff=19126</id>
		<title>UTM/Extras/ipsec fehleranalyse</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=UTM/Extras/ipsec_fehleranalyse&amp;diff=19126"/>
		<updated>2018-09-03T15:11:21Z</updated>

		<summary type="html">&lt;p&gt;Jan: /* Tcpdump auf der root-Konsole */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE: Fehleranalyse mit tcpdump }}&lt;br /&gt;
== Informationen ==&lt;br /&gt;
Letze Anpassung zur Version: &#039;&#039;&#039;11.7.9&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Vorherige Versionen: -&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Einleitung==&lt;br /&gt;
Falls eine TCP/IP-Verbindung mal nicht funktioniert, bietet die Firewall einige Möglichkeiten den Fehlern&lt;br /&gt;
auf die Spur zu kommen. Konkret gibt es drei Level der Analyse, die immer tiefer in das System&lt;br /&gt;
hinabsteigen. Das oberste Level ist über das Webinterface erreichbar, die unteren Level benötigen eine&lt;br /&gt;
Textkonsole, entweder über SSH oder lokal am Gerät.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Die Level der Fehleranalyse==&lt;br /&gt;
===Level 1: Livelog===&lt;br /&gt;
Das Livelog zeigt neben Applikationsmeldungen auch Meldungen des Paketfilters an. Standardmäßig ist allerdings nur zu sehen, wenn die Default Policy Pakete verwirft, für die es keine passende Firewallregel gibt. Es lässt sich aber für jede Firewall-Regel das Logging konfigurieren, so dass auch ein Eintrag erscheint, wenn diese Regel greift. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dadurch ergeben sich in der Fehlersuche drei Möglichkeiten: &amp;lt;br /&amp;gt;&lt;br /&gt;
#Das gesuchte Paket taucht auf und es wird verworfen (DROP)&lt;br /&gt;
#Das gesuchte Paket taucht auf und es wird akzeptiert (ACCEPT)&lt;br /&gt;
#Das gesuchte Paket taucht nicht auf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Dadurch kann die Fehlerursache lokalisiert werden: &amp;lt;br /&amp;gt;&lt;br /&gt;
#Wenn ein Paket verworfen wird, fehlt die passende FW-Regel, sie ist nicht korrekt erstellt oder noch nicht wirksam (Regelwerk noch nicht aktualisiert)&lt;br /&gt;
#Wenn ein Paket angenommen wird, dann liegt der Fehler vermutlich in Richtung Zielhost.&lt;br /&gt;
#Ist kein Paket im Livelog sichtbar, dann kommt vermutlich auch keins an der Firewall an. Der Fehler ist hier vermutlich in Richtung Quellhost zu suchen.&lt;br /&gt;
&lt;br /&gt;
===Level 2: CLI===&lt;br /&gt;
Das CLI (Command Line Interface) stellt die Schnittstelle zum Firewall-Server dar, welche zum einen vom Webinterface genutzt wird, zum anderen auch auf der Konsole zur manuellen Konfiguration der Firewall genutzt werden kann. Für die Fehlersuche bei Verbindungsproblemen ist das CLI allerdings nur von begrenztem Nutzen.&lt;br /&gt;
&lt;br /&gt;
Das CLI kann über das Webinterface oder über eine Textkonsole erreicht werden. Dazu ist ein Benutzer&lt;br /&gt;
mit Administrationsrechten notwendig.&lt;br /&gt;
&lt;br /&gt;
===Level 3: Linux-Shell===&lt;br /&gt;
Die Linux-Shell greift auf das zugrundeliegende Betriebssystem zurück. Man erhält Zugriff auf viele Systemparameter, die über das Webinterface oder das CLI nicht zugänglich sind – wenn auch zumeist nur lesend. Mit dem Paketsniffer tcpdump steht auf der linux-Shell ein sehr leistungsfähiges Werkzeug zur Trafficanalyse zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
Die Linux-Shell erreicht man ausschließlich über eine Textkonsole mit dem Benutzer „root“.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Tcpdump auf der root-Konsole==&lt;br /&gt;
&lt;br /&gt;
===Voraussetzungen===&lt;br /&gt;
Die Voraussetzungen zur Verwendung von tcpdump sind Folgende:&lt;br /&gt;
*Ein User „root“ in der Gruppe Administrator&lt;br /&gt;
*Ein SSH-Client (z. B. PuTTY) oder eine lokale Konsole auf der Firewall&lt;br /&gt;
===Parameter zur Steuerung und Filterung===&lt;br /&gt;
Die Verwendung von tcpdump ohne Parameter würde einfach JEDES tcp/ip-Paket auf der Konsole&lt;br /&gt;
anzeigen. Es ist also notwendig, durch entsprechende Filterparameter ein Suchmuster vorzugeben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;-i&#039;&#039;&#039;&#039;&#039; definiert das Interface, an dem ein- oder ausgehende Pakete angezeigt werden sollen.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;proto&#039;&#039;&#039;&#039;&#039; definiert die Protokollnummer auf Transportebene.&lt;br /&gt;
&lt;br /&gt;
Beispiele:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; tcpdump –i eth1 proto 1&amp;lt;/code&amp;gt; zeigt ICMP-Pakete&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth1 proto 6&amp;lt;/code&amp;gt; zeigt TCP-Pakete&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; tcpdump –i eth1 proto 17&amp;lt;/code&amp;gt; zeigt UDP-Pakete&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; tcpdump –i eth1 proto 50&amp;lt;/code&amp;gt; zeigt ESP-Pakete&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;port&#039;&#039;&#039;&#039;&#039; definiert tcp- oder udp-ports.&lt;br /&gt;
&lt;br /&gt;
Beispiel: &lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth1 port 80&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;host&#039;&#039;&#039;&#039;&#039; definiert einen bestimmten Host mit seiner IP als Quelle oder Ziel.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth1 host 10.0.0.1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;net&#039;&#039;&#039;&#039;&#039; definiert ein Netzwerk (Quelle oder Ziel)&lt;br /&gt;
&lt;br /&gt;
Beispiel: &lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth1 net 10.0.0.0/24&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Darüber hinaus lassen sich Filterparameter mit logischen Operatoren verknüpfen. So können&lt;br /&gt;
folgendermaßen alle ICMP-Pakete für Host 10.0.0.10 angezeigt werden:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth1 proto 1 and host 10.0.0.10&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Weitere Steuerungsparameter sind beispielsweise:&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;-n&#039;&#039;&#039;&#039;&#039; verhindert, dass tcpdump versucht, einen reverse lookup auf IP-Adressen zu machen, um Hostnamen anzuzeigen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;-s&#039;&#039;&#039;&#039;&#039; legt fest, bis zu welcher Länge ein Paket mitgeschnitten wird. Mit dem Wert 0 wird das komplette Paket mitgeschnitten.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;-w&#039;&#039;&#039;&#039;&#039; leitet die Ausgabe in eine Textdatei um. Diese kann dann mit einem Analysetool, z.B. wireshark, weiter untersucht werden. Als Wert wird der Pfad der Textdatei angegeben, z.B. /var/tcpdump.txt&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Die Trafficanalyse==&lt;br /&gt;
In unserem Beispiel haben wir zwei Netzwerke der Zentrale und eines Filialstandortes einer Firma, deren Gateways diese Netze mittels eines IPSec-Tunnels miteinander verbinden. Die Zentrale hat das interne Netzwerk 10.0.0.0/24 und die externe Adresse 198.51.100.75. Die Filiale hat das interne Netzwerk 10.4.0.0/24 und die externe Adresse 198.51.100.4. Der Host 10.0.0.10 versucht, den Host 10.4.0.10 zu erreichen, was aber misslingt.&lt;br /&gt;
&lt;br /&gt;
===Initiator-Seite: Intern===&lt;br /&gt;
Wir beginnen unsere Analyse am internen Interface des Gateways der Zentrale. Dazu melden wir uns per ssh als User „root“ dort an und führen folgendes Kommando aus:&lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth1 proto 1 -n&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Parameter „proto 1“ bezieht sich auf die Protokollnummer 1 des ICMP-Protokolls auf Transportebene. Alternativ können wir auch nach Paketen suchen, die für das entfernte Subnetz bestimmt sind:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth1 net 10.4.0.0/24 –n&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Versuchen wir jetzt zu „pingen“, zeigt sich folgendes Ergebnis:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;09:59:44.445502 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 09:59:49.847558 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 09:59:54.855574 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 09:59:59.861512 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wir sehen das die Anfragen am internen Interface der zentralen Firewall ankommen. Eine Antwort bleibt allerdings aus.&lt;br /&gt;
&lt;br /&gt;
===Initiator-Seite: Extern===&lt;br /&gt;
Zur weiteren Verfolgung muss das ausgehende Interface der zentralen Firewall betrachtet werden. Allerdings stellt sich hier ein Problem: Da wir an dieser Stelle den Transport der übertragenen Daten nur in verschlüsselter Form betrachten können, bleibt uns das ICMP-Paket im Klartext verborgen – und das sollte auch so sein. Wir können allerdings versuchen, eingehendes Klartext- und ausgehendes verschlüsseltes Paket miteinander in Beziehung zu setzen. Wir starten dazu tcpdump mit folgenden Parametern:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i any proto 1 or proto 50 -n&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wir suchen an einer beliebigen Schnittstelle nach ICMP-Paketen oder nach verschlüsselten Paketen. Das hierzu von IPSec verwendete Protokoll ESP hat auf der Transportebene die Protokollnummer 50. Gibt es mehrere IPSec-Verbindungen auf dem Gateway, kann alternativ auch nach Paketen für das entfernte Subnetz oder das entfernte Gateway gesucht werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i any net 10.4.0.0/24 or host 198.51.100.4 –n&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wir erhalten folgendes Ergebnis:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 10:21:39.710743 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 10:21:39.710799 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x9), length 92&lt;br /&gt;
 10:21:45.056141 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 10:21:45.056235 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0xa), length 92&lt;br /&gt;
 10:21:50.065278 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 10:21:50.065332 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0xb), length 92&lt;br /&gt;
 10:21:55.075902 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
 10:21:55.075947 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0xc), length 92&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wir sehen vier ICMP Echo Request-Pakete mit aufeinanderfolgenden Sequenznummern, denen jeweils direkt ein ESP-Paket folgt. Diese ESP-Pakete haben ebenfalls aufeinanderfolgende Sequenznummern. Daraus folgt, dass auf Seiten der zentralen Firewall alle Datenpakete für das entfernte Subnetz verschlüsselt und an das entfernte Gateway geschickt werden.&lt;br /&gt;
&lt;br /&gt;
Möglicherweise bekommen wir allerdings folgendes Ergebnis:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 10:58:15.436094 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 10:58:15.436127 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 10:58:20.810201 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 10:58:20.810230 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 10:58:25.820479 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 10:58:25.820533 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 10:58:30.830402 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
 10:58:30.830470 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wir sehen jedes Paket zwei Mal, erkennbar an der gleichen Sequenznummer. Die zweite Version des Pakets hat allerdings die IP des externen Interfaces als Quelle. Es erfolgte also ein HideNAT über die externe Schnittstelle. In diesem Falle haben wir wahrscheinlich vergessen, innerhalb der Portfilterregel vom eigenen in das entfernte Subnetz die HideNAT-Ausnahme zu setzen oder die Option „Kein NAT für IPSec-Verbindungen“ in den impliziten Regeln zu aktivieren. Infolgedessen wird das Paket, anstatt verschlüsselt in den IPSec-Tunnel zu gehen, geNATtet und in Richtung Default Gateway geschickt.&lt;br /&gt;
&lt;br /&gt;
===Responder-Seite: Extern===&lt;br /&gt;
Gehen wir davon aus, dass auf dem Gateway der Zentrale alles funktioniert, müssen wir weiter auf dem Gateway der Filiale suchen. Zunächst vergewissern wir uns, dass die verschlüsselten Daten auch an der Gegenstelle ankommen. Das diese von der Zentrale aus abgeschickt werden, heißt noch lange nicht, dass sie auch ankommen! Deshalb führen wir auf der SSH-Konsole auf der Filiale folgendes Kommando aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth0 proto 50 –n&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Ergebnis ist folgende Ausgabe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 11:24:55.833742 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x45), length 92&lt;br /&gt;
 11:25:00.890782 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x46), length 92&lt;br /&gt;
 11:25:05.899056 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x47), length 92&lt;br /&gt;
 11:25:10.908124 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x48), length 92&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Responder-Seite: Intern===&lt;br /&gt;
Wir können also sicher sein, dass die verschlüsselten Pakete auch am Gateway der Filiale ankommen! Die letzte Etappe ist nun die interne Schnittstelle des Filial-Gateways. Hier schauen wir, ob das ICMP-Paket auch ins interne Netz Richtung Zielhost geschickt wird:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth1 proto 1 –n&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ist auch auf dem Gateway der Filiale in Bezug auf Portfilter-Regeln alles korrekt konfiguriert, sollte sich folgende Ausgabe ergeben:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Daraus können wir eindeutig ersehen, dass der Zielhost zumindestens online und physikalisch erreichbar ist. Warum können wir uns da so sicher sein? Das wird deutlich, wenn wir uns die Ausgabe anschauen, die wir erhalten, wenn wir anstatt des Protokolls ICMP einmal nach Paketen des Zielhosts suchen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 root@standort-4:~# tcpdump –i eth1 host 10.4.0.10 –n&lt;br /&gt;
 11:44:39.553889 ARP, Request who-has 10.4.0.10 tell 10.4.0.1, length 28&lt;br /&gt;
 11:44:39.554212 ARP, Reply 10.4.0.10 is-at 08:00:27:e1:fd:ab, length 46&lt;br /&gt;
 11:44:39.672145 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 11:44:44.682827 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 11:44:49.692773 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 11:44:49.699543 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Wir sehen hier, dass vor unseren Pings vom Gateway ein ARP Request ins interne Netz gesendet wird, mit dem die MAC-Adresse des Zielhosts ermittelt werden soll. Darauf erfolgt eine Antwort des Zielhosts, in der er diese mitteilt. Erst dann können IP-Pakete an den Zielhost übermittelt werden. Die Ergebnisse von ARP Requests werden in der Neighbour table, auch ARP-Cache genannt, zwischengespeichert, so dass nicht für jedes IP-Paket ein neuer ARP Request durchgeführt werden muss. Diesen können wir uns mit folgendem Kommando anschauen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ip n&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wir finden in der Ausgabe unter anderem einen Eintrag, der zu unserem Zielhost gehört:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
10.4.0.10 dev eth1 lladdr 08:00:27:e1:fd:ab REACHABLE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das beweist eindeutig, dass der Zielhost online und physikalisch erreichbar ist. Wäre er das nicht, würde in der Neighbour table folgender Eintrag stehen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
10.4.0.10 dev eth1 FAILED&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sofern das Gateway zu mindestens versucht, ein Paket an den Zielhost zuzustellen, liegt der Fehler nicht mehr innerhalb der Tunnel- oder Firewall-Konfiguration, sondern eindeutig am Zielhost. Entweder sehen wir keine IP-Pakete, aber einen Eintrag in die Neighbour table, der uns anzeigt, dass der Zielhost physikalisch nicht erreichbar ist. Oder wir sehen ein IP-Paket und können daraus schließen, dass der Zielhost zwar physikalisch erreichbar ist, aber auf die Verbindungsanfrage aus irgendwelchen Gründen nicht antwortet.&lt;br /&gt;
&lt;br /&gt;
===Mögliche Fehlerquellen auf dem Zielhost===&lt;br /&gt;
Nachdem feststeht, dass der Fehler nur auf dem Zielhost liegen kann, müsste dieser auch dort gefunden werden. Wir können den Fehler aber auch bereits auf dem Gateway auf Responder-Seite weiter eingrenzen, wenn wir betrachten, ob und welche Pakete vom Zielhost zurückkommen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth1 host 10.4.0.10 -n&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sind nun ausschließlich die von der NextGen UTM ausgehenden Ping sichtbar, dann ist anzunehmen, dass der Zielhost aufgrund einer aktiven lokalen Firewall nicht antwortet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei folgendem Fehlerbild kann von einer falsch gesetzten Subnetzmaske in der Netzwerkkonfiguration des Zielhosts ausgegangen werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
 11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
 11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
 11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
 11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Zielhost versucht, mit einer ARP-Anfrage die MAC-Adresse des Quellhosts zu ermitteln, als wäre dieser im gleichen Subnetz. Das weist eindeutig auf eine fehlerhafte Subnetzmaske hin. Selbst ein falsch gesetztes Default Gateway lässt sich so herausfinden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hier versucht der Zielhost, die MAC-Adresse eines anderen Hosts im gleichen Subnetz zu finden. Da diese Versuche reproduzierbar immer jeweils nach einem ICMP Echo Request-Paket zu sehen sind, ist anzunehmen, dass er versucht, an diesen Host die Antwort zu schicken.&lt;br /&gt;
&lt;br /&gt;
===Weitere Diagnosemöglichkeiten bei tcp-Verbindungen===&lt;br /&gt;
Über die reine Erreichbarkeit eines Hosts hinaus lassen sich noch weitere Aspekte einer Verbindung untersuchen, wie zum Beispiel der korrekte Aufbau des TCP 3-Wege-Handshakes. Ist in der Antwort auf das initiale Paket (SYN-Flag) das RST-Flag gesetzt, dann wird der Zielhost zwar erreicht, der entsprechende Dienst ist aber nicht erreichbar:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 root@standort-4:~# tcpdump -i eth1 port 3389 -n&lt;br /&gt;
14:24:14.433460 IP 10.0.0.10.50795 &amp;gt; 10.4.0.10.3389: Flags [S], seq 315479174, win 64240, options [mss 1341,nop,wscale 8,nop,nop,sackOK], length 0&lt;br /&gt;
14:24:14.433725 IP 10.4.0.10.3389 &amp;gt; 10.0.0.10.50795: Flags [R.], seq 0, ack 315479175, win 0, length 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Noch viel tiefergehende Analysen des Datenstroms können erfolgen, wenn dieser komplett mitgeschnitten und in einem Analysetool wie Wireshark untersucht wird:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 root@standort-4:~# tcpdump -i eth1 port 25 -w /tmp/dump.txt -s 0 -n&lt;br /&gt;
 tcpdump: listening on eth1, link-type EN10MB (Ethernet), capture size 262144 bytes&lt;br /&gt;
 12 packets captured&lt;br /&gt;
 12 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=UTM/Extras/ipsec_fehleranalyse&amp;diff=19123</id>
		<title>UTM/Extras/ipsec fehleranalyse</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=UTM/Extras/ipsec_fehleranalyse&amp;diff=19123"/>
		<updated>2018-09-03T15:08:45Z</updated>

		<summary type="html">&lt;p&gt;Jan: /* Level 1: Livelog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE: Fehleranalyse mit tcpdump }}&lt;br /&gt;
== Informationen ==&lt;br /&gt;
Letze Anpassung zur Version: &#039;&#039;&#039;11.7.9&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Vorherige Versionen: -&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Einleitung==&lt;br /&gt;
Falls eine TCP/IP-Verbindung mal nicht funktioniert, bietet die Firewall einige Möglichkeiten den Fehlern&lt;br /&gt;
auf die Spur zu kommen. Konkret gibt es drei Level der Analyse, die immer tiefer in das System&lt;br /&gt;
hinabsteigen. Das oberste Level ist über das Webinterface erreichbar, die unteren Level benötigen eine&lt;br /&gt;
Textkonsole, entweder über SSH oder lokal am Gerät.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Die Level der Fehleranalyse==&lt;br /&gt;
===Level 1: Livelog===&lt;br /&gt;
Das Livelog zeigt neben Applikationsmeldungen auch Meldungen des Paketfilters an. Standardmäßig ist allerdings nur zu sehen, wenn die Default Policy Pakete verwirft, für die es keine passende Firewallregel gibt. Es lässt sich aber für jede Firewall-Regel das Logging konfigurieren, so dass auch ein Eintrag erscheint, wenn diese Regel greift. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dadurch ergeben sich in der Fehlersuche drei Möglichkeiten: &amp;lt;br /&amp;gt;&lt;br /&gt;
#Das gesuchte Paket taucht auf und es wird verworfen (DROP)&lt;br /&gt;
#Das gesuchte Paket taucht auf und es wird akzeptiert (ACCEPT)&lt;br /&gt;
#Das gesuchte Paket taucht nicht auf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Dadurch kann die Fehlerursache lokalisiert werden: &amp;lt;br /&amp;gt;&lt;br /&gt;
#Wenn ein Paket verworfen wird, fehlt die passende FW-Regel, sie ist nicht korrekt erstellt oder noch nicht wirksam (Regelwerk noch nicht aktualisiert)&lt;br /&gt;
#Wenn ein Paket angenommen wird, dann liegt der Fehler vermutlich in Richtung Zielhost.&lt;br /&gt;
#Ist kein Paket im Livelog sichtbar, dann kommt vermutlich auch keins an der Firewall an. Der Fehler ist hier vermutlich in Richtung Quellhost zu suchen.&lt;br /&gt;
&lt;br /&gt;
===Level 2: CLI===&lt;br /&gt;
Das CLI (Command Line Interface) stellt die Schnittstelle zum Firewall-Server dar, welche zum einen vom Webinterface genutzt wird, zum anderen auch auf der Konsole zur manuellen Konfiguration der Firewall genutzt werden kann. Für die Fehlersuche bei Verbindungsproblemen ist das CLI allerdings nur von begrenztem Nutzen.&lt;br /&gt;
&lt;br /&gt;
Das CLI kann über das Webinterface oder über eine Textkonsole erreicht werden. Dazu ist ein Benutzer&lt;br /&gt;
mit Administrationsrechten notwendig.&lt;br /&gt;
&lt;br /&gt;
===Level 3: Linux-Shell===&lt;br /&gt;
Die Linux-Shell greift auf das zugrundeliegende Betriebssystem zurück. Man erhält Zugriff auf viele Systemparameter, die über das Webinterface oder das CLI nicht zugänglich sind – wenn auch zumeist nur lesend. Mit dem Paketsniffer tcpdump steht auf der linux-Shell ein sehr leistungsfähiges Werkzeug zur Trafficanalyse zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
Die Linux-Shell erreicht man ausschließlich über eine Textkonsole mit dem Benutzer „root“.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Tcpdump auf der root-Konsole==&lt;br /&gt;
&lt;br /&gt;
===Voraussetzungen===&lt;br /&gt;
Die Voraussetzungen zur Verwendung von tcpdump sind folgende:&lt;br /&gt;
*Ein User „root“ in der Gruppe Administrator&lt;br /&gt;
*Ein SSH-Client (z. B. PuTTY) oder eine lokale Konsole auf der Firewall&lt;br /&gt;
===Parameter zur Steuerung und Filterung===&lt;br /&gt;
Die Verwendung von tcpdump ohne Parameter würde einfach JEDES tcp/ip-Paket auf der Konsole&lt;br /&gt;
anzeigen. Es ist also notwendig, durch entsprechende Filterparameter ein Suchmuster vorzugeben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;-i&#039;&#039;&#039;&#039;&#039; definiert das Interface, an dem ein- oder ausgehende Pakete angezeigt werden sollen.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;proto&#039;&#039;&#039;&#039;&#039; definiert die Protokollnummer auf Transportebene.&lt;br /&gt;
&lt;br /&gt;
Beispiele:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; tcpdump –i eth1 proto 1&amp;lt;/code&amp;gt; zeigt ICMP-Pakete&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth1 proto 6&amp;lt;/code&amp;gt; zeigt TCP-Pakete&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; tcpdump –i eth1 proto 17&amp;lt;/code&amp;gt; zeigt UDP-Pakete&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; tcpdump –i eth1 proto 50&amp;lt;/code&amp;gt; zeigt ESP-Pakete&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;port&#039;&#039;&#039;&#039;&#039; definiert tcp- oder udp-ports.&lt;br /&gt;
&lt;br /&gt;
Beispiel: &lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth1 port 80&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;host&#039;&#039;&#039;&#039;&#039; definiert einen bestimmten Host mit seiner IP als Quelle oder Ziel.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth1 host 10.0.0.1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;net&#039;&#039;&#039;&#039;&#039; definiert ein Netzwerk (Quelle oder Ziel)&lt;br /&gt;
&lt;br /&gt;
Beispiel: &lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth1 net 10.0.0.0/24&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Darüber hinaus lassen sich Filterparameter mit logischen Operatoren verknüpfen. So können&lt;br /&gt;
folgendermaßen alle ICMP-Pakete für Host 10.0.0.10 angezeigt werden:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth1 proto 1 and host 10.0.0.10&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Weitere Steuerungsparameter sind beispielsweise:&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;-n&#039;&#039;&#039;&#039;&#039; verhindert, dass tcpdump versucht, einen reverse lookup auf IP-Adressen zu machen, um Hostnamen anzuzeigen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;-s&#039;&#039;&#039;&#039;&#039; legt fest, bis zu welcher Länge ein Paket mitgeschnitten wird. Mit dem Wert 0 wird das komplette Paket mitgeschnitten.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;-w&#039;&#039;&#039;&#039;&#039; leitet die Ausgabe in eine Textdatei um. Diese kann dann mit einem Analysetool, z.B. wireshark, weiter untersucht werden. Als Wert wird der Pfad der Textdatei angegeben, z.B. /var/tcpdump.txt&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Die Trafficanalyse==&lt;br /&gt;
In unserem Beispiel haben wir zwei Netzwerke der Zentrale und eines Filialstandortes einer Firma, deren Gateways diese Netze mittels eines IPSec-Tunnels miteinander verbinden. Die Zentrale hat das interne Netzwerk 10.0.0.0/24 und die externe Adresse 198.51.100.75. Die Filiale hat das interne Netzwerk 10.4.0.0/24 und die externe Adresse 198.51.100.4. Der Host 10.0.0.10 versucht, den Host 10.4.0.10 zu erreichen, was aber misslingt.&lt;br /&gt;
&lt;br /&gt;
===Initiator-Seite: Intern===&lt;br /&gt;
Wir beginnen unsere Analyse am internen Interface des Gateways der Zentrale. Dazu melden wir uns per ssh als User „root“ dort an und führen folgendes Kommando aus:&lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth1 proto 1 -n&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Parameter „proto 1“ bezieht sich auf die Protokollnummer 1 des ICMP-Protokolls auf Transportebene. Alternativ können wir auch nach Paketen suchen, die für das entfernte Subnetz bestimmt sind:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth1 net 10.4.0.0/24 –n&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Versuchen wir jetzt zu „pingen“, zeigt sich folgendes Ergebnis:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;09:59:44.445502 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 09:59:49.847558 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 09:59:54.855574 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 09:59:59.861512 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wir sehen das die Anfragen am internen Interface der zentralen Firewall ankommen. Eine Antwort bleibt allerdings aus.&lt;br /&gt;
&lt;br /&gt;
===Initiator-Seite: Extern===&lt;br /&gt;
Zur weiteren Verfolgung muss das ausgehende Interface der zentralen Firewall betrachtet werden. Allerdings stellt sich hier ein Problem: Da wir an dieser Stelle den Transport der übertragenen Daten nur in verschlüsselter Form betrachten können, bleibt uns das ICMP-Paket im Klartext verborgen – und das sollte auch so sein. Wir können allerdings versuchen, eingehendes Klartext- und ausgehendes verschlüsseltes Paket miteinander in Beziehung zu setzen. Wir starten dazu tcpdump mit folgenden Parametern:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i any proto 1 or proto 50 -n&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wir suchen an einer beliebigen Schnittstelle nach ICMP-Paketen oder nach verschlüsselten Paketen. Das hierzu von IPSec verwendete Protokoll ESP hat auf der Transportebene die Protokollnummer 50. Gibt es mehrere IPSec-Verbindungen auf dem Gateway, kann alternativ auch nach Paketen für das entfernte Subnetz oder das entfernte Gateway gesucht werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i any net 10.4.0.0/24 or host 198.51.100.4 –n&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wir erhalten folgendes Ergebnis:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 10:21:39.710743 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 10:21:39.710799 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x9), length 92&lt;br /&gt;
 10:21:45.056141 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 10:21:45.056235 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0xa), length 92&lt;br /&gt;
 10:21:50.065278 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 10:21:50.065332 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0xb), length 92&lt;br /&gt;
 10:21:55.075902 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
 10:21:55.075947 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0xc), length 92&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wir sehen vier ICMP Echo Request-Pakete mit aufeinanderfolgenden Sequenznummern, denen jeweils direkt ein ESP-Paket folgt. Diese ESP-Pakete haben ebenfalls aufeinanderfolgende Sequenznummern. Daraus folgt, dass auf Seiten der zentralen Firewall alle Datenpakete für das entfernte Subnetz verschlüsselt und an das entfernte Gateway geschickt werden.&lt;br /&gt;
&lt;br /&gt;
Möglicherweise bekommen wir allerdings folgendes Ergebnis:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 10:58:15.436094 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 10:58:15.436127 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 10:58:20.810201 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 10:58:20.810230 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 10:58:25.820479 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 10:58:25.820533 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 10:58:30.830402 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
 10:58:30.830470 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wir sehen jedes Paket zwei Mal, erkennbar an der gleichen Sequenznummer. Die zweite Version des Pakets hat allerdings die IP des externen Interfaces als Quelle. Es erfolgte also ein HideNAT über die externe Schnittstelle. In diesem Falle haben wir wahrscheinlich vergessen, innerhalb der Portfilterregel vom eigenen in das entfernte Subnetz die HideNAT-Ausnahme zu setzen oder die Option „Kein NAT für IPSec-Verbindungen“ in den impliziten Regeln zu aktivieren. Infolgedessen wird das Paket, anstatt verschlüsselt in den IPSec-Tunnel zu gehen, geNATtet und in Richtung Default Gateway geschickt.&lt;br /&gt;
&lt;br /&gt;
===Responder-Seite: Extern===&lt;br /&gt;
Gehen wir davon aus, dass auf dem Gateway der Zentrale alles funktioniert, müssen wir weiter auf dem Gateway der Filiale suchen. Zunächst vergewissern wir uns, dass die verschlüsselten Daten auch an der Gegenstelle ankommen. Das diese von der Zentrale aus abgeschickt werden, heißt noch lange nicht, dass sie auch ankommen! Deshalb führen wir auf der SSH-Konsole auf der Filiale folgendes Kommando aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth0 proto 50 –n&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Ergebnis ist folgende Ausgabe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 11:24:55.833742 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x45), length 92&lt;br /&gt;
 11:25:00.890782 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x46), length 92&lt;br /&gt;
 11:25:05.899056 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x47), length 92&lt;br /&gt;
 11:25:10.908124 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x48), length 92&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Responder-Seite: Intern===&lt;br /&gt;
Wir können also sicher sein, dass die verschlüsselten Pakete auch am Gateway der Filiale ankommen! Die letzte Etappe ist nun die interne Schnittstelle des Filial-Gateways. Hier schauen wir, ob das ICMP-Paket auch ins interne Netz Richtung Zielhost geschickt wird:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth1 proto 1 –n&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ist auch auf dem Gateway der Filiale in Bezug auf Portfilter-Regeln alles korrekt konfiguriert, sollte sich folgende Ausgabe ergeben:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Daraus können wir eindeutig ersehen, dass der Zielhost zumindestens online und physikalisch erreichbar ist. Warum können wir uns da so sicher sein? Das wird deutlich, wenn wir uns die Ausgabe anschauen, die wir erhalten, wenn wir anstatt des Protokolls ICMP einmal nach Paketen des Zielhosts suchen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 root@standort-4:~# tcpdump –i eth1 host 10.4.0.10 –n&lt;br /&gt;
 11:44:39.553889 ARP, Request who-has 10.4.0.10 tell 10.4.0.1, length 28&lt;br /&gt;
 11:44:39.554212 ARP, Reply 10.4.0.10 is-at 08:00:27:e1:fd:ab, length 46&lt;br /&gt;
 11:44:39.672145 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 11:44:44.682827 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 11:44:49.692773 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 11:44:49.699543 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Wir sehen hier, dass vor unseren Pings vom Gateway ein ARP Request ins interne Netz gesendet wird, mit dem die MAC-Adresse des Zielhosts ermittelt werden soll. Darauf erfolgt eine Antwort des Zielhosts, in der er diese mitteilt. Erst dann können IP-Pakete an den Zielhost übermittelt werden. Die Ergebnisse von ARP Requests werden in der Neighbour table, auch ARP-Cache genannt, zwischengespeichert, so dass nicht für jedes IP-Paket ein neuer ARP Request durchgeführt werden muss. Diesen können wir uns mit folgendem Kommando anschauen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ip n&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wir finden in der Ausgabe unter anderem einen Eintrag, der zu unserem Zielhost gehört:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
10.4.0.10 dev eth1 lladdr 08:00:27:e1:fd:ab REACHABLE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das beweist eindeutig, dass der Zielhost online und physikalisch erreichbar ist. Wäre er das nicht, würde in der Neighbour table folgender Eintrag stehen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
10.4.0.10 dev eth1 FAILED&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sofern das Gateway zu mindestens versucht, ein Paket an den Zielhost zuzustellen, liegt der Fehler nicht mehr innerhalb der Tunnel- oder Firewall-Konfiguration, sondern eindeutig am Zielhost. Entweder sehen wir keine IP-Pakete, aber einen Eintrag in die Neighbour table, der uns anzeigt, dass der Zielhost physikalisch nicht erreichbar ist. Oder wir sehen ein IP-Paket und können daraus schließen, dass der Zielhost zwar physikalisch erreichbar ist, aber auf die Verbindungsanfrage aus irgendwelchen Gründen nicht antwortet.&lt;br /&gt;
&lt;br /&gt;
===Mögliche Fehlerquellen auf dem Zielhost===&lt;br /&gt;
Nachdem feststeht, dass der Fehler nur auf dem Zielhost liegen kann, müsste dieser auch dort gefunden werden. Wir können den Fehler aber auch bereits auf dem Gateway auf Responder-Seite weiter eingrenzen, wenn wir betrachten, ob und welche Pakete vom Zielhost zurückkommen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth1 host 10.4.0.10 -n&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sind nun ausschließlich die von der NextGen UTM ausgehenden Ping sichtbar, dann ist anzunehmen, dass der Zielhost aufgrund einer aktiven lokalen Firewall nicht antwortet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei folgendem Fehlerbild kann von einer falsch gesetzten Subnetzmaske in der Netzwerkkonfiguration des Zielhosts ausgegangen werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
 11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
 11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
 11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
 11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Zielhost versucht, mit einer ARP-Anfrage die MAC-Adresse des Quellhosts zu ermitteln, als wäre dieser im gleichen Subnetz. Das weist eindeutig auf eine fehlerhafte Subnetzmaske hin. Selbst ein falsch gesetztes Default Gateway lässt sich so herausfinden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hier versucht der Zielhost, die MAC-Adresse eines anderen Hosts im gleichen Subnetz zu finden. Da diese Versuche reproduzierbar immer jeweils nach einem ICMP Echo Request-Paket zu sehen sind, ist anzunehmen, dass er versucht, an diesen Host die Antwort zu schicken.&lt;br /&gt;
&lt;br /&gt;
===Weitere Diagnosemöglichkeiten bei tcp-Verbindungen===&lt;br /&gt;
Über die reine Erreichbarkeit eines Hosts hinaus lassen sich noch weitere Aspekte einer Verbindung untersuchen, wie zum Beispiel der korrekte Aufbau des TCP 3-Wege-Handshakes. Ist in der Antwort auf das initiale Paket (SYN-Flag) das RST-Flag gesetzt, dann wird der Zielhost zwar erreicht, der entsprechende Dienst ist aber nicht erreichbar:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 root@standort-4:~# tcpdump -i eth1 port 3389 -n&lt;br /&gt;
14:24:14.433460 IP 10.0.0.10.50795 &amp;gt; 10.4.0.10.3389: Flags [S], seq 315479174, win 64240, options [mss 1341,nop,wscale 8,nop,nop,sackOK], length 0&lt;br /&gt;
14:24:14.433725 IP 10.4.0.10.3389 &amp;gt; 10.0.0.10.50795: Flags [R.], seq 0, ack 315479175, win 0, length 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Noch viel tiefergehende Analysen des Datenstroms können erfolgen, wenn dieser komplett mitgeschnitten und in einem Analysetool wie Wireshark untersucht wird:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 root@standort-4:~# tcpdump -i eth1 port 25 -w /tmp/dump.txt -s 0 -n&lt;br /&gt;
 tcpdump: listening on eth1, link-type EN10MB (Ethernet), capture size 262144 bytes&lt;br /&gt;
 12 packets captured&lt;br /&gt;
 12 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=UTM/Extras/ipsec_fehleranalyse&amp;diff=19120</id>
		<title>UTM/Extras/ipsec fehleranalyse</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=UTM/Extras/ipsec_fehleranalyse&amp;diff=19120"/>
		<updated>2018-09-03T15:07:22Z</updated>

		<summary type="html">&lt;p&gt;Jan: /* Einleitung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE: Fehleranalyse mit tcpdump }}&lt;br /&gt;
== Informationen ==&lt;br /&gt;
Letze Anpassung zur Version: &#039;&#039;&#039;11.7.9&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Vorherige Versionen: -&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Einleitung==&lt;br /&gt;
Falls eine TCP/IP-Verbindung mal nicht funktioniert, bietet die Firewall einige Möglichkeiten den Fehlern&lt;br /&gt;
auf die Spur zu kommen. Konkret gibt es drei Level der Analyse, die immer tiefer in das System&lt;br /&gt;
hinabsteigen. Das oberste Level ist über das Webinterface erreichbar, die unteren Level benötigen eine&lt;br /&gt;
Textkonsole, entweder über SSH oder lokal am Gerät.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Die Level der Fehleranalyse==&lt;br /&gt;
===Level 1: Livelog===&lt;br /&gt;
Das Livelog zeigt neben Applikationsmeldungen auch Meldungen des Paketfilters an. Standardmäßig ist allerdings nur zu sehen, wenn die Default Policy Pakete verwirft, für die es keine passende Firewallregel gibt. Es lässt sich aber für jede Firewall-Regel das Logging konfigurieren, so dass auch ein Eintrag erscheint, wenn diese Regel greift. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dadurch ergeben sich in der Fehlersuche drei Möglichkeiten: &amp;lt;br /&amp;gt;&lt;br /&gt;
#Das gesuchte Paket taucht auf und es wird verworfen (DROP)&lt;br /&gt;
#Das gesuchte Paket taucht auf und es wird akzeptiert (ACCEPT)&lt;br /&gt;
#Das gesuchte Paket taucht nicht auf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Dadurch kann die Fehlerursache lokalisiert werden: &amp;lt;br /&amp;gt;&lt;br /&gt;
#Wenn ein Paket verworfen wird, fehlt die passende FW-Regel, sie ist nicht korrekt erstellt oder noch nicht wirksam (Regelwerk noch nicht aktualisiert)&lt;br /&gt;
#Wenn ein Paket angenommen wird, dann liegt der Fehler vermutlich in Richtung Zielhost.&lt;br /&gt;
#Ist kein Paket im Livelog sichtbar, dann kommt vermutlich auch keins an der Firewall an. Der Fehler ist hier vermutlich in Richtung Quellhost zu suchen.&lt;br /&gt;
===Level 2: CLI===&lt;br /&gt;
Das CLI (Command Line Interface) stellt die Schnittstelle zum Firewall-Server dar, welche zum einen vom Webinterface genutzt wird, zum anderen auch auf der Konsole zur manuellen Konfiguration der Firewall genutzt werden kann. Für die Fehlersuche bei Verbindungsproblemen ist das CLI allerdings nur von begrenztem Nutzen.&lt;br /&gt;
&lt;br /&gt;
Das CLI kann über das Webinterface oder über eine Textkonsole erreicht werden. Dazu ist ein Benutzer&lt;br /&gt;
mit Administrationsrechten notwendig.&lt;br /&gt;
&lt;br /&gt;
===Level 3: Linux-Shell===&lt;br /&gt;
Die Linux-Shell greift auf das zugrundeliegende Betriebssystem zurück. Man erhält Zugriff auf viele Systemparameter, die über das Webinterface oder das CLI nicht zugänglich sind – wenn auch zumeist nur lesend. Mit dem Paketsniffer tcpdump steht auf der linux-Shell ein sehr leistungsfähiges Werkzeug zur Trafficanalyse zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
Die Linux-Shell erreicht man ausschließlich über eine Textkonsole mit dem Benutzer „root“.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Tcpdump auf der root-Konsole==&lt;br /&gt;
&lt;br /&gt;
===Voraussetzungen===&lt;br /&gt;
Die Voraussetzungen zur Verwendung von tcpdump sind folgende:&lt;br /&gt;
*Ein User „root“ in der Gruppe Administrator&lt;br /&gt;
*Ein SSH-Client (z. B. PuTTY) oder eine lokale Konsole auf der Firewall&lt;br /&gt;
===Parameter zur Steuerung und Filterung===&lt;br /&gt;
Die Verwendung von tcpdump ohne Parameter würde einfach JEDES tcp/ip-Paket auf der Konsole&lt;br /&gt;
anzeigen. Es ist also notwendig, durch entsprechende Filterparameter ein Suchmuster vorzugeben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;-i&#039;&#039;&#039;&#039;&#039; definiert das Interface, an dem ein- oder ausgehende Pakete angezeigt werden sollen.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;proto&#039;&#039;&#039;&#039;&#039; definiert die Protokollnummer auf Transportebene.&lt;br /&gt;
&lt;br /&gt;
Beispiele:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; tcpdump –i eth1 proto 1&amp;lt;/code&amp;gt; zeigt ICMP-Pakete&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth1 proto 6&amp;lt;/code&amp;gt; zeigt TCP-Pakete&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; tcpdump –i eth1 proto 17&amp;lt;/code&amp;gt; zeigt UDP-Pakete&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; tcpdump –i eth1 proto 50&amp;lt;/code&amp;gt; zeigt ESP-Pakete&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;port&#039;&#039;&#039;&#039;&#039; definiert tcp- oder udp-ports.&lt;br /&gt;
&lt;br /&gt;
Beispiel: &lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth1 port 80&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;host&#039;&#039;&#039;&#039;&#039; definiert einen bestimmten Host mit seiner IP als Quelle oder Ziel.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth1 host 10.0.0.1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;net&#039;&#039;&#039;&#039;&#039; definiert ein Netzwerk (Quelle oder Ziel)&lt;br /&gt;
&lt;br /&gt;
Beispiel: &lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth1 net 10.0.0.0/24&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Darüber hinaus lassen sich Filterparameter mit logischen Operatoren verknüpfen. So können&lt;br /&gt;
folgendermaßen alle ICMP-Pakete für Host 10.0.0.10 angezeigt werden:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth1 proto 1 and host 10.0.0.10&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Weitere Steuerungsparameter sind beispielsweise:&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;-n&#039;&#039;&#039;&#039;&#039; verhindert, dass tcpdump versucht, einen reverse lookup auf IP-Adressen zu machen, um Hostnamen anzuzeigen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;-s&#039;&#039;&#039;&#039;&#039; legt fest, bis zu welcher Länge ein Paket mitgeschnitten wird. Mit dem Wert 0 wird das komplette Paket mitgeschnitten.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;-w&#039;&#039;&#039;&#039;&#039; leitet die Ausgabe in eine Textdatei um. Diese kann dann mit einem Analysetool, z.B. wireshark, weiter untersucht werden. Als Wert wird der Pfad der Textdatei angegeben, z.B. /var/tcpdump.txt&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Die Trafficanalyse==&lt;br /&gt;
In unserem Beispiel haben wir zwei Netzwerke der Zentrale und eines Filialstandortes einer Firma, deren Gateways diese Netze mittels eines IPSec-Tunnels miteinander verbinden. Die Zentrale hat das interne Netzwerk 10.0.0.0/24 und die externe Adresse 198.51.100.75. Die Filiale hat das interne Netzwerk 10.4.0.0/24 und die externe Adresse 198.51.100.4. Der Host 10.0.0.10 versucht, den Host 10.4.0.10 zu erreichen, was aber misslingt.&lt;br /&gt;
&lt;br /&gt;
===Initiator-Seite: Intern===&lt;br /&gt;
Wir beginnen unsere Analyse am internen Interface des Gateways der Zentrale. Dazu melden wir uns per ssh als User „root“ dort an und führen folgendes Kommando aus:&lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth1 proto 1 -n&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Parameter „proto 1“ bezieht sich auf die Protokollnummer 1 des ICMP-Protokolls auf Transportebene. Alternativ können wir auch nach Paketen suchen, die für das entfernte Subnetz bestimmt sind:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth1 net 10.4.0.0/24 –n&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Versuchen wir jetzt zu „pingen“, zeigt sich folgendes Ergebnis:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;09:59:44.445502 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 09:59:49.847558 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 09:59:54.855574 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 09:59:59.861512 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wir sehen das die Anfragen am internen Interface der zentralen Firewall ankommen. Eine Antwort bleibt allerdings aus.&lt;br /&gt;
&lt;br /&gt;
===Initiator-Seite: Extern===&lt;br /&gt;
Zur weiteren Verfolgung muss das ausgehende Interface der zentralen Firewall betrachtet werden. Allerdings stellt sich hier ein Problem: Da wir an dieser Stelle den Transport der übertragenen Daten nur in verschlüsselter Form betrachten können, bleibt uns das ICMP-Paket im Klartext verborgen – und das sollte auch so sein. Wir können allerdings versuchen, eingehendes Klartext- und ausgehendes verschlüsseltes Paket miteinander in Beziehung zu setzen. Wir starten dazu tcpdump mit folgenden Parametern:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i any proto 1 or proto 50 -n&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wir suchen an einer beliebigen Schnittstelle nach ICMP-Paketen oder nach verschlüsselten Paketen. Das hierzu von IPSec verwendete Protokoll ESP hat auf der Transportebene die Protokollnummer 50. Gibt es mehrere IPSec-Verbindungen auf dem Gateway, kann alternativ auch nach Paketen für das entfernte Subnetz oder das entfernte Gateway gesucht werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i any net 10.4.0.0/24 or host 198.51.100.4 –n&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wir erhalten folgendes Ergebnis:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 10:21:39.710743 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 10:21:39.710799 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x9), length 92&lt;br /&gt;
 10:21:45.056141 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 10:21:45.056235 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0xa), length 92&lt;br /&gt;
 10:21:50.065278 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 10:21:50.065332 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0xb), length 92&lt;br /&gt;
 10:21:55.075902 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
 10:21:55.075947 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0xc), length 92&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wir sehen vier ICMP Echo Request-Pakete mit aufeinanderfolgenden Sequenznummern, denen jeweils direkt ein ESP-Paket folgt. Diese ESP-Pakete haben ebenfalls aufeinanderfolgende Sequenznummern. Daraus folgt, dass auf Seiten der zentralen Firewall alle Datenpakete für das entfernte Subnetz verschlüsselt und an das entfernte Gateway geschickt werden.&lt;br /&gt;
&lt;br /&gt;
Möglicherweise bekommen wir allerdings folgendes Ergebnis:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 10:58:15.436094 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 10:58:15.436127 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 10:58:20.810201 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 10:58:20.810230 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 10:58:25.820479 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 10:58:25.820533 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 10:58:30.830402 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
 10:58:30.830470 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wir sehen jedes Paket zwei Mal, erkennbar an der gleichen Sequenznummer. Die zweite Version des Pakets hat allerdings die IP des externen Interfaces als Quelle. Es erfolgte also ein HideNAT über die externe Schnittstelle. In diesem Falle haben wir wahrscheinlich vergessen, innerhalb der Portfilterregel vom eigenen in das entfernte Subnetz die HideNAT-Ausnahme zu setzen oder die Option „Kein NAT für IPSec-Verbindungen“ in den impliziten Regeln zu aktivieren. Infolgedessen wird das Paket, anstatt verschlüsselt in den IPSec-Tunnel zu gehen, geNATtet und in Richtung Default Gateway geschickt.&lt;br /&gt;
&lt;br /&gt;
===Responder-Seite: Extern===&lt;br /&gt;
Gehen wir davon aus, dass auf dem Gateway der Zentrale alles funktioniert, müssen wir weiter auf dem Gateway der Filiale suchen. Zunächst vergewissern wir uns, dass die verschlüsselten Daten auch an der Gegenstelle ankommen. Das diese von der Zentrale aus abgeschickt werden, heißt noch lange nicht, dass sie auch ankommen! Deshalb führen wir auf der SSH-Konsole auf der Filiale folgendes Kommando aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth0 proto 50 –n&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Ergebnis ist folgende Ausgabe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 11:24:55.833742 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x45), length 92&lt;br /&gt;
 11:25:00.890782 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x46), length 92&lt;br /&gt;
 11:25:05.899056 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x47), length 92&lt;br /&gt;
 11:25:10.908124 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x48), length 92&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Responder-Seite: Intern===&lt;br /&gt;
Wir können also sicher sein, dass die verschlüsselten Pakete auch am Gateway der Filiale ankommen! Die letzte Etappe ist nun die interne Schnittstelle des Filial-Gateways. Hier schauen wir, ob das ICMP-Paket auch ins interne Netz Richtung Zielhost geschickt wird:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth1 proto 1 –n&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ist auch auf dem Gateway der Filiale in Bezug auf Portfilter-Regeln alles korrekt konfiguriert, sollte sich folgende Ausgabe ergeben:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Daraus können wir eindeutig ersehen, dass der Zielhost zumindestens online und physikalisch erreichbar ist. Warum können wir uns da so sicher sein? Das wird deutlich, wenn wir uns die Ausgabe anschauen, die wir erhalten, wenn wir anstatt des Protokolls ICMP einmal nach Paketen des Zielhosts suchen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 root@standort-4:~# tcpdump –i eth1 host 10.4.0.10 –n&lt;br /&gt;
 11:44:39.553889 ARP, Request who-has 10.4.0.10 tell 10.4.0.1, length 28&lt;br /&gt;
 11:44:39.554212 ARP, Reply 10.4.0.10 is-at 08:00:27:e1:fd:ab, length 46&lt;br /&gt;
 11:44:39.672145 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 11:44:44.682827 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 11:44:49.692773 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 11:44:49.699543 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Wir sehen hier, dass vor unseren Pings vom Gateway ein ARP Request ins interne Netz gesendet wird, mit dem die MAC-Adresse des Zielhosts ermittelt werden soll. Darauf erfolgt eine Antwort des Zielhosts, in der er diese mitteilt. Erst dann können IP-Pakete an den Zielhost übermittelt werden. Die Ergebnisse von ARP Requests werden in der Neighbour table, auch ARP-Cache genannt, zwischengespeichert, so dass nicht für jedes IP-Paket ein neuer ARP Request durchgeführt werden muss. Diesen können wir uns mit folgendem Kommando anschauen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ip n&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wir finden in der Ausgabe unter anderem einen Eintrag, der zu unserem Zielhost gehört:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
10.4.0.10 dev eth1 lladdr 08:00:27:e1:fd:ab REACHABLE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das beweist eindeutig, dass der Zielhost online und physikalisch erreichbar ist. Wäre er das nicht, würde in der Neighbour table folgender Eintrag stehen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
10.4.0.10 dev eth1 FAILED&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sofern das Gateway zu mindestens versucht, ein Paket an den Zielhost zuzustellen, liegt der Fehler nicht mehr innerhalb der Tunnel- oder Firewall-Konfiguration, sondern eindeutig am Zielhost. Entweder sehen wir keine IP-Pakete, aber einen Eintrag in die Neighbour table, der uns anzeigt, dass der Zielhost physikalisch nicht erreichbar ist. Oder wir sehen ein IP-Paket und können daraus schließen, dass der Zielhost zwar physikalisch erreichbar ist, aber auf die Verbindungsanfrage aus irgendwelchen Gründen nicht antwortet.&lt;br /&gt;
&lt;br /&gt;
===Mögliche Fehlerquellen auf dem Zielhost===&lt;br /&gt;
Nachdem feststeht, dass der Fehler nur auf dem Zielhost liegen kann, müsste dieser auch dort gefunden werden. Wir können den Fehler aber auch bereits auf dem Gateway auf Responder-Seite weiter eingrenzen, wenn wir betrachten, ob und welche Pakete vom Zielhost zurückkommen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;tcpdump –i eth1 host 10.4.0.10 -n&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sind nun ausschließlich die von der NextGen UTM ausgehenden Ping sichtbar, dann ist anzunehmen, dass der Zielhost aufgrund einer aktiven lokalen Firewall nicht antwortet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei folgendem Fehlerbild kann von einer falsch gesetzten Subnetzmaske in der Netzwerkkonfiguration des Zielhosts ausgegangen werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
 11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
 11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
 11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
 11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Zielhost versucht, mit einer ARP-Anfrage die MAC-Adresse des Quellhosts zu ermitteln, als wäre dieser im gleichen Subnetz. Das weist eindeutig auf eine fehlerhafte Subnetzmaske hin. Selbst ein falsch gesetztes Default Gateway lässt sich so herausfinden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hier versucht der Zielhost, die MAC-Adresse eines anderen Hosts im gleichen Subnetz zu finden. Da diese Versuche reproduzierbar immer jeweils nach einem ICMP Echo Request-Paket zu sehen sind, ist anzunehmen, dass er versucht, an diesen Host die Antwort zu schicken.&lt;br /&gt;
&lt;br /&gt;
===Weitere Diagnosemöglichkeiten bei tcp-Verbindungen===&lt;br /&gt;
Über die reine Erreichbarkeit eines Hosts hinaus lassen sich noch weitere Aspekte einer Verbindung untersuchen, wie zum Beispiel der korrekte Aufbau des TCP 3-Wege-Handshakes. Ist in der Antwort auf das initiale Paket (SYN-Flag) das RST-Flag gesetzt, dann wird der Zielhost zwar erreicht, der entsprechende Dienst ist aber nicht erreichbar:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 root@standort-4:~# tcpdump -i eth1 port 3389 -n&lt;br /&gt;
14:24:14.433460 IP 10.0.0.10.50795 &amp;gt; 10.4.0.10.3389: Flags [S], seq 315479174, win 64240, options [mss 1341,nop,wscale 8,nop,nop,sackOK], length 0&lt;br /&gt;
14:24:14.433725 IP 10.4.0.10.3389 &amp;gt; 10.0.0.10.50795: Flags [R.], seq 0, ack 315479175, win 0, length 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Noch viel tiefergehende Analysen des Datenstroms können erfolgen, wenn dieser komplett mitgeschnitten und in einem Analysetool wie Wireshark untersucht wird:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 root@standort-4:~# tcpdump -i eth1 port 25 -w /tmp/dump.txt -s 0 -n&lt;br /&gt;
 tcpdump: listening on eth1, link-type EN10MB (Ethernet), capture size 262144 bytes&lt;br /&gt;
 12 packets captured&lt;br /&gt;
 12 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=UTM/Extras/ipsec_fehleranalyse&amp;diff=19078</id>
		<title>UTM/Extras/ipsec fehleranalyse</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=UTM/Extras/ipsec_fehleranalyse&amp;diff=19078"/>
		<updated>2018-09-03T13:54:32Z</updated>

		<summary type="html">&lt;p&gt;Jan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE: Fehleranalyse mit tcpdump }}&lt;br /&gt;
== Informationen ==&lt;br /&gt;
Letze Anpassung zur Version: &#039;&#039;&#039;11.7.9&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Vorherige Versionen: -&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Vorwort==&lt;br /&gt;
Falls eine TCP/IP-Verbindung mal nicht funktioniert, bietet die Firewall einige Möglichkeiten, dem Fehler&lt;br /&gt;
auf die Spur zu kommen. Konkret gibt es drei Level der Analyse, die immer tiefer in das System&lt;br /&gt;
hinabsteigen. Das oberste Level ist über das Webinterface erreichbar, die unteren Levels benötigen eine&lt;br /&gt;
Textkonsole, entweder über SSH oder lokal am Gerät.&lt;br /&gt;
&lt;br /&gt;
===Level 1: Livelog===&lt;br /&gt;
Das Livelog zeigt neben Applikationsmeldungen auch Meldungen des Paketfilters an. Standardmäßig ist&lt;br /&gt;
allerdings nur zu sehen, wenn die Default Policy Pakete verwirft, für die es keine passende FirewallRegel&lt;br /&gt;
gibt. Es läßt sich aber für jede Firewall-Regel das Logging konfigurieren, so daß auch ein Eintrag&lt;br /&gt;
erscheint, wenn diese Regel greift. &amp;lt;br /&amp;gt;&lt;br /&gt;
Dadurch ergeben sich in der Fehlersuche drei Möglichkeiten: &amp;lt;br /&amp;gt;&lt;br /&gt;
#Das gesuchte Paket taucht auf und es wird verworfen (DROP)&lt;br /&gt;
#Das gesuchte Paket taucht auf und es wird akzeptiert (ACCEPT)&lt;br /&gt;
#Das gesuchte Paket taucht nicht auf&lt;br /&gt;
&amp;lt;br /&amp;gt;Dadurch kann die Fehlerursache zumindest grob lokalisiert werden: &amp;lt;br /&amp;gt;&lt;br /&gt;
#Wenn ein Paket verworfen wird, fehlt die passende FW-Regel, sie ist inkorrekt formuliert oder noch nicht wirksam (Regelwerk noch nicht aktualisiert)&lt;br /&gt;
#Wenn ein Paket angenommen wird, dann liegt der Fehler eher in Richtung Zielhost.&lt;br /&gt;
#Ist kein Paket im Livelog sichtbar, dann kommt vermutlich auch keins an der Firewall an. Der&lt;br /&gt;
Fehler ist hier also eher in Richtung Quellhost zu suchen.&lt;br /&gt;
&lt;br /&gt;
===Level 2: CLI===&lt;br /&gt;
Das CLI (Command Line Interface) stellt die Schnittstelle zum Firewall-Server dar, welche zum einen&lt;br /&gt;
vom Webinterface genutzt wird, zum anderen auch auf der Konsole zur manuellen Konfiguration der&lt;br /&gt;
Firewall gnutzt werden kann. Für die Fehlersuche bei Verbindungsproblemen ist das CLI allerdings nur&lt;br /&gt;
on begrenztem Nutzen.&lt;br /&gt;
&lt;br /&gt;
Das CLI kann über das Webinterface oder über eine Textkonsole erreicht werden. Dazu ist ein Benutzer&lt;br /&gt;
mit Administrationsrechten notwendig.&lt;br /&gt;
&lt;br /&gt;
===Level 3: Linux-Shell===&lt;br /&gt;
Die Linux-Shell greift auf das zugrundeliegende Betriebssystem zurück. Man erhält Zugriff auf viele&lt;br /&gt;
Systemparameter, die über das Webinterface oder das CLI nicht zugänglich sind – wenn auch&lt;br /&gt;
zumeist nur lesend. Mit dem Paketsniffer tcpdump steht auf der linux-Shell ein sehr leistungsfähiges&lt;br /&gt;
Werkzeug zur Trafficanalyse zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
Die Linux-Shell erreicht man ausschließlich über eine Textkonsole mit dem Benutzer „root“.&lt;br /&gt;
&lt;br /&gt;
==Tcpdump auf der root-Konsole==&lt;br /&gt;
&lt;br /&gt;
===Voraussetzungen===&lt;br /&gt;
Die Voraussetzungen zur Verwendung von tcpdump sind folgende:&lt;br /&gt;
*Ein User „root“ in der Gruppe Administrator&lt;br /&gt;
*Ein SSH-Client (z. B. PuTTY) oder eine lokale Konsole auf der Firewall&lt;br /&gt;
===Parameter zur Steuerung und Filterung===&lt;br /&gt;
Die Verwendung von tcpdump ohne Parameter würde einfach JEDES tcp/ip-Paket auf der Konsole&lt;br /&gt;
anzeigen. Es ist also notwendig, durch entsprechende Filterparameter ein Suchmuster vorzugeben.&lt;br /&gt;
Hier einige Beispiele:&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;-i&#039;&#039;&#039;&#039;&#039; definiert das Interface, an dem ein- oder ausgehende Pakete angezeigt werden sollen&lt;br /&gt;
Beispiel: tcpdump –i eth1&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;proto&#039;&#039;&#039;&#039;&#039; definiert die Protokollnummer auf Transportebene.&lt;br /&gt;
Beispiele:&lt;br /&gt;
 tcpdump –i eth1 proto 1 zeigt ICMP-Pakete&lt;br /&gt;
 tcpdump –i eth1 proto 6 zeigt TCP-Pakete&lt;br /&gt;
 tcpdump –i eth1 proto 17 zeigt UDP-Pakete&lt;br /&gt;
 tcpdump –i eth1 proto 50 zeigt ESP-Pakete&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;port&#039;&#039;&#039;&#039;&#039; definiert tcp- oder udp-ports.&lt;br /&gt;
Beispiel: tcpdump –i eth1 port 80&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;host&#039;&#039;&#039;&#039;&#039; definiert einen bestimmten Host mit seiner IP als Quelle oder Ziel.&lt;br /&gt;
Beispiel: tcpdump –i eth1 host 10.0.0.1&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;net&#039;&#039;&#039;&#039;&#039; definiert ein Netzwerk (Quelle oder Ziel)&lt;br /&gt;
Beispiel: tcpdump –i eth1 net 10.0.0.0/24&lt;br /&gt;
Darüber hinaus lassen sich Filterparameter mit logischen Operatoren verknüpfen. So können&lt;br /&gt;
folgendermaßen alle ICMP-Pakete für Host 10.0.0.10 angezeigt werden:&lt;br /&gt;
*tcpdump –i eth1 proto 1 and host 10.0.0.10&lt;br /&gt;
Weitere Steuerungsparameter sind beispielsweise:&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;-n&#039;&#039;&#039;&#039;&#039; verhindert, dass tcpdump versucht, einen reverse lookup auf IP-Adressen zu machen, um&lt;br /&gt;
Hostnamen anzuzeigen.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;-s&#039;&#039;&#039;&#039;&#039; legt fest, bis zu welcher Länge ein Paket mitgeschnitten wird. Mit dem Wert 0 wird das&lt;br /&gt;
komplette Paket mitgeschnitten.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;-w&#039;&#039;&#039;&#039;&#039; leitet die Ausgabe in eine Textdatei um. Diese kann dann mit einem Analysetool, z.B.&lt;br /&gt;
wireshark, weiter untersucht werden. Als Wert wird der Pfad der Textdatei angegeben, z.B.&lt;br /&gt;
/var/tcpdump.txt&lt;br /&gt;
&lt;br /&gt;
==Analyse von Traffic – Ein Beispiel==&lt;br /&gt;
&lt;br /&gt;
In unserem Beispiel haben wir zwei Netzwerke der Zentrale und eines Filialstandortes einer Firma,&lt;br /&gt;
deren Gateways diese Netze mittels eines IPSec-Tunnels miteinander verbinden. Die Zentrale hat&lt;br /&gt;
das interne Netzwerk 10.0.0.0/24 und die externe Adresse 198.51.100.75. Die Filiale hat das interne&lt;br /&gt;
Netzwerk 10.4.0.0/24 und die externe Adresse 198.51.100.4. Der Host 10.0.0.10 versucht, den&lt;br /&gt;
Host 10.4.0.10 zu erreichen, was aber misslingt. &amp;lt;br /&amp;gt;&lt;br /&gt;
===Initiator-Seite: Intern===&lt;br /&gt;
Wir beginnen unsere Analyse am internen Interface des Gateways der Zentrale. Dazu melden wir&lt;br /&gt;
uns per ssh als User „root“ dort an und führen folgendes Kommando aus:&lt;br /&gt;
&lt;br /&gt;
 root@zentrale:~# tcpdump –i eth1 proto 1 -n&lt;br /&gt;
&lt;br /&gt;
Der Parameter „proto 1“ bezieht sich auf die Protokollnummer 1 des ICMP-Protokolls auf&lt;br /&gt;
Transportebene. Alternativ können wir auch nach Paketen suchen, die für das entfernte Subnetz&lt;br /&gt;
bestimmt sind:&lt;br /&gt;
&lt;br /&gt;
 root@zentrale:~# tcpdump –i eth1 net 10.4.0.0/24 –n&lt;br /&gt;
&lt;br /&gt;
Versuchen wir jetzt zu „pingen“, zeigt sich folgendes Ergebnis:&lt;br /&gt;
&lt;br /&gt;
 09:59:44.445502 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 09:59:49.847558 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 09:59:54.855574 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 09:59:59.861512 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&lt;br /&gt;
Daraus können wir ersehen, dass die Anfragen am internen Interface der zentralen Firewall&lt;br /&gt;
ankommen. Eine Antwort bleibt allerdings aus.&lt;br /&gt;
&lt;br /&gt;
===Initiator-Seite: Extern===&lt;br /&gt;
&lt;br /&gt;
Zur weiteren Verfolgung muss das ausgehende Interface der zentralen Firewall betrachtet werden.&lt;br /&gt;
Allerdings stellt sich hier ein Problem: Da wir an dieser Stelle den Transport der übertragenen Daten&lt;br /&gt;
nur in verschlüsselter Form betrachten können, bleibt uns das ICMP-Paket im Klartext verborgen –&lt;br /&gt;
und das sollte auch so sein. Wir können allerdings versuchen, eingehendes Klartext- und&lt;br /&gt;
ausgehendes verschlüsseltes Paket miteinander in Beziehung zu setzen. Wir starten dazu tcpdump&lt;br /&gt;
mit folgenden Parametern:&lt;br /&gt;
 &lt;br /&gt;
 root@zentrale:~# tcpdump –i any proto 1 or proto 50 -n&lt;br /&gt;
&lt;br /&gt;
Wir suchen an einer beliebigen Schnittstelle nach ICMP-Paketen oder nach verschlüsselten Paketen.&lt;br /&gt;
Das hierzu von IPSec verwendete Protokoll ESP hat auf der Transportebene die Protokollnummer 50.&lt;br /&gt;
Gibt es mehrere IPSec-Verbindungen auf dem Gateway, kann alternativ auch nach Paketen für das&lt;br /&gt;
entfernte Subnetz oder das entfernte Gateway gesucht werden:&lt;br /&gt;
&lt;br /&gt;
 root@zentrale:~# tcpdump –i any net 10.4.0.0/24 or host 198.51.100.4 –n&lt;br /&gt;
&lt;br /&gt;
Wir erhalten folgendes Ergebnis:&lt;br /&gt;
&lt;br /&gt;
 10:21:39.710743 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 10:21:39.710799 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x9), length 92&lt;br /&gt;
 10:21:45.056141 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 10:21:45.056235 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0xa), length 92&lt;br /&gt;
 10:21:50.065278 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 10:21:50.065332 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0xb), length 92&lt;br /&gt;
 10:21:55.075902 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
 10:21:55.075947 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0xc), length 92&lt;br /&gt;
&lt;br /&gt;
Wir sehen vier ICMP Echo Request-Pakete mit aufeinanderfolgenden Sequenznummern, denen&lt;br /&gt;
jeweils direkt ein ESP-Paket folgt. Diese ESP-Pakete haben ebenfalls aufeinanderfolgende&lt;br /&gt;
Sequenznummern. Daraus folgt, dass auf Seiten der zentralen Firewall alle Datenpakete für das&lt;br /&gt;
entfernte Subnetz verschlüsselt und an das entfernte Gateway geschickt werden.&lt;br /&gt;
&lt;br /&gt;
Möglicherweise bekommen wir allerdings folgendes Ergebnis:&lt;br /&gt;
&lt;br /&gt;
 10:58:15.436094 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 10:58:15.436127 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 10:58:20.810201 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 10:58:20.810230 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 10:58:25.820479 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 10:58:25.820533 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 10:58:30.830402 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
 10:58:30.830470 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&lt;br /&gt;
Wir sehen jedes Paket zwei Mal, erkennbar an der gleichen Sequenznummer. Die zweite Version des&lt;br /&gt;
Pakets hat allerdings die IP des externen Interfaces als Quelle. Es erfolgte also ein HideNAT über die&lt;br /&gt;
externe Schnittstelle. In diesem Falle haben wir wahrscheinlich vergessen, innerhalb der&lt;br /&gt;
Portfilterregel vom eigenen in das entfernte Subnetz die HideNAT-Ausnahme zu setzen oder die&lt;br /&gt;
Option „Kein NAT für IPSec-Verbindungen“ in den impliziten Regeln zu aktivieren. Infolgedessen&lt;br /&gt;
wird das Paket, anstatt verschlüsselt in den IPSec-Tunnel zu gehen, geNATtet und in Richtung&lt;br /&gt;
Default Gateway geschickt.&lt;br /&gt;
&lt;br /&gt;
===Responder-Seite: Extern===&lt;br /&gt;
&lt;br /&gt;
Gehen wir davon aus, dass auf dem Gateway der Zentrale alles funktioniert, müssen wir weiter auf&lt;br /&gt;
dem Gateway der Filiale suchen. Zunächst vergewissern wir uns, dass die verschlüsselten Daten&lt;br /&gt;
auch an der Gegenstelle ankommen. Das diese von der Zentrale aus abgeschickt werden, heißt&lt;br /&gt;
noch lange nicht, dass sie auch ankommen! Deshalb führen wir auf der SSH-Konsole auf der Filiale&lt;br /&gt;
folgendes Kommando aus:&lt;br /&gt;
&lt;br /&gt;
 root@standort-4:~# tcpdump –i eth0 proto 50 –n&lt;br /&gt;
&lt;br /&gt;
Das Ergebnis ist folgende Ausgabe:&lt;br /&gt;
&lt;br /&gt;
 11:24:55.833742 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x45), length 92&lt;br /&gt;
 11:25:00.890782 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x46), length 92&lt;br /&gt;
 11:25:05.899056 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x47), length 92&lt;br /&gt;
 11:25:10.908124 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x48), length 92&lt;br /&gt;
&lt;br /&gt;
===Responder-Seite: Intern===&lt;br /&gt;
&lt;br /&gt;
Wir können also sicher sein, dass die verschlüsselten Pakete auch am Gateway der Filiale&lt;br /&gt;
ankommen! Die letzte Etappe ist nun die interne Schnittstelle des Filial-Gateways. Hier schauen wir,&lt;br /&gt;
ob das ICMP-Paket auch ins interne Netz Richtung Zielhost geschickt wird:&lt;br /&gt;
&lt;br /&gt;
 root@standort-4:~# tcpdump –i eth1 proto 1 –n&lt;br /&gt;
&lt;br /&gt;
Ist auch auf dem Gateway der Filiale in Bezug auf Portfilter-Regeln alles korrekt konfiguriert, sollte&lt;br /&gt;
sich folgende Ausgabe ergeben:&lt;br /&gt;
&lt;br /&gt;
 11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&lt;br /&gt;
Daraus können wir eindeutig ersehen, dass der Zielhost zumindestens online und physikalisch&lt;br /&gt;
erreichbar ist. Warum können wir uns da so sicher sein? Das wird deutlich, wenn wir uns die&lt;br /&gt;
Ausgabe anschauen, die wir erhalten, wenn wir anstatt des Protokolls ICMP einmal nach Paketen des&lt;br /&gt;
Zielhosts suchen:&lt;br /&gt;
&lt;br /&gt;
 root@standort-4:~# tcpdump –i eth1 host 10.4.0.10 –n&lt;br /&gt;
 11:44:39.553889 ARP, Request who-has 10.4.0.10 tell 10.4.0.1, length 28&lt;br /&gt;
 11:44:39.554212 ARP, Reply 10.4.0.10 is-at 08:00:27:e1:fd:ab, length 46&lt;br /&gt;
 11:44:39.672145 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 11:44:44.682827 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 11:44:49.692773 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 11:44:49.699543 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&lt;br /&gt;
Wir sehen hier, dass vor unseren Pings vom Gateway ein ARP Request ins interne Netz gesendet&lt;br /&gt;
wird, mit dem die MAC-Adresse des Zielhosts ermittelt werden soll. Darauf erfolgt eine Antwort des&lt;br /&gt;
Zielhosts, in der er diese mitteilt. Erst dann können IP-Pakete an den Zielhost übermittelt werden.&lt;br /&gt;
Die Ergebnisse von ARP Requests werden in der Neighbour table, auch ARP-Cache genannt,&lt;br /&gt;
zwischengespeichert, so dass nicht für jedes IP-Paket ein neuer ARP Request durchgeführt werden&lt;br /&gt;
muss. Diesen können wir uns mit folgendem Kommando anschauen:&lt;br /&gt;
&lt;br /&gt;
 root@standort-4:~# ip n&lt;br /&gt;
&lt;br /&gt;
Wir finden in der Ausgabe unter anderem einen Eintrag, der zu unserem Zielhost gehört:&lt;br /&gt;
 &lt;br /&gt;
 10.4.0.10 dev eth1 lladdr 08:00:27:e1:fd:ab REACHABLE&lt;br /&gt;
&lt;br /&gt;
Das beweist eindeutig, dass der Zielhost online und physikalisch erreichbar ist. Wäre er das nicht,&lt;br /&gt;
würde in der Neighbour table folgender Eintrag stehen:&lt;br /&gt;
&lt;br /&gt;
 10.4.0.10 dev eth1 FAILED&lt;br /&gt;
&lt;br /&gt;
Sofern das Gateway zu mindestens VERSUCHT, ein Paket an den Zielhost zuzustellen, liegt der Fehler&lt;br /&gt;
nicht mehr innerhalb der Tunnel- oder Firewall-Konfiguration, sondern eindeutig am Zielhost.&lt;br /&gt;
Entweder sehen wir keine IP-Pakete, aber einen Eintrag in die Neighbour table, der uns anzeigt, dass&lt;br /&gt;
der Zielhost physikalisch nicht erreichbar ist. Oder wir sehen ein IP-Paket und können daraus&lt;br /&gt;
schließen, dass der Zielhost zwar physikalisch erreichbar ist, aber auf die Verbindungsanfrage aus&lt;br /&gt;
irgendwelchen Gründen nicht antwortet.&lt;br /&gt;
&lt;br /&gt;
===Mögliche Fehlerquellen auf dem Zielhost===&lt;br /&gt;
&lt;br /&gt;
Nachdem feststeht, dass der Fehler nur auf dem Zielhost liegen kann, müsste dieser auch dort&lt;br /&gt;
gefunden werden. Wir können den Fehler aber auch bereits auf dem Gateway auf Responder-Seite&lt;br /&gt;
weiter eingrenzen, wenn wir betrachten, ob und welche Pakete vom Zielhost zurückkommen:&lt;br /&gt;
&lt;br /&gt;
 root@standort-4:~# tcpdump –i eth1 host 10.4.0.10 -n&lt;br /&gt;
 Sind nun ausschließlich die von der NextGen UTM ausgehenden Ping sichtbar, dann ist anzunehmen,&lt;br /&gt;
dass der Zielhost aufgrund einer aktiven lokalen Firewall nicht antwortet:&lt;br /&gt;
&lt;br /&gt;
 11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&lt;br /&gt;
Bei folgendem Fehlerbild kann von einer falsch gesetzten Subnetzmaske in der&lt;br /&gt;
Netzwerkkonfiguration des Zielhosts ausgegangen werden:&lt;br /&gt;
&lt;br /&gt;
 11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
 11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
 11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
 11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
 11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
&lt;br /&gt;
Der Zielhost versucht, mit einer ARP-Anfrage die MAC-Adresse des Quellhosts zu ermitteln, als wäre&lt;br /&gt;
dieser im gleichen Subnetz. Das weist eindeutig auf eine fehlerhafte Subnetzmaske hin.&lt;br /&gt;
Selbst ein falsch gesetztes Default Gateway lässt sich so herausfinden:&lt;br /&gt;
&lt;br /&gt;
 11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
 11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
 11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
 11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
 11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
&lt;br /&gt;
Hier versucht der Zielhost, die MAC-Adresse eines anderen Hosts im gleichen Subnetz zu finden. Da&lt;br /&gt;
diese Versuche reproduzierbar immer jeweils nach einem ICMP Echo Request-Paket zu sehen sind,&lt;br /&gt;
ist anzunehmen, dass er versucht, an diesen Host die Antwort zu schicken.&lt;br /&gt;
&lt;br /&gt;
===Weitere Diagnosemöglichkeiten bei tcp-Verbindungen===&lt;br /&gt;
&lt;br /&gt;
Über die reine Erreichbarkeit eines Hosts hinaus lassen sich noch weitere Aspekte einer Verbindung&lt;br /&gt;
untersuchen, wie zum Beispiel der korrekte Aufbau des TCP 3-Wege-Handshakes. Ist in der Antwort auf&lt;br /&gt;
das initiale Paket (SYN-Flag) das RST-Flag gesetzt, dann wird der Zielhost zwar erreicht, der&lt;br /&gt;
entsprechende Dienst ist aber nicht erreichbar:&lt;br /&gt;
&lt;br /&gt;
 root@standort-4:~# tcpdump -i eth1 port 3389 -n&lt;br /&gt;
 14:24:14.433460 IP 10.0.0.10.50795 &amp;gt; 10.4.0.10.3389: Flags [S], seq 315479174, win 64240, options [mss&lt;br /&gt;
 1341,nop,wscale 8,nop,nop,sackOK], length 0&lt;br /&gt;
 14:24:14.433725 IP 10.4.0.10.3389 &amp;gt; 10.0.0.10.50795: Flags [R.], seq 0, ack 315479175, win 0, length 0&lt;br /&gt;
&lt;br /&gt;
Noch viel tiefergehende Analysen des Datenstroms können erfolgen, wenn dieser komplett&lt;br /&gt;
mitgeschnitten und in einem Analysetool wie Wireshark untersucht wird:&lt;br /&gt;
&lt;br /&gt;
 root@standort-4:~# tcpdump -i eth1 port 25 -w /tmp/dump.txt -s 0 -n&lt;br /&gt;
 tcpdump: listening on eth1, link-type EN10MB (Ethernet), capture size 262144 bytes&lt;br /&gt;
 12 packets captured&lt;br /&gt;
 12 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
&lt;br /&gt;
==Fazit==&lt;br /&gt;
&lt;br /&gt;
Mit dem Packetsniffer tcpdump steht uns ein schier unsagbar mächtiges Werkzeug zur Analyse von&lt;br /&gt;
tcp/ip-Verbindungen zur Verfügung. Die unglaubliche Flexibilität bringt allerdings auch eine nicht zu&lt;br /&gt;
unterschätzende Komplexität mit sich. Glücklicherweise lassen sich die meisten Aufgaben mit einer&lt;br /&gt;
recht überschaubaren Anzahl von Optionen lösen.&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=UTM/Extras/ipsec_fehleranalyse&amp;diff=19075</id>
		<title>UTM/Extras/ipsec fehleranalyse</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=UTM/Extras/ipsec_fehleranalyse&amp;diff=19075"/>
		<updated>2018-09-03T13:54:06Z</updated>

		<summary type="html">&lt;p&gt;Jan: /* Weitere Diagnosemöglichkeiten bei tcp-Verbindungen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE: IPSEC Fehler }}&lt;br /&gt;
== Informationen ==&lt;br /&gt;
Letze Anpassung zur Version: &#039;&#039;&#039;11.7.9&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Vorherige Versionen: -&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Vorwort==&lt;br /&gt;
Falls eine TCP/IP-Verbindung mal nicht funktioniert, bietet die Firewall einige Möglichkeiten, dem Fehler&lt;br /&gt;
auf die Spur zu kommen. Konkret gibt es drei Level der Analyse, die immer tiefer in das System&lt;br /&gt;
hinabsteigen. Das oberste Level ist über das Webinterface erreichbar, die unteren Levels benötigen eine&lt;br /&gt;
Textkonsole, entweder über SSH oder lokal am Gerät.&lt;br /&gt;
&lt;br /&gt;
===Level 1: Livelog===&lt;br /&gt;
Das Livelog zeigt neben Applikationsmeldungen auch Meldungen des Paketfilters an. Standardmäßig ist&lt;br /&gt;
allerdings nur zu sehen, wenn die Default Policy Pakete verwirft, für die es keine passende FirewallRegel&lt;br /&gt;
gibt. Es läßt sich aber für jede Firewall-Regel das Logging konfigurieren, so daß auch ein Eintrag&lt;br /&gt;
erscheint, wenn diese Regel greift. &amp;lt;br /&amp;gt;&lt;br /&gt;
Dadurch ergeben sich in der Fehlersuche drei Möglichkeiten: &amp;lt;br /&amp;gt;&lt;br /&gt;
#Das gesuchte Paket taucht auf und es wird verworfen (DROP)&lt;br /&gt;
#Das gesuchte Paket taucht auf und es wird akzeptiert (ACCEPT)&lt;br /&gt;
#Das gesuchte Paket taucht nicht auf&lt;br /&gt;
&amp;lt;br /&amp;gt;Dadurch kann die Fehlerursache zumindest grob lokalisiert werden: &amp;lt;br /&amp;gt;&lt;br /&gt;
#Wenn ein Paket verworfen wird, fehlt die passende FW-Regel, sie ist inkorrekt formuliert oder noch nicht wirksam (Regelwerk noch nicht aktualisiert)&lt;br /&gt;
#Wenn ein Paket angenommen wird, dann liegt der Fehler eher in Richtung Zielhost.&lt;br /&gt;
#Ist kein Paket im Livelog sichtbar, dann kommt vermutlich auch keins an der Firewall an. Der&lt;br /&gt;
Fehler ist hier also eher in Richtung Quellhost zu suchen.&lt;br /&gt;
&lt;br /&gt;
===Level 2: CLI===&lt;br /&gt;
Das CLI (Command Line Interface) stellt die Schnittstelle zum Firewall-Server dar, welche zum einen&lt;br /&gt;
vom Webinterface genutzt wird, zum anderen auch auf der Konsole zur manuellen Konfiguration der&lt;br /&gt;
Firewall gnutzt werden kann. Für die Fehlersuche bei Verbindungsproblemen ist das CLI allerdings nur&lt;br /&gt;
on begrenztem Nutzen.&lt;br /&gt;
&lt;br /&gt;
Das CLI kann über das Webinterface oder über eine Textkonsole erreicht werden. Dazu ist ein Benutzer&lt;br /&gt;
mit Administrationsrechten notwendig.&lt;br /&gt;
&lt;br /&gt;
===Level 3: Linux-Shell===&lt;br /&gt;
Die Linux-Shell greift auf das zugrundeliegende Betriebssystem zurück. Man erhält Zugriff auf viele&lt;br /&gt;
Systemparameter, die über das Webinterface oder das CLI nicht zugänglich sind – wenn auch&lt;br /&gt;
zumeist nur lesend. Mit dem Paketsniffer tcpdump steht auf der linux-Shell ein sehr leistungsfähiges&lt;br /&gt;
Werkzeug zur Trafficanalyse zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
Die Linux-Shell erreicht man ausschließlich über eine Textkonsole mit dem Benutzer „root“.&lt;br /&gt;
&lt;br /&gt;
==Tcpdump auf der root-Konsole==&lt;br /&gt;
&lt;br /&gt;
===Voraussetzungen===&lt;br /&gt;
Die Voraussetzungen zur Verwendung von tcpdump sind folgende:&lt;br /&gt;
*Ein User „root“ in der Gruppe Administrator&lt;br /&gt;
*Ein SSH-Client (z. B. PuTTY) oder eine lokale Konsole auf der Firewall&lt;br /&gt;
===Parameter zur Steuerung und Filterung===&lt;br /&gt;
Die Verwendung von tcpdump ohne Parameter würde einfach JEDES tcp/ip-Paket auf der Konsole&lt;br /&gt;
anzeigen. Es ist also notwendig, durch entsprechende Filterparameter ein Suchmuster vorzugeben.&lt;br /&gt;
Hier einige Beispiele:&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;-i&#039;&#039;&#039;&#039;&#039; definiert das Interface, an dem ein- oder ausgehende Pakete angezeigt werden sollen&lt;br /&gt;
Beispiel: tcpdump –i eth1&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;proto&#039;&#039;&#039;&#039;&#039; definiert die Protokollnummer auf Transportebene.&lt;br /&gt;
Beispiele:&lt;br /&gt;
 tcpdump –i eth1 proto 1 zeigt ICMP-Pakete&lt;br /&gt;
 tcpdump –i eth1 proto 6 zeigt TCP-Pakete&lt;br /&gt;
 tcpdump –i eth1 proto 17 zeigt UDP-Pakete&lt;br /&gt;
 tcpdump –i eth1 proto 50 zeigt ESP-Pakete&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;port&#039;&#039;&#039;&#039;&#039; definiert tcp- oder udp-ports.&lt;br /&gt;
Beispiel: tcpdump –i eth1 port 80&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;host&#039;&#039;&#039;&#039;&#039; definiert einen bestimmten Host mit seiner IP als Quelle oder Ziel.&lt;br /&gt;
Beispiel: tcpdump –i eth1 host 10.0.0.1&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;net&#039;&#039;&#039;&#039;&#039; definiert ein Netzwerk (Quelle oder Ziel)&lt;br /&gt;
Beispiel: tcpdump –i eth1 net 10.0.0.0/24&lt;br /&gt;
Darüber hinaus lassen sich Filterparameter mit logischen Operatoren verknüpfen. So können&lt;br /&gt;
folgendermaßen alle ICMP-Pakete für Host 10.0.0.10 angezeigt werden:&lt;br /&gt;
*tcpdump –i eth1 proto 1 and host 10.0.0.10&lt;br /&gt;
Weitere Steuerungsparameter sind beispielsweise:&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;-n&#039;&#039;&#039;&#039;&#039; verhindert, dass tcpdump versucht, einen reverse lookup auf IP-Adressen zu machen, um&lt;br /&gt;
Hostnamen anzuzeigen.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;-s&#039;&#039;&#039;&#039;&#039; legt fest, bis zu welcher Länge ein Paket mitgeschnitten wird. Mit dem Wert 0 wird das&lt;br /&gt;
komplette Paket mitgeschnitten.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;-w&#039;&#039;&#039;&#039;&#039; leitet die Ausgabe in eine Textdatei um. Diese kann dann mit einem Analysetool, z.B.&lt;br /&gt;
wireshark, weiter untersucht werden. Als Wert wird der Pfad der Textdatei angegeben, z.B.&lt;br /&gt;
/var/tcpdump.txt&lt;br /&gt;
&lt;br /&gt;
==Analyse von Traffic – Ein Beispiel==&lt;br /&gt;
&lt;br /&gt;
In unserem Beispiel haben wir zwei Netzwerke der Zentrale und eines Filialstandortes einer Firma,&lt;br /&gt;
deren Gateways diese Netze mittels eines IPSec-Tunnels miteinander verbinden. Die Zentrale hat&lt;br /&gt;
das interne Netzwerk 10.0.0.0/24 und die externe Adresse 198.51.100.75. Die Filiale hat das interne&lt;br /&gt;
Netzwerk 10.4.0.0/24 und die externe Adresse 198.51.100.4. Der Host 10.0.0.10 versucht, den&lt;br /&gt;
Host 10.4.0.10 zu erreichen, was aber misslingt. &amp;lt;br /&amp;gt;&lt;br /&gt;
===Initiator-Seite: Intern===&lt;br /&gt;
Wir beginnen unsere Analyse am internen Interface des Gateways der Zentrale. Dazu melden wir&lt;br /&gt;
uns per ssh als User „root“ dort an und führen folgendes Kommando aus:&lt;br /&gt;
&lt;br /&gt;
 root@zentrale:~# tcpdump –i eth1 proto 1 -n&lt;br /&gt;
&lt;br /&gt;
Der Parameter „proto 1“ bezieht sich auf die Protokollnummer 1 des ICMP-Protokolls auf&lt;br /&gt;
Transportebene. Alternativ können wir auch nach Paketen suchen, die für das entfernte Subnetz&lt;br /&gt;
bestimmt sind:&lt;br /&gt;
&lt;br /&gt;
 root@zentrale:~# tcpdump –i eth1 net 10.4.0.0/24 –n&lt;br /&gt;
&lt;br /&gt;
Versuchen wir jetzt zu „pingen“, zeigt sich folgendes Ergebnis:&lt;br /&gt;
&lt;br /&gt;
 09:59:44.445502 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 09:59:49.847558 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 09:59:54.855574 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 09:59:59.861512 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&lt;br /&gt;
Daraus können wir ersehen, dass die Anfragen am internen Interface der zentralen Firewall&lt;br /&gt;
ankommen. Eine Antwort bleibt allerdings aus.&lt;br /&gt;
&lt;br /&gt;
===Initiator-Seite: Extern===&lt;br /&gt;
&lt;br /&gt;
Zur weiteren Verfolgung muss das ausgehende Interface der zentralen Firewall betrachtet werden.&lt;br /&gt;
Allerdings stellt sich hier ein Problem: Da wir an dieser Stelle den Transport der übertragenen Daten&lt;br /&gt;
nur in verschlüsselter Form betrachten können, bleibt uns das ICMP-Paket im Klartext verborgen –&lt;br /&gt;
und das sollte auch so sein. Wir können allerdings versuchen, eingehendes Klartext- und&lt;br /&gt;
ausgehendes verschlüsseltes Paket miteinander in Beziehung zu setzen. Wir starten dazu tcpdump&lt;br /&gt;
mit folgenden Parametern:&lt;br /&gt;
 &lt;br /&gt;
 root@zentrale:~# tcpdump –i any proto 1 or proto 50 -n&lt;br /&gt;
&lt;br /&gt;
Wir suchen an einer beliebigen Schnittstelle nach ICMP-Paketen oder nach verschlüsselten Paketen.&lt;br /&gt;
Das hierzu von IPSec verwendete Protokoll ESP hat auf der Transportebene die Protokollnummer 50.&lt;br /&gt;
Gibt es mehrere IPSec-Verbindungen auf dem Gateway, kann alternativ auch nach Paketen für das&lt;br /&gt;
entfernte Subnetz oder das entfernte Gateway gesucht werden:&lt;br /&gt;
&lt;br /&gt;
 root@zentrale:~# tcpdump –i any net 10.4.0.0/24 or host 198.51.100.4 –n&lt;br /&gt;
&lt;br /&gt;
Wir erhalten folgendes Ergebnis:&lt;br /&gt;
&lt;br /&gt;
 10:21:39.710743 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 10:21:39.710799 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x9), length 92&lt;br /&gt;
 10:21:45.056141 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 10:21:45.056235 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0xa), length 92&lt;br /&gt;
 10:21:50.065278 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 10:21:50.065332 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0xb), length 92&lt;br /&gt;
 10:21:55.075902 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
 10:21:55.075947 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0xc), length 92&lt;br /&gt;
&lt;br /&gt;
Wir sehen vier ICMP Echo Request-Pakete mit aufeinanderfolgenden Sequenznummern, denen&lt;br /&gt;
jeweils direkt ein ESP-Paket folgt. Diese ESP-Pakete haben ebenfalls aufeinanderfolgende&lt;br /&gt;
Sequenznummern. Daraus folgt, dass auf Seiten der zentralen Firewall alle Datenpakete für das&lt;br /&gt;
entfernte Subnetz verschlüsselt und an das entfernte Gateway geschickt werden.&lt;br /&gt;
&lt;br /&gt;
Möglicherweise bekommen wir allerdings folgendes Ergebnis:&lt;br /&gt;
&lt;br /&gt;
 10:58:15.436094 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 10:58:15.436127 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 10:58:20.810201 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 10:58:20.810230 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 10:58:25.820479 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 10:58:25.820533 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 10:58:30.830402 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
 10:58:30.830470 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&lt;br /&gt;
Wir sehen jedes Paket zwei Mal, erkennbar an der gleichen Sequenznummer. Die zweite Version des&lt;br /&gt;
Pakets hat allerdings die IP des externen Interfaces als Quelle. Es erfolgte also ein HideNAT über die&lt;br /&gt;
externe Schnittstelle. In diesem Falle haben wir wahrscheinlich vergessen, innerhalb der&lt;br /&gt;
Portfilterregel vom eigenen in das entfernte Subnetz die HideNAT-Ausnahme zu setzen oder die&lt;br /&gt;
Option „Kein NAT für IPSec-Verbindungen“ in den impliziten Regeln zu aktivieren. Infolgedessen&lt;br /&gt;
wird das Paket, anstatt verschlüsselt in den IPSec-Tunnel zu gehen, geNATtet und in Richtung&lt;br /&gt;
Default Gateway geschickt.&lt;br /&gt;
&lt;br /&gt;
===Responder-Seite: Extern===&lt;br /&gt;
&lt;br /&gt;
Gehen wir davon aus, dass auf dem Gateway der Zentrale alles funktioniert, müssen wir weiter auf&lt;br /&gt;
dem Gateway der Filiale suchen. Zunächst vergewissern wir uns, dass die verschlüsselten Daten&lt;br /&gt;
auch an der Gegenstelle ankommen. Das diese von der Zentrale aus abgeschickt werden, heißt&lt;br /&gt;
noch lange nicht, dass sie auch ankommen! Deshalb führen wir auf der SSH-Konsole auf der Filiale&lt;br /&gt;
folgendes Kommando aus:&lt;br /&gt;
&lt;br /&gt;
 root@standort-4:~# tcpdump –i eth0 proto 50 –n&lt;br /&gt;
&lt;br /&gt;
Das Ergebnis ist folgende Ausgabe:&lt;br /&gt;
&lt;br /&gt;
 11:24:55.833742 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x45), length 92&lt;br /&gt;
 11:25:00.890782 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x46), length 92&lt;br /&gt;
 11:25:05.899056 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x47), length 92&lt;br /&gt;
 11:25:10.908124 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x48), length 92&lt;br /&gt;
&lt;br /&gt;
===Responder-Seite: Intern===&lt;br /&gt;
&lt;br /&gt;
Wir können also sicher sein, dass die verschlüsselten Pakete auch am Gateway der Filiale&lt;br /&gt;
ankommen! Die letzte Etappe ist nun die interne Schnittstelle des Filial-Gateways. Hier schauen wir,&lt;br /&gt;
ob das ICMP-Paket auch ins interne Netz Richtung Zielhost geschickt wird:&lt;br /&gt;
&lt;br /&gt;
 root@standort-4:~# tcpdump –i eth1 proto 1 –n&lt;br /&gt;
&lt;br /&gt;
Ist auch auf dem Gateway der Filiale in Bezug auf Portfilter-Regeln alles korrekt konfiguriert, sollte&lt;br /&gt;
sich folgende Ausgabe ergeben:&lt;br /&gt;
&lt;br /&gt;
 11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&lt;br /&gt;
Daraus können wir eindeutig ersehen, dass der Zielhost zumindestens online und physikalisch&lt;br /&gt;
erreichbar ist. Warum können wir uns da so sicher sein? Das wird deutlich, wenn wir uns die&lt;br /&gt;
Ausgabe anschauen, die wir erhalten, wenn wir anstatt des Protokolls ICMP einmal nach Paketen des&lt;br /&gt;
Zielhosts suchen:&lt;br /&gt;
&lt;br /&gt;
 root@standort-4:~# tcpdump –i eth1 host 10.4.0.10 –n&lt;br /&gt;
 11:44:39.553889 ARP, Request who-has 10.4.0.10 tell 10.4.0.1, length 28&lt;br /&gt;
 11:44:39.554212 ARP, Reply 10.4.0.10 is-at 08:00:27:e1:fd:ab, length 46&lt;br /&gt;
 11:44:39.672145 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 11:44:44.682827 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 11:44:49.692773 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 11:44:49.699543 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&lt;br /&gt;
Wir sehen hier, dass vor unseren Pings vom Gateway ein ARP Request ins interne Netz gesendet&lt;br /&gt;
wird, mit dem die MAC-Adresse des Zielhosts ermittelt werden soll. Darauf erfolgt eine Antwort des&lt;br /&gt;
Zielhosts, in der er diese mitteilt. Erst dann können IP-Pakete an den Zielhost übermittelt werden.&lt;br /&gt;
Die Ergebnisse von ARP Requests werden in der Neighbour table, auch ARP-Cache genannt,&lt;br /&gt;
zwischengespeichert, so dass nicht für jedes IP-Paket ein neuer ARP Request durchgeführt werden&lt;br /&gt;
muss. Diesen können wir uns mit folgendem Kommando anschauen:&lt;br /&gt;
&lt;br /&gt;
 root@standort-4:~# ip n&lt;br /&gt;
&lt;br /&gt;
Wir finden in der Ausgabe unter anderem einen Eintrag, der zu unserem Zielhost gehört:&lt;br /&gt;
 &lt;br /&gt;
 10.4.0.10 dev eth1 lladdr 08:00:27:e1:fd:ab REACHABLE&lt;br /&gt;
&lt;br /&gt;
Das beweist eindeutig, dass der Zielhost online und physikalisch erreichbar ist. Wäre er das nicht,&lt;br /&gt;
würde in der Neighbour table folgender Eintrag stehen:&lt;br /&gt;
&lt;br /&gt;
 10.4.0.10 dev eth1 FAILED&lt;br /&gt;
&lt;br /&gt;
Sofern das Gateway zu mindestens VERSUCHT, ein Paket an den Zielhost zuzustellen, liegt der Fehler&lt;br /&gt;
nicht mehr innerhalb der Tunnel- oder Firewall-Konfiguration, sondern eindeutig am Zielhost.&lt;br /&gt;
Entweder sehen wir keine IP-Pakete, aber einen Eintrag in die Neighbour table, der uns anzeigt, dass&lt;br /&gt;
der Zielhost physikalisch nicht erreichbar ist. Oder wir sehen ein IP-Paket und können daraus&lt;br /&gt;
schließen, dass der Zielhost zwar physikalisch erreichbar ist, aber auf die Verbindungsanfrage aus&lt;br /&gt;
irgendwelchen Gründen nicht antwortet.&lt;br /&gt;
&lt;br /&gt;
===Mögliche Fehlerquellen auf dem Zielhost===&lt;br /&gt;
&lt;br /&gt;
Nachdem feststeht, dass der Fehler nur auf dem Zielhost liegen kann, müsste dieser auch dort&lt;br /&gt;
gefunden werden. Wir können den Fehler aber auch bereits auf dem Gateway auf Responder-Seite&lt;br /&gt;
weiter eingrenzen, wenn wir betrachten, ob und welche Pakete vom Zielhost zurückkommen:&lt;br /&gt;
&lt;br /&gt;
 root@standort-4:~# tcpdump –i eth1 host 10.4.0.10 -n&lt;br /&gt;
 Sind nun ausschließlich die von der NextGen UTM ausgehenden Ping sichtbar, dann ist anzunehmen,&lt;br /&gt;
dass der Zielhost aufgrund einer aktiven lokalen Firewall nicht antwortet:&lt;br /&gt;
&lt;br /&gt;
 11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&lt;br /&gt;
Bei folgendem Fehlerbild kann von einer falsch gesetzten Subnetzmaske in der&lt;br /&gt;
Netzwerkkonfiguration des Zielhosts ausgegangen werden:&lt;br /&gt;
&lt;br /&gt;
 11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
 11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
 11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
 11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
 11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
&lt;br /&gt;
Der Zielhost versucht, mit einer ARP-Anfrage die MAC-Adresse des Quellhosts zu ermitteln, als wäre&lt;br /&gt;
dieser im gleichen Subnetz. Das weist eindeutig auf eine fehlerhafte Subnetzmaske hin.&lt;br /&gt;
Selbst ein falsch gesetztes Default Gateway lässt sich so herausfinden:&lt;br /&gt;
&lt;br /&gt;
 11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
 11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
 11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
 11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
 11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
&lt;br /&gt;
Hier versucht der Zielhost, die MAC-Adresse eines anderen Hosts im gleichen Subnetz zu finden. Da&lt;br /&gt;
diese Versuche reproduzierbar immer jeweils nach einem ICMP Echo Request-Paket zu sehen sind,&lt;br /&gt;
ist anzunehmen, dass er versucht, an diesen Host die Antwort zu schicken.&lt;br /&gt;
&lt;br /&gt;
===Weitere Diagnosemöglichkeiten bei tcp-Verbindungen===&lt;br /&gt;
&lt;br /&gt;
Über die reine Erreichbarkeit eines Hosts hinaus lassen sich noch weitere Aspekte einer Verbindung&lt;br /&gt;
untersuchen, wie zum Beispiel der korrekte Aufbau des TCP 3-Wege-Handshakes. Ist in der Antwort auf&lt;br /&gt;
das initiale Paket (SYN-Flag) das RST-Flag gesetzt, dann wird der Zielhost zwar erreicht, der&lt;br /&gt;
entsprechende Dienst ist aber nicht erreichbar:&lt;br /&gt;
&lt;br /&gt;
 root@standort-4:~# tcpdump -i eth1 port 3389 -n&lt;br /&gt;
 14:24:14.433460 IP 10.0.0.10.50795 &amp;gt; 10.4.0.10.3389: Flags [S], seq 315479174, win 64240, options [mss&lt;br /&gt;
 1341,nop,wscale 8,nop,nop,sackOK], length 0&lt;br /&gt;
 14:24:14.433725 IP 10.4.0.10.3389 &amp;gt; 10.0.0.10.50795: Flags [R.], seq 0, ack 315479175, win 0, length 0&lt;br /&gt;
&lt;br /&gt;
Noch viel tiefergehende Analysen des Datenstroms können erfolgen, wenn dieser komplett&lt;br /&gt;
mitgeschnitten und in einem Analysetool wie Wireshark untersucht wird:&lt;br /&gt;
&lt;br /&gt;
 root@standort-4:~# tcpdump -i eth1 port 25 -w /tmp/dump.txt -s 0 -n&lt;br /&gt;
 tcpdump: listening on eth1, link-type EN10MB (Ethernet), capture size 262144 bytes&lt;br /&gt;
 12 packets captured&lt;br /&gt;
 12 packets received by filter&lt;br /&gt;
 0 packets dropped by kernel&lt;br /&gt;
&lt;br /&gt;
==Fazit==&lt;br /&gt;
&lt;br /&gt;
Mit dem Packetsniffer tcpdump steht uns ein schier unsagbar mächtiges Werkzeug zur Analyse von&lt;br /&gt;
tcp/ip-Verbindungen zur Verfügung. Die unglaubliche Flexibilität bringt allerdings auch eine nicht zu&lt;br /&gt;
unterschätzende Komplexität mit sich. Glücklicherweise lassen sich die meisten Aufgaben mit einer&lt;br /&gt;
recht überschaubaren Anzahl von Optionen lösen.&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=UTM/Extras/ipsec_fehleranalyse&amp;diff=19072</id>
		<title>UTM/Extras/ipsec fehleranalyse</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=UTM/Extras/ipsec_fehleranalyse&amp;diff=19072"/>
		<updated>2018-09-03T13:53:43Z</updated>

		<summary type="html">&lt;p&gt;Jan: /* Mögliche Fehlerquellen auf dem Zielhost */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE: IPSEC Fehler }}&lt;br /&gt;
== Informationen ==&lt;br /&gt;
Letze Anpassung zur Version: &#039;&#039;&#039;11.7.9&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Vorherige Versionen: -&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Vorwort==&lt;br /&gt;
Falls eine TCP/IP-Verbindung mal nicht funktioniert, bietet die Firewall einige Möglichkeiten, dem Fehler&lt;br /&gt;
auf die Spur zu kommen. Konkret gibt es drei Level der Analyse, die immer tiefer in das System&lt;br /&gt;
hinabsteigen. Das oberste Level ist über das Webinterface erreichbar, die unteren Levels benötigen eine&lt;br /&gt;
Textkonsole, entweder über SSH oder lokal am Gerät.&lt;br /&gt;
&lt;br /&gt;
===Level 1: Livelog===&lt;br /&gt;
Das Livelog zeigt neben Applikationsmeldungen auch Meldungen des Paketfilters an. Standardmäßig ist&lt;br /&gt;
allerdings nur zu sehen, wenn die Default Policy Pakete verwirft, für die es keine passende FirewallRegel&lt;br /&gt;
gibt. Es läßt sich aber für jede Firewall-Regel das Logging konfigurieren, so daß auch ein Eintrag&lt;br /&gt;
erscheint, wenn diese Regel greift. &amp;lt;br /&amp;gt;&lt;br /&gt;
Dadurch ergeben sich in der Fehlersuche drei Möglichkeiten: &amp;lt;br /&amp;gt;&lt;br /&gt;
#Das gesuchte Paket taucht auf und es wird verworfen (DROP)&lt;br /&gt;
#Das gesuchte Paket taucht auf und es wird akzeptiert (ACCEPT)&lt;br /&gt;
#Das gesuchte Paket taucht nicht auf&lt;br /&gt;
&amp;lt;br /&amp;gt;Dadurch kann die Fehlerursache zumindest grob lokalisiert werden: &amp;lt;br /&amp;gt;&lt;br /&gt;
#Wenn ein Paket verworfen wird, fehlt die passende FW-Regel, sie ist inkorrekt formuliert oder noch nicht wirksam (Regelwerk noch nicht aktualisiert)&lt;br /&gt;
#Wenn ein Paket angenommen wird, dann liegt der Fehler eher in Richtung Zielhost.&lt;br /&gt;
#Ist kein Paket im Livelog sichtbar, dann kommt vermutlich auch keins an der Firewall an. Der&lt;br /&gt;
Fehler ist hier also eher in Richtung Quellhost zu suchen.&lt;br /&gt;
&lt;br /&gt;
===Level 2: CLI===&lt;br /&gt;
Das CLI (Command Line Interface) stellt die Schnittstelle zum Firewall-Server dar, welche zum einen&lt;br /&gt;
vom Webinterface genutzt wird, zum anderen auch auf der Konsole zur manuellen Konfiguration der&lt;br /&gt;
Firewall gnutzt werden kann. Für die Fehlersuche bei Verbindungsproblemen ist das CLI allerdings nur&lt;br /&gt;
on begrenztem Nutzen.&lt;br /&gt;
&lt;br /&gt;
Das CLI kann über das Webinterface oder über eine Textkonsole erreicht werden. Dazu ist ein Benutzer&lt;br /&gt;
mit Administrationsrechten notwendig.&lt;br /&gt;
&lt;br /&gt;
===Level 3: Linux-Shell===&lt;br /&gt;
Die Linux-Shell greift auf das zugrundeliegende Betriebssystem zurück. Man erhält Zugriff auf viele&lt;br /&gt;
Systemparameter, die über das Webinterface oder das CLI nicht zugänglich sind – wenn auch&lt;br /&gt;
zumeist nur lesend. Mit dem Paketsniffer tcpdump steht auf der linux-Shell ein sehr leistungsfähiges&lt;br /&gt;
Werkzeug zur Trafficanalyse zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
Die Linux-Shell erreicht man ausschließlich über eine Textkonsole mit dem Benutzer „root“.&lt;br /&gt;
&lt;br /&gt;
==Tcpdump auf der root-Konsole==&lt;br /&gt;
&lt;br /&gt;
===Voraussetzungen===&lt;br /&gt;
Die Voraussetzungen zur Verwendung von tcpdump sind folgende:&lt;br /&gt;
*Ein User „root“ in der Gruppe Administrator&lt;br /&gt;
*Ein SSH-Client (z. B. PuTTY) oder eine lokale Konsole auf der Firewall&lt;br /&gt;
===Parameter zur Steuerung und Filterung===&lt;br /&gt;
Die Verwendung von tcpdump ohne Parameter würde einfach JEDES tcp/ip-Paket auf der Konsole&lt;br /&gt;
anzeigen. Es ist also notwendig, durch entsprechende Filterparameter ein Suchmuster vorzugeben.&lt;br /&gt;
Hier einige Beispiele:&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;-i&#039;&#039;&#039;&#039;&#039; definiert das Interface, an dem ein- oder ausgehende Pakete angezeigt werden sollen&lt;br /&gt;
Beispiel: tcpdump –i eth1&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;proto&#039;&#039;&#039;&#039;&#039; definiert die Protokollnummer auf Transportebene.&lt;br /&gt;
Beispiele:&lt;br /&gt;
 tcpdump –i eth1 proto 1 zeigt ICMP-Pakete&lt;br /&gt;
 tcpdump –i eth1 proto 6 zeigt TCP-Pakete&lt;br /&gt;
 tcpdump –i eth1 proto 17 zeigt UDP-Pakete&lt;br /&gt;
 tcpdump –i eth1 proto 50 zeigt ESP-Pakete&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;port&#039;&#039;&#039;&#039;&#039; definiert tcp- oder udp-ports.&lt;br /&gt;
Beispiel: tcpdump –i eth1 port 80&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;host&#039;&#039;&#039;&#039;&#039; definiert einen bestimmten Host mit seiner IP als Quelle oder Ziel.&lt;br /&gt;
Beispiel: tcpdump –i eth1 host 10.0.0.1&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;net&#039;&#039;&#039;&#039;&#039; definiert ein Netzwerk (Quelle oder Ziel)&lt;br /&gt;
Beispiel: tcpdump –i eth1 net 10.0.0.0/24&lt;br /&gt;
Darüber hinaus lassen sich Filterparameter mit logischen Operatoren verknüpfen. So können&lt;br /&gt;
folgendermaßen alle ICMP-Pakete für Host 10.0.0.10 angezeigt werden:&lt;br /&gt;
*tcpdump –i eth1 proto 1 and host 10.0.0.10&lt;br /&gt;
Weitere Steuerungsparameter sind beispielsweise:&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;-n&#039;&#039;&#039;&#039;&#039; verhindert, dass tcpdump versucht, einen reverse lookup auf IP-Adressen zu machen, um&lt;br /&gt;
Hostnamen anzuzeigen.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;-s&#039;&#039;&#039;&#039;&#039; legt fest, bis zu welcher Länge ein Paket mitgeschnitten wird. Mit dem Wert 0 wird das&lt;br /&gt;
komplette Paket mitgeschnitten.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;-w&#039;&#039;&#039;&#039;&#039; leitet die Ausgabe in eine Textdatei um. Diese kann dann mit einem Analysetool, z.B.&lt;br /&gt;
wireshark, weiter untersucht werden. Als Wert wird der Pfad der Textdatei angegeben, z.B.&lt;br /&gt;
/var/tcpdump.txt&lt;br /&gt;
&lt;br /&gt;
==Analyse von Traffic – Ein Beispiel==&lt;br /&gt;
&lt;br /&gt;
In unserem Beispiel haben wir zwei Netzwerke der Zentrale und eines Filialstandortes einer Firma,&lt;br /&gt;
deren Gateways diese Netze mittels eines IPSec-Tunnels miteinander verbinden. Die Zentrale hat&lt;br /&gt;
das interne Netzwerk 10.0.0.0/24 und die externe Adresse 198.51.100.75. Die Filiale hat das interne&lt;br /&gt;
Netzwerk 10.4.0.0/24 und die externe Adresse 198.51.100.4. Der Host 10.0.0.10 versucht, den&lt;br /&gt;
Host 10.4.0.10 zu erreichen, was aber misslingt. &amp;lt;br /&amp;gt;&lt;br /&gt;
===Initiator-Seite: Intern===&lt;br /&gt;
Wir beginnen unsere Analyse am internen Interface des Gateways der Zentrale. Dazu melden wir&lt;br /&gt;
uns per ssh als User „root“ dort an und führen folgendes Kommando aus:&lt;br /&gt;
&lt;br /&gt;
 root@zentrale:~# tcpdump –i eth1 proto 1 -n&lt;br /&gt;
&lt;br /&gt;
Der Parameter „proto 1“ bezieht sich auf die Protokollnummer 1 des ICMP-Protokolls auf&lt;br /&gt;
Transportebene. Alternativ können wir auch nach Paketen suchen, die für das entfernte Subnetz&lt;br /&gt;
bestimmt sind:&lt;br /&gt;
&lt;br /&gt;
 root@zentrale:~# tcpdump –i eth1 net 10.4.0.0/24 –n&lt;br /&gt;
&lt;br /&gt;
Versuchen wir jetzt zu „pingen“, zeigt sich folgendes Ergebnis:&lt;br /&gt;
&lt;br /&gt;
 09:59:44.445502 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 09:59:49.847558 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 09:59:54.855574 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 09:59:59.861512 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&lt;br /&gt;
Daraus können wir ersehen, dass die Anfragen am internen Interface der zentralen Firewall&lt;br /&gt;
ankommen. Eine Antwort bleibt allerdings aus.&lt;br /&gt;
&lt;br /&gt;
===Initiator-Seite: Extern===&lt;br /&gt;
&lt;br /&gt;
Zur weiteren Verfolgung muss das ausgehende Interface der zentralen Firewall betrachtet werden.&lt;br /&gt;
Allerdings stellt sich hier ein Problem: Da wir an dieser Stelle den Transport der übertragenen Daten&lt;br /&gt;
nur in verschlüsselter Form betrachten können, bleibt uns das ICMP-Paket im Klartext verborgen –&lt;br /&gt;
und das sollte auch so sein. Wir können allerdings versuchen, eingehendes Klartext- und&lt;br /&gt;
ausgehendes verschlüsseltes Paket miteinander in Beziehung zu setzen. Wir starten dazu tcpdump&lt;br /&gt;
mit folgenden Parametern:&lt;br /&gt;
 &lt;br /&gt;
 root@zentrale:~# tcpdump –i any proto 1 or proto 50 -n&lt;br /&gt;
&lt;br /&gt;
Wir suchen an einer beliebigen Schnittstelle nach ICMP-Paketen oder nach verschlüsselten Paketen.&lt;br /&gt;
Das hierzu von IPSec verwendete Protokoll ESP hat auf der Transportebene die Protokollnummer 50.&lt;br /&gt;
Gibt es mehrere IPSec-Verbindungen auf dem Gateway, kann alternativ auch nach Paketen für das&lt;br /&gt;
entfernte Subnetz oder das entfernte Gateway gesucht werden:&lt;br /&gt;
&lt;br /&gt;
 root@zentrale:~# tcpdump –i any net 10.4.0.0/24 or host 198.51.100.4 –n&lt;br /&gt;
&lt;br /&gt;
Wir erhalten folgendes Ergebnis:&lt;br /&gt;
&lt;br /&gt;
 10:21:39.710743 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 10:21:39.710799 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x9), length 92&lt;br /&gt;
 10:21:45.056141 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 10:21:45.056235 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0xa), length 92&lt;br /&gt;
 10:21:50.065278 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 10:21:50.065332 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0xb), length 92&lt;br /&gt;
 10:21:55.075902 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
 10:21:55.075947 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0xc), length 92&lt;br /&gt;
&lt;br /&gt;
Wir sehen vier ICMP Echo Request-Pakete mit aufeinanderfolgenden Sequenznummern, denen&lt;br /&gt;
jeweils direkt ein ESP-Paket folgt. Diese ESP-Pakete haben ebenfalls aufeinanderfolgende&lt;br /&gt;
Sequenznummern. Daraus folgt, dass auf Seiten der zentralen Firewall alle Datenpakete für das&lt;br /&gt;
entfernte Subnetz verschlüsselt und an das entfernte Gateway geschickt werden.&lt;br /&gt;
&lt;br /&gt;
Möglicherweise bekommen wir allerdings folgendes Ergebnis:&lt;br /&gt;
&lt;br /&gt;
 10:58:15.436094 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 10:58:15.436127 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 10:58:20.810201 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 10:58:20.810230 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 10:58:25.820479 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 10:58:25.820533 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 10:58:30.830402 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
 10:58:30.830470 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&lt;br /&gt;
Wir sehen jedes Paket zwei Mal, erkennbar an der gleichen Sequenznummer. Die zweite Version des&lt;br /&gt;
Pakets hat allerdings die IP des externen Interfaces als Quelle. Es erfolgte also ein HideNAT über die&lt;br /&gt;
externe Schnittstelle. In diesem Falle haben wir wahrscheinlich vergessen, innerhalb der&lt;br /&gt;
Portfilterregel vom eigenen in das entfernte Subnetz die HideNAT-Ausnahme zu setzen oder die&lt;br /&gt;
Option „Kein NAT für IPSec-Verbindungen“ in den impliziten Regeln zu aktivieren. Infolgedessen&lt;br /&gt;
wird das Paket, anstatt verschlüsselt in den IPSec-Tunnel zu gehen, geNATtet und in Richtung&lt;br /&gt;
Default Gateway geschickt.&lt;br /&gt;
&lt;br /&gt;
===Responder-Seite: Extern===&lt;br /&gt;
&lt;br /&gt;
Gehen wir davon aus, dass auf dem Gateway der Zentrale alles funktioniert, müssen wir weiter auf&lt;br /&gt;
dem Gateway der Filiale suchen. Zunächst vergewissern wir uns, dass die verschlüsselten Daten&lt;br /&gt;
auch an der Gegenstelle ankommen. Das diese von der Zentrale aus abgeschickt werden, heißt&lt;br /&gt;
noch lange nicht, dass sie auch ankommen! Deshalb führen wir auf der SSH-Konsole auf der Filiale&lt;br /&gt;
folgendes Kommando aus:&lt;br /&gt;
&lt;br /&gt;
 root@standort-4:~# tcpdump –i eth0 proto 50 –n&lt;br /&gt;
&lt;br /&gt;
Das Ergebnis ist folgende Ausgabe:&lt;br /&gt;
&lt;br /&gt;
 11:24:55.833742 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x45), length 92&lt;br /&gt;
 11:25:00.890782 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x46), length 92&lt;br /&gt;
 11:25:05.899056 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x47), length 92&lt;br /&gt;
 11:25:10.908124 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x48), length 92&lt;br /&gt;
&lt;br /&gt;
===Responder-Seite: Intern===&lt;br /&gt;
&lt;br /&gt;
Wir können also sicher sein, dass die verschlüsselten Pakete auch am Gateway der Filiale&lt;br /&gt;
ankommen! Die letzte Etappe ist nun die interne Schnittstelle des Filial-Gateways. Hier schauen wir,&lt;br /&gt;
ob das ICMP-Paket auch ins interne Netz Richtung Zielhost geschickt wird:&lt;br /&gt;
&lt;br /&gt;
 root@standort-4:~# tcpdump –i eth1 proto 1 –n&lt;br /&gt;
&lt;br /&gt;
Ist auch auf dem Gateway der Filiale in Bezug auf Portfilter-Regeln alles korrekt konfiguriert, sollte&lt;br /&gt;
sich folgende Ausgabe ergeben:&lt;br /&gt;
&lt;br /&gt;
 11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&lt;br /&gt;
Daraus können wir eindeutig ersehen, dass der Zielhost zumindestens online und physikalisch&lt;br /&gt;
erreichbar ist. Warum können wir uns da so sicher sein? Das wird deutlich, wenn wir uns die&lt;br /&gt;
Ausgabe anschauen, die wir erhalten, wenn wir anstatt des Protokolls ICMP einmal nach Paketen des&lt;br /&gt;
Zielhosts suchen:&lt;br /&gt;
&lt;br /&gt;
 root@standort-4:~# tcpdump –i eth1 host 10.4.0.10 –n&lt;br /&gt;
 11:44:39.553889 ARP, Request who-has 10.4.0.10 tell 10.4.0.1, length 28&lt;br /&gt;
 11:44:39.554212 ARP, Reply 10.4.0.10 is-at 08:00:27:e1:fd:ab, length 46&lt;br /&gt;
 11:44:39.672145 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 11:44:44.682827 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 11:44:49.692773 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 11:44:49.699543 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&lt;br /&gt;
Wir sehen hier, dass vor unseren Pings vom Gateway ein ARP Request ins interne Netz gesendet&lt;br /&gt;
wird, mit dem die MAC-Adresse des Zielhosts ermittelt werden soll. Darauf erfolgt eine Antwort des&lt;br /&gt;
Zielhosts, in der er diese mitteilt. Erst dann können IP-Pakete an den Zielhost übermittelt werden.&lt;br /&gt;
Die Ergebnisse von ARP Requests werden in der Neighbour table, auch ARP-Cache genannt,&lt;br /&gt;
zwischengespeichert, so dass nicht für jedes IP-Paket ein neuer ARP Request durchgeführt werden&lt;br /&gt;
muss. Diesen können wir uns mit folgendem Kommando anschauen:&lt;br /&gt;
&lt;br /&gt;
 root@standort-4:~# ip n&lt;br /&gt;
&lt;br /&gt;
Wir finden in der Ausgabe unter anderem einen Eintrag, der zu unserem Zielhost gehört:&lt;br /&gt;
 &lt;br /&gt;
 10.4.0.10 dev eth1 lladdr 08:00:27:e1:fd:ab REACHABLE&lt;br /&gt;
&lt;br /&gt;
Das beweist eindeutig, dass der Zielhost online und physikalisch erreichbar ist. Wäre er das nicht,&lt;br /&gt;
würde in der Neighbour table folgender Eintrag stehen:&lt;br /&gt;
&lt;br /&gt;
 10.4.0.10 dev eth1 FAILED&lt;br /&gt;
&lt;br /&gt;
Sofern das Gateway zu mindestens VERSUCHT, ein Paket an den Zielhost zuzustellen, liegt der Fehler&lt;br /&gt;
nicht mehr innerhalb der Tunnel- oder Firewall-Konfiguration, sondern eindeutig am Zielhost.&lt;br /&gt;
Entweder sehen wir keine IP-Pakete, aber einen Eintrag in die Neighbour table, der uns anzeigt, dass&lt;br /&gt;
der Zielhost physikalisch nicht erreichbar ist. Oder wir sehen ein IP-Paket und können daraus&lt;br /&gt;
schließen, dass der Zielhost zwar physikalisch erreichbar ist, aber auf die Verbindungsanfrage aus&lt;br /&gt;
irgendwelchen Gründen nicht antwortet.&lt;br /&gt;
&lt;br /&gt;
===Mögliche Fehlerquellen auf dem Zielhost===&lt;br /&gt;
&lt;br /&gt;
Nachdem feststeht, dass der Fehler nur auf dem Zielhost liegen kann, müsste dieser auch dort&lt;br /&gt;
gefunden werden. Wir können den Fehler aber auch bereits auf dem Gateway auf Responder-Seite&lt;br /&gt;
weiter eingrenzen, wenn wir betrachten, ob und welche Pakete vom Zielhost zurückkommen:&lt;br /&gt;
&lt;br /&gt;
 root@standort-4:~# tcpdump –i eth1 host 10.4.0.10 -n&lt;br /&gt;
 Sind nun ausschließlich die von der NextGen UTM ausgehenden Ping sichtbar, dann ist anzunehmen,&lt;br /&gt;
dass der Zielhost aufgrund einer aktiven lokalen Firewall nicht antwortet:&lt;br /&gt;
&lt;br /&gt;
 11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&lt;br /&gt;
Bei folgendem Fehlerbild kann von einer falsch gesetzten Subnetzmaske in der&lt;br /&gt;
Netzwerkkonfiguration des Zielhosts ausgegangen werden:&lt;br /&gt;
&lt;br /&gt;
 11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
 11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
 11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
 11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
 11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
&lt;br /&gt;
Der Zielhost versucht, mit einer ARP-Anfrage die MAC-Adresse des Quellhosts zu ermitteln, als wäre&lt;br /&gt;
dieser im gleichen Subnetz. Das weist eindeutig auf eine fehlerhafte Subnetzmaske hin.&lt;br /&gt;
Selbst ein falsch gesetztes Default Gateway lässt sich so herausfinden:&lt;br /&gt;
&lt;br /&gt;
 11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
 11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
 11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
 11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
 11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
&lt;br /&gt;
Hier versucht der Zielhost, die MAC-Adresse eines anderen Hosts im gleichen Subnetz zu finden. Da&lt;br /&gt;
diese Versuche reproduzierbar immer jeweils nach einem ICMP Echo Request-Paket zu sehen sind,&lt;br /&gt;
ist anzunehmen, dass er versucht, an diesen Host die Antwort zu schicken.&lt;br /&gt;
&lt;br /&gt;
===Weitere Diagnosemöglichkeiten bei tcp-Verbindungen===&lt;br /&gt;
&lt;br /&gt;
Über die reine Erreichbarkeit eines Hosts hinaus lassen sich noch weitere Aspekte einer Verbindung&lt;br /&gt;
untersuchen, wie zum Beispiel der korrekte Aufbau des TCP 3-Wege-Handshakes. Ist in der Antwort auf&lt;br /&gt;
das initiale Paket (SYN-Flag) das RST-Flag gesetzt, dann wird der Zielhost zwar erreicht, der&lt;br /&gt;
entsprechende Dienst ist aber nicht erreichbar:&lt;br /&gt;
root@standort-4:~# tcpdump -i eth1 port 3389 -n&lt;br /&gt;
14:24:14.433460 IP 10.0.0.10.50795 &amp;gt; 10.4.0.10.3389: Flags [S], seq 315479174, win 64240, options [mss&lt;br /&gt;
1341,nop,wscale 8,nop,nop,sackOK], length 0&lt;br /&gt;
14:24:14.433725 IP 10.4.0.10.3389 &amp;gt; 10.0.0.10.50795: Flags [R.], seq 0, ack 315479175, win 0, length 0&lt;br /&gt;
Noch viel tiefergehende Analysen des Datenstroms können erfolgen, wenn dieser komplett&lt;br /&gt;
mitgeschnitten und in einem Analysetool wie Wireshark untersucht wird:&lt;br /&gt;
root@standort-4:~# tcpdump -i eth1 port 25 -w /tmp/dump.txt -s 0 -n&lt;br /&gt;
tcpdump: listening on eth1, link-type EN10MB (Ethernet), capture size 262144 bytes&lt;br /&gt;
12 packets captured&lt;br /&gt;
12 packets received by filter&lt;br /&gt;
0 packets dropped by kernel&lt;br /&gt;
&lt;br /&gt;
==Fazit==&lt;br /&gt;
&lt;br /&gt;
Mit dem Packetsniffer tcpdump steht uns ein schier unsagbar mächtiges Werkzeug zur Analyse von&lt;br /&gt;
tcp/ip-Verbindungen zur Verfügung. Die unglaubliche Flexibilität bringt allerdings auch eine nicht zu&lt;br /&gt;
unterschätzende Komplexität mit sich. Glücklicherweise lassen sich die meisten Aufgaben mit einer&lt;br /&gt;
recht überschaubaren Anzahl von Optionen lösen.&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=UTM/Extras/ipsec_fehleranalyse&amp;diff=19069</id>
		<title>UTM/Extras/ipsec fehleranalyse</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=UTM/Extras/ipsec_fehleranalyse&amp;diff=19069"/>
		<updated>2018-09-03T13:52:42Z</updated>

		<summary type="html">&lt;p&gt;Jan: /* Responder-Seite: Intern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE: IPSEC Fehler }}&lt;br /&gt;
== Informationen ==&lt;br /&gt;
Letze Anpassung zur Version: &#039;&#039;&#039;11.7.9&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Vorherige Versionen: -&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Vorwort==&lt;br /&gt;
Falls eine TCP/IP-Verbindung mal nicht funktioniert, bietet die Firewall einige Möglichkeiten, dem Fehler&lt;br /&gt;
auf die Spur zu kommen. Konkret gibt es drei Level der Analyse, die immer tiefer in das System&lt;br /&gt;
hinabsteigen. Das oberste Level ist über das Webinterface erreichbar, die unteren Levels benötigen eine&lt;br /&gt;
Textkonsole, entweder über SSH oder lokal am Gerät.&lt;br /&gt;
&lt;br /&gt;
===Level 1: Livelog===&lt;br /&gt;
Das Livelog zeigt neben Applikationsmeldungen auch Meldungen des Paketfilters an. Standardmäßig ist&lt;br /&gt;
allerdings nur zu sehen, wenn die Default Policy Pakete verwirft, für die es keine passende FirewallRegel&lt;br /&gt;
gibt. Es läßt sich aber für jede Firewall-Regel das Logging konfigurieren, so daß auch ein Eintrag&lt;br /&gt;
erscheint, wenn diese Regel greift. &amp;lt;br /&amp;gt;&lt;br /&gt;
Dadurch ergeben sich in der Fehlersuche drei Möglichkeiten: &amp;lt;br /&amp;gt;&lt;br /&gt;
#Das gesuchte Paket taucht auf und es wird verworfen (DROP)&lt;br /&gt;
#Das gesuchte Paket taucht auf und es wird akzeptiert (ACCEPT)&lt;br /&gt;
#Das gesuchte Paket taucht nicht auf&lt;br /&gt;
&amp;lt;br /&amp;gt;Dadurch kann die Fehlerursache zumindest grob lokalisiert werden: &amp;lt;br /&amp;gt;&lt;br /&gt;
#Wenn ein Paket verworfen wird, fehlt die passende FW-Regel, sie ist inkorrekt formuliert oder noch nicht wirksam (Regelwerk noch nicht aktualisiert)&lt;br /&gt;
#Wenn ein Paket angenommen wird, dann liegt der Fehler eher in Richtung Zielhost.&lt;br /&gt;
#Ist kein Paket im Livelog sichtbar, dann kommt vermutlich auch keins an der Firewall an. Der&lt;br /&gt;
Fehler ist hier also eher in Richtung Quellhost zu suchen.&lt;br /&gt;
&lt;br /&gt;
===Level 2: CLI===&lt;br /&gt;
Das CLI (Command Line Interface) stellt die Schnittstelle zum Firewall-Server dar, welche zum einen&lt;br /&gt;
vom Webinterface genutzt wird, zum anderen auch auf der Konsole zur manuellen Konfiguration der&lt;br /&gt;
Firewall gnutzt werden kann. Für die Fehlersuche bei Verbindungsproblemen ist das CLI allerdings nur&lt;br /&gt;
on begrenztem Nutzen.&lt;br /&gt;
&lt;br /&gt;
Das CLI kann über das Webinterface oder über eine Textkonsole erreicht werden. Dazu ist ein Benutzer&lt;br /&gt;
mit Administrationsrechten notwendig.&lt;br /&gt;
&lt;br /&gt;
===Level 3: Linux-Shell===&lt;br /&gt;
Die Linux-Shell greift auf das zugrundeliegende Betriebssystem zurück. Man erhält Zugriff auf viele&lt;br /&gt;
Systemparameter, die über das Webinterface oder das CLI nicht zugänglich sind – wenn auch&lt;br /&gt;
zumeist nur lesend. Mit dem Paketsniffer tcpdump steht auf der linux-Shell ein sehr leistungsfähiges&lt;br /&gt;
Werkzeug zur Trafficanalyse zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
Die Linux-Shell erreicht man ausschließlich über eine Textkonsole mit dem Benutzer „root“.&lt;br /&gt;
&lt;br /&gt;
==Tcpdump auf der root-Konsole==&lt;br /&gt;
&lt;br /&gt;
===Voraussetzungen===&lt;br /&gt;
Die Voraussetzungen zur Verwendung von tcpdump sind folgende:&lt;br /&gt;
*Ein User „root“ in der Gruppe Administrator&lt;br /&gt;
*Ein SSH-Client (z. B. PuTTY) oder eine lokale Konsole auf der Firewall&lt;br /&gt;
===Parameter zur Steuerung und Filterung===&lt;br /&gt;
Die Verwendung von tcpdump ohne Parameter würde einfach JEDES tcp/ip-Paket auf der Konsole&lt;br /&gt;
anzeigen. Es ist also notwendig, durch entsprechende Filterparameter ein Suchmuster vorzugeben.&lt;br /&gt;
Hier einige Beispiele:&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;-i&#039;&#039;&#039;&#039;&#039; definiert das Interface, an dem ein- oder ausgehende Pakete angezeigt werden sollen&lt;br /&gt;
Beispiel: tcpdump –i eth1&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;proto&#039;&#039;&#039;&#039;&#039; definiert die Protokollnummer auf Transportebene.&lt;br /&gt;
Beispiele:&lt;br /&gt;
 tcpdump –i eth1 proto 1 zeigt ICMP-Pakete&lt;br /&gt;
 tcpdump –i eth1 proto 6 zeigt TCP-Pakete&lt;br /&gt;
 tcpdump –i eth1 proto 17 zeigt UDP-Pakete&lt;br /&gt;
 tcpdump –i eth1 proto 50 zeigt ESP-Pakete&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;port&#039;&#039;&#039;&#039;&#039; definiert tcp- oder udp-ports.&lt;br /&gt;
Beispiel: tcpdump –i eth1 port 80&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;host&#039;&#039;&#039;&#039;&#039; definiert einen bestimmten Host mit seiner IP als Quelle oder Ziel.&lt;br /&gt;
Beispiel: tcpdump –i eth1 host 10.0.0.1&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;net&#039;&#039;&#039;&#039;&#039; definiert ein Netzwerk (Quelle oder Ziel)&lt;br /&gt;
Beispiel: tcpdump –i eth1 net 10.0.0.0/24&lt;br /&gt;
Darüber hinaus lassen sich Filterparameter mit logischen Operatoren verknüpfen. So können&lt;br /&gt;
folgendermaßen alle ICMP-Pakete für Host 10.0.0.10 angezeigt werden:&lt;br /&gt;
*tcpdump –i eth1 proto 1 and host 10.0.0.10&lt;br /&gt;
Weitere Steuerungsparameter sind beispielsweise:&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;-n&#039;&#039;&#039;&#039;&#039; verhindert, dass tcpdump versucht, einen reverse lookup auf IP-Adressen zu machen, um&lt;br /&gt;
Hostnamen anzuzeigen.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;-s&#039;&#039;&#039;&#039;&#039; legt fest, bis zu welcher Länge ein Paket mitgeschnitten wird. Mit dem Wert 0 wird das&lt;br /&gt;
komplette Paket mitgeschnitten.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;-w&#039;&#039;&#039;&#039;&#039; leitet die Ausgabe in eine Textdatei um. Diese kann dann mit einem Analysetool, z.B.&lt;br /&gt;
wireshark, weiter untersucht werden. Als Wert wird der Pfad der Textdatei angegeben, z.B.&lt;br /&gt;
/var/tcpdump.txt&lt;br /&gt;
&lt;br /&gt;
==Analyse von Traffic – Ein Beispiel==&lt;br /&gt;
&lt;br /&gt;
In unserem Beispiel haben wir zwei Netzwerke der Zentrale und eines Filialstandortes einer Firma,&lt;br /&gt;
deren Gateways diese Netze mittels eines IPSec-Tunnels miteinander verbinden. Die Zentrale hat&lt;br /&gt;
das interne Netzwerk 10.0.0.0/24 und die externe Adresse 198.51.100.75. Die Filiale hat das interne&lt;br /&gt;
Netzwerk 10.4.0.0/24 und die externe Adresse 198.51.100.4. Der Host 10.0.0.10 versucht, den&lt;br /&gt;
Host 10.4.0.10 zu erreichen, was aber misslingt. &amp;lt;br /&amp;gt;&lt;br /&gt;
===Initiator-Seite: Intern===&lt;br /&gt;
Wir beginnen unsere Analyse am internen Interface des Gateways der Zentrale. Dazu melden wir&lt;br /&gt;
uns per ssh als User „root“ dort an und führen folgendes Kommando aus:&lt;br /&gt;
&lt;br /&gt;
 root@zentrale:~# tcpdump –i eth1 proto 1 -n&lt;br /&gt;
&lt;br /&gt;
Der Parameter „proto 1“ bezieht sich auf die Protokollnummer 1 des ICMP-Protokolls auf&lt;br /&gt;
Transportebene. Alternativ können wir auch nach Paketen suchen, die für das entfernte Subnetz&lt;br /&gt;
bestimmt sind:&lt;br /&gt;
&lt;br /&gt;
 root@zentrale:~# tcpdump –i eth1 net 10.4.0.0/24 –n&lt;br /&gt;
&lt;br /&gt;
Versuchen wir jetzt zu „pingen“, zeigt sich folgendes Ergebnis:&lt;br /&gt;
&lt;br /&gt;
 09:59:44.445502 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 09:59:49.847558 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 09:59:54.855574 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 09:59:59.861512 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&lt;br /&gt;
Daraus können wir ersehen, dass die Anfragen am internen Interface der zentralen Firewall&lt;br /&gt;
ankommen. Eine Antwort bleibt allerdings aus.&lt;br /&gt;
&lt;br /&gt;
===Initiator-Seite: Extern===&lt;br /&gt;
&lt;br /&gt;
Zur weiteren Verfolgung muss das ausgehende Interface der zentralen Firewall betrachtet werden.&lt;br /&gt;
Allerdings stellt sich hier ein Problem: Da wir an dieser Stelle den Transport der übertragenen Daten&lt;br /&gt;
nur in verschlüsselter Form betrachten können, bleibt uns das ICMP-Paket im Klartext verborgen –&lt;br /&gt;
und das sollte auch so sein. Wir können allerdings versuchen, eingehendes Klartext- und&lt;br /&gt;
ausgehendes verschlüsseltes Paket miteinander in Beziehung zu setzen. Wir starten dazu tcpdump&lt;br /&gt;
mit folgenden Parametern:&lt;br /&gt;
 &lt;br /&gt;
 root@zentrale:~# tcpdump –i any proto 1 or proto 50 -n&lt;br /&gt;
&lt;br /&gt;
Wir suchen an einer beliebigen Schnittstelle nach ICMP-Paketen oder nach verschlüsselten Paketen.&lt;br /&gt;
Das hierzu von IPSec verwendete Protokoll ESP hat auf der Transportebene die Protokollnummer 50.&lt;br /&gt;
Gibt es mehrere IPSec-Verbindungen auf dem Gateway, kann alternativ auch nach Paketen für das&lt;br /&gt;
entfernte Subnetz oder das entfernte Gateway gesucht werden:&lt;br /&gt;
&lt;br /&gt;
 root@zentrale:~# tcpdump –i any net 10.4.0.0/24 or host 198.51.100.4 –n&lt;br /&gt;
&lt;br /&gt;
Wir erhalten folgendes Ergebnis:&lt;br /&gt;
&lt;br /&gt;
 10:21:39.710743 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 10:21:39.710799 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x9), length 92&lt;br /&gt;
 10:21:45.056141 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 10:21:45.056235 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0xa), length 92&lt;br /&gt;
 10:21:50.065278 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 10:21:50.065332 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0xb), length 92&lt;br /&gt;
 10:21:55.075902 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
 10:21:55.075947 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0xc), length 92&lt;br /&gt;
&lt;br /&gt;
Wir sehen vier ICMP Echo Request-Pakete mit aufeinanderfolgenden Sequenznummern, denen&lt;br /&gt;
jeweils direkt ein ESP-Paket folgt. Diese ESP-Pakete haben ebenfalls aufeinanderfolgende&lt;br /&gt;
Sequenznummern. Daraus folgt, dass auf Seiten der zentralen Firewall alle Datenpakete für das&lt;br /&gt;
entfernte Subnetz verschlüsselt und an das entfernte Gateway geschickt werden.&lt;br /&gt;
&lt;br /&gt;
Möglicherweise bekommen wir allerdings folgendes Ergebnis:&lt;br /&gt;
&lt;br /&gt;
 10:58:15.436094 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 10:58:15.436127 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 10:58:20.810201 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 10:58:20.810230 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 10:58:25.820479 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 10:58:25.820533 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 10:58:30.830402 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
 10:58:30.830470 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&lt;br /&gt;
Wir sehen jedes Paket zwei Mal, erkennbar an der gleichen Sequenznummer. Die zweite Version des&lt;br /&gt;
Pakets hat allerdings die IP des externen Interfaces als Quelle. Es erfolgte also ein HideNAT über die&lt;br /&gt;
externe Schnittstelle. In diesem Falle haben wir wahrscheinlich vergessen, innerhalb der&lt;br /&gt;
Portfilterregel vom eigenen in das entfernte Subnetz die HideNAT-Ausnahme zu setzen oder die&lt;br /&gt;
Option „Kein NAT für IPSec-Verbindungen“ in den impliziten Regeln zu aktivieren. Infolgedessen&lt;br /&gt;
wird das Paket, anstatt verschlüsselt in den IPSec-Tunnel zu gehen, geNATtet und in Richtung&lt;br /&gt;
Default Gateway geschickt.&lt;br /&gt;
&lt;br /&gt;
===Responder-Seite: Extern===&lt;br /&gt;
&lt;br /&gt;
Gehen wir davon aus, dass auf dem Gateway der Zentrale alles funktioniert, müssen wir weiter auf&lt;br /&gt;
dem Gateway der Filiale suchen. Zunächst vergewissern wir uns, dass die verschlüsselten Daten&lt;br /&gt;
auch an der Gegenstelle ankommen. Das diese von der Zentrale aus abgeschickt werden, heißt&lt;br /&gt;
noch lange nicht, dass sie auch ankommen! Deshalb führen wir auf der SSH-Konsole auf der Filiale&lt;br /&gt;
folgendes Kommando aus:&lt;br /&gt;
&lt;br /&gt;
 root@standort-4:~# tcpdump –i eth0 proto 50 –n&lt;br /&gt;
&lt;br /&gt;
Das Ergebnis ist folgende Ausgabe:&lt;br /&gt;
&lt;br /&gt;
 11:24:55.833742 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x45), length 92&lt;br /&gt;
 11:25:00.890782 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x46), length 92&lt;br /&gt;
 11:25:05.899056 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x47), length 92&lt;br /&gt;
 11:25:10.908124 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x48), length 92&lt;br /&gt;
&lt;br /&gt;
===Responder-Seite: Intern===&lt;br /&gt;
&lt;br /&gt;
Wir können also sicher sein, dass die verschlüsselten Pakete auch am Gateway der Filiale&lt;br /&gt;
ankommen! Die letzte Etappe ist nun die interne Schnittstelle des Filial-Gateways. Hier schauen wir,&lt;br /&gt;
ob das ICMP-Paket auch ins interne Netz Richtung Zielhost geschickt wird:&lt;br /&gt;
&lt;br /&gt;
 root@standort-4:~# tcpdump –i eth1 proto 1 –n&lt;br /&gt;
&lt;br /&gt;
Ist auch auf dem Gateway der Filiale in Bezug auf Portfilter-Regeln alles korrekt konfiguriert, sollte&lt;br /&gt;
sich folgende Ausgabe ergeben:&lt;br /&gt;
&lt;br /&gt;
 11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&lt;br /&gt;
Daraus können wir eindeutig ersehen, dass der Zielhost zumindestens online und physikalisch&lt;br /&gt;
erreichbar ist. Warum können wir uns da so sicher sein? Das wird deutlich, wenn wir uns die&lt;br /&gt;
Ausgabe anschauen, die wir erhalten, wenn wir anstatt des Protokolls ICMP einmal nach Paketen des&lt;br /&gt;
Zielhosts suchen:&lt;br /&gt;
&lt;br /&gt;
 root@standort-4:~# tcpdump –i eth1 host 10.4.0.10 –n&lt;br /&gt;
 11:44:39.553889 ARP, Request who-has 10.4.0.10 tell 10.4.0.1, length 28&lt;br /&gt;
 11:44:39.554212 ARP, Reply 10.4.0.10 is-at 08:00:27:e1:fd:ab, length 46&lt;br /&gt;
 11:44:39.672145 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 11:44:44.682827 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 11:44:49.692773 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 11:44:49.699543 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&lt;br /&gt;
Wir sehen hier, dass vor unseren Pings vom Gateway ein ARP Request ins interne Netz gesendet&lt;br /&gt;
wird, mit dem die MAC-Adresse des Zielhosts ermittelt werden soll. Darauf erfolgt eine Antwort des&lt;br /&gt;
Zielhosts, in der er diese mitteilt. Erst dann können IP-Pakete an den Zielhost übermittelt werden.&lt;br /&gt;
Die Ergebnisse von ARP Requests werden in der Neighbour table, auch ARP-Cache genannt,&lt;br /&gt;
zwischengespeichert, so dass nicht für jedes IP-Paket ein neuer ARP Request durchgeführt werden&lt;br /&gt;
muss. Diesen können wir uns mit folgendem Kommando anschauen:&lt;br /&gt;
&lt;br /&gt;
 root@standort-4:~# ip n&lt;br /&gt;
&lt;br /&gt;
Wir finden in der Ausgabe unter anderem einen Eintrag, der zu unserem Zielhost gehört:&lt;br /&gt;
 &lt;br /&gt;
 10.4.0.10 dev eth1 lladdr 08:00:27:e1:fd:ab REACHABLE&lt;br /&gt;
&lt;br /&gt;
Das beweist eindeutig, dass der Zielhost online und physikalisch erreichbar ist. Wäre er das nicht,&lt;br /&gt;
würde in der Neighbour table folgender Eintrag stehen:&lt;br /&gt;
&lt;br /&gt;
 10.4.0.10 dev eth1 FAILED&lt;br /&gt;
&lt;br /&gt;
Sofern das Gateway zu mindestens VERSUCHT, ein Paket an den Zielhost zuzustellen, liegt der Fehler&lt;br /&gt;
nicht mehr innerhalb der Tunnel- oder Firewall-Konfiguration, sondern eindeutig am Zielhost.&lt;br /&gt;
Entweder sehen wir keine IP-Pakete, aber einen Eintrag in die Neighbour table, der uns anzeigt, dass&lt;br /&gt;
der Zielhost physikalisch nicht erreichbar ist. Oder wir sehen ein IP-Paket und können daraus&lt;br /&gt;
schließen, dass der Zielhost zwar physikalisch erreichbar ist, aber auf die Verbindungsanfrage aus&lt;br /&gt;
irgendwelchen Gründen nicht antwortet.&lt;br /&gt;
&lt;br /&gt;
===Mögliche Fehlerquellen auf dem Zielhost===&lt;br /&gt;
&lt;br /&gt;
Nachdem feststeht, dass der Fehler nur auf dem Zielhost liegen kann, müsste dieser auch dort&lt;br /&gt;
gefunden werden. Wir können den Fehler aber auch bereits auf dem Gateway auf Responder-Seite&lt;br /&gt;
weiter eingrenzen, wenn wir betrachten, ob und welche Pakete vom Zielhost zurückkommen:&lt;br /&gt;
root@standort-4:~# tcpdump –i eth1 host 10.4.0.10 -n&lt;br /&gt;
Sind nun ausschließlich die von der NextGen UTM ausgehenden Ping sichtbar, dann ist anzunehmen,&lt;br /&gt;
dass der Zielhost aufgrund einer aktiven lokalen Firewall nicht antwortet:&lt;br /&gt;
11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
Bei folgendem Fehlerbild kann von einer falsch gesetzten Subnetzmaske in der&lt;br /&gt;
Netzwerkkonfiguration des Zielhosts ausgegangen werden:&lt;br /&gt;
11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
Der Zielhost versucht, mit einer ARP-Anfrage die MAC-Adresse des Quellhosts zu ermitteln, als wäre&lt;br /&gt;
dieser im gleichen Subnetz. Das weist eindeutig auf eine fehlerhafte Subnetzmaske hin.&lt;br /&gt;
Selbst ein falsch gesetztes Default Gateway lässt sich so herausfinden:&lt;br /&gt;
11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
Hier versucht der Zielhost, die MAC-Adresse eines anderen Hosts im gleichen Subnetz zu finden. Da&lt;br /&gt;
diese Versuche reproduzierbar immer jeweils nach einem ICMP Echo Request-Paket zu sehen sind,&lt;br /&gt;
ist anzunehmen, dass er versucht, an diesen Host die Antwort zu schicken.&lt;br /&gt;
&lt;br /&gt;
===Weitere Diagnosemöglichkeiten bei tcp-Verbindungen===&lt;br /&gt;
&lt;br /&gt;
Über die reine Erreichbarkeit eines Hosts hinaus lassen sich noch weitere Aspekte einer Verbindung&lt;br /&gt;
untersuchen, wie zum Beispiel der korrekte Aufbau des TCP 3-Wege-Handshakes. Ist in der Antwort auf&lt;br /&gt;
das initiale Paket (SYN-Flag) das RST-Flag gesetzt, dann wird der Zielhost zwar erreicht, der&lt;br /&gt;
entsprechende Dienst ist aber nicht erreichbar:&lt;br /&gt;
root@standort-4:~# tcpdump -i eth1 port 3389 -n&lt;br /&gt;
14:24:14.433460 IP 10.0.0.10.50795 &amp;gt; 10.4.0.10.3389: Flags [S], seq 315479174, win 64240, options [mss&lt;br /&gt;
1341,nop,wscale 8,nop,nop,sackOK], length 0&lt;br /&gt;
14:24:14.433725 IP 10.4.0.10.3389 &amp;gt; 10.0.0.10.50795: Flags [R.], seq 0, ack 315479175, win 0, length 0&lt;br /&gt;
Noch viel tiefergehende Analysen des Datenstroms können erfolgen, wenn dieser komplett&lt;br /&gt;
mitgeschnitten und in einem Analysetool wie Wireshark untersucht wird:&lt;br /&gt;
root@standort-4:~# tcpdump -i eth1 port 25 -w /tmp/dump.txt -s 0 -n&lt;br /&gt;
tcpdump: listening on eth1, link-type EN10MB (Ethernet), capture size 262144 bytes&lt;br /&gt;
12 packets captured&lt;br /&gt;
12 packets received by filter&lt;br /&gt;
0 packets dropped by kernel&lt;br /&gt;
&lt;br /&gt;
==Fazit==&lt;br /&gt;
&lt;br /&gt;
Mit dem Packetsniffer tcpdump steht uns ein schier unsagbar mächtiges Werkzeug zur Analyse von&lt;br /&gt;
tcp/ip-Verbindungen zur Verfügung. Die unglaubliche Flexibilität bringt allerdings auch eine nicht zu&lt;br /&gt;
unterschätzende Komplexität mit sich. Glücklicherweise lassen sich die meisten Aufgaben mit einer&lt;br /&gt;
recht überschaubaren Anzahl von Optionen lösen.&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=UTM/Extras/ipsec_fehleranalyse&amp;diff=19066</id>
		<title>UTM/Extras/ipsec fehleranalyse</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=UTM/Extras/ipsec_fehleranalyse&amp;diff=19066"/>
		<updated>2018-09-03T13:51:40Z</updated>

		<summary type="html">&lt;p&gt;Jan: /* Responder-Seite: Extern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE: IPSEC Fehler }}&lt;br /&gt;
== Informationen ==&lt;br /&gt;
Letze Anpassung zur Version: &#039;&#039;&#039;11.7.9&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Vorherige Versionen: -&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Vorwort==&lt;br /&gt;
Falls eine TCP/IP-Verbindung mal nicht funktioniert, bietet die Firewall einige Möglichkeiten, dem Fehler&lt;br /&gt;
auf die Spur zu kommen. Konkret gibt es drei Level der Analyse, die immer tiefer in das System&lt;br /&gt;
hinabsteigen. Das oberste Level ist über das Webinterface erreichbar, die unteren Levels benötigen eine&lt;br /&gt;
Textkonsole, entweder über SSH oder lokal am Gerät.&lt;br /&gt;
&lt;br /&gt;
===Level 1: Livelog===&lt;br /&gt;
Das Livelog zeigt neben Applikationsmeldungen auch Meldungen des Paketfilters an. Standardmäßig ist&lt;br /&gt;
allerdings nur zu sehen, wenn die Default Policy Pakete verwirft, für die es keine passende FirewallRegel&lt;br /&gt;
gibt. Es läßt sich aber für jede Firewall-Regel das Logging konfigurieren, so daß auch ein Eintrag&lt;br /&gt;
erscheint, wenn diese Regel greift. &amp;lt;br /&amp;gt;&lt;br /&gt;
Dadurch ergeben sich in der Fehlersuche drei Möglichkeiten: &amp;lt;br /&amp;gt;&lt;br /&gt;
#Das gesuchte Paket taucht auf und es wird verworfen (DROP)&lt;br /&gt;
#Das gesuchte Paket taucht auf und es wird akzeptiert (ACCEPT)&lt;br /&gt;
#Das gesuchte Paket taucht nicht auf&lt;br /&gt;
&amp;lt;br /&amp;gt;Dadurch kann die Fehlerursache zumindest grob lokalisiert werden: &amp;lt;br /&amp;gt;&lt;br /&gt;
#Wenn ein Paket verworfen wird, fehlt die passende FW-Regel, sie ist inkorrekt formuliert oder noch nicht wirksam (Regelwerk noch nicht aktualisiert)&lt;br /&gt;
#Wenn ein Paket angenommen wird, dann liegt der Fehler eher in Richtung Zielhost.&lt;br /&gt;
#Ist kein Paket im Livelog sichtbar, dann kommt vermutlich auch keins an der Firewall an. Der&lt;br /&gt;
Fehler ist hier also eher in Richtung Quellhost zu suchen.&lt;br /&gt;
&lt;br /&gt;
===Level 2: CLI===&lt;br /&gt;
Das CLI (Command Line Interface) stellt die Schnittstelle zum Firewall-Server dar, welche zum einen&lt;br /&gt;
vom Webinterface genutzt wird, zum anderen auch auf der Konsole zur manuellen Konfiguration der&lt;br /&gt;
Firewall gnutzt werden kann. Für die Fehlersuche bei Verbindungsproblemen ist das CLI allerdings nur&lt;br /&gt;
on begrenztem Nutzen.&lt;br /&gt;
&lt;br /&gt;
Das CLI kann über das Webinterface oder über eine Textkonsole erreicht werden. Dazu ist ein Benutzer&lt;br /&gt;
mit Administrationsrechten notwendig.&lt;br /&gt;
&lt;br /&gt;
===Level 3: Linux-Shell===&lt;br /&gt;
Die Linux-Shell greift auf das zugrundeliegende Betriebssystem zurück. Man erhält Zugriff auf viele&lt;br /&gt;
Systemparameter, die über das Webinterface oder das CLI nicht zugänglich sind – wenn auch&lt;br /&gt;
zumeist nur lesend. Mit dem Paketsniffer tcpdump steht auf der linux-Shell ein sehr leistungsfähiges&lt;br /&gt;
Werkzeug zur Trafficanalyse zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
Die Linux-Shell erreicht man ausschließlich über eine Textkonsole mit dem Benutzer „root“.&lt;br /&gt;
&lt;br /&gt;
==Tcpdump auf der root-Konsole==&lt;br /&gt;
&lt;br /&gt;
===Voraussetzungen===&lt;br /&gt;
Die Voraussetzungen zur Verwendung von tcpdump sind folgende:&lt;br /&gt;
*Ein User „root“ in der Gruppe Administrator&lt;br /&gt;
*Ein SSH-Client (z. B. PuTTY) oder eine lokale Konsole auf der Firewall&lt;br /&gt;
===Parameter zur Steuerung und Filterung===&lt;br /&gt;
Die Verwendung von tcpdump ohne Parameter würde einfach JEDES tcp/ip-Paket auf der Konsole&lt;br /&gt;
anzeigen. Es ist also notwendig, durch entsprechende Filterparameter ein Suchmuster vorzugeben.&lt;br /&gt;
Hier einige Beispiele:&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;-i&#039;&#039;&#039;&#039;&#039; definiert das Interface, an dem ein- oder ausgehende Pakete angezeigt werden sollen&lt;br /&gt;
Beispiel: tcpdump –i eth1&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;proto&#039;&#039;&#039;&#039;&#039; definiert die Protokollnummer auf Transportebene.&lt;br /&gt;
Beispiele:&lt;br /&gt;
 tcpdump –i eth1 proto 1 zeigt ICMP-Pakete&lt;br /&gt;
 tcpdump –i eth1 proto 6 zeigt TCP-Pakete&lt;br /&gt;
 tcpdump –i eth1 proto 17 zeigt UDP-Pakete&lt;br /&gt;
 tcpdump –i eth1 proto 50 zeigt ESP-Pakete&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;port&#039;&#039;&#039;&#039;&#039; definiert tcp- oder udp-ports.&lt;br /&gt;
Beispiel: tcpdump –i eth1 port 80&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;host&#039;&#039;&#039;&#039;&#039; definiert einen bestimmten Host mit seiner IP als Quelle oder Ziel.&lt;br /&gt;
Beispiel: tcpdump –i eth1 host 10.0.0.1&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;net&#039;&#039;&#039;&#039;&#039; definiert ein Netzwerk (Quelle oder Ziel)&lt;br /&gt;
Beispiel: tcpdump –i eth1 net 10.0.0.0/24&lt;br /&gt;
Darüber hinaus lassen sich Filterparameter mit logischen Operatoren verknüpfen. So können&lt;br /&gt;
folgendermaßen alle ICMP-Pakete für Host 10.0.0.10 angezeigt werden:&lt;br /&gt;
*tcpdump –i eth1 proto 1 and host 10.0.0.10&lt;br /&gt;
Weitere Steuerungsparameter sind beispielsweise:&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;-n&#039;&#039;&#039;&#039;&#039; verhindert, dass tcpdump versucht, einen reverse lookup auf IP-Adressen zu machen, um&lt;br /&gt;
Hostnamen anzuzeigen.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;-s&#039;&#039;&#039;&#039;&#039; legt fest, bis zu welcher Länge ein Paket mitgeschnitten wird. Mit dem Wert 0 wird das&lt;br /&gt;
komplette Paket mitgeschnitten.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;-w&#039;&#039;&#039;&#039;&#039; leitet die Ausgabe in eine Textdatei um. Diese kann dann mit einem Analysetool, z.B.&lt;br /&gt;
wireshark, weiter untersucht werden. Als Wert wird der Pfad der Textdatei angegeben, z.B.&lt;br /&gt;
/var/tcpdump.txt&lt;br /&gt;
&lt;br /&gt;
==Analyse von Traffic – Ein Beispiel==&lt;br /&gt;
&lt;br /&gt;
In unserem Beispiel haben wir zwei Netzwerke der Zentrale und eines Filialstandortes einer Firma,&lt;br /&gt;
deren Gateways diese Netze mittels eines IPSec-Tunnels miteinander verbinden. Die Zentrale hat&lt;br /&gt;
das interne Netzwerk 10.0.0.0/24 und die externe Adresse 198.51.100.75. Die Filiale hat das interne&lt;br /&gt;
Netzwerk 10.4.0.0/24 und die externe Adresse 198.51.100.4. Der Host 10.0.0.10 versucht, den&lt;br /&gt;
Host 10.4.0.10 zu erreichen, was aber misslingt. &amp;lt;br /&amp;gt;&lt;br /&gt;
===Initiator-Seite: Intern===&lt;br /&gt;
Wir beginnen unsere Analyse am internen Interface des Gateways der Zentrale. Dazu melden wir&lt;br /&gt;
uns per ssh als User „root“ dort an und führen folgendes Kommando aus:&lt;br /&gt;
&lt;br /&gt;
 root@zentrale:~# tcpdump –i eth1 proto 1 -n&lt;br /&gt;
&lt;br /&gt;
Der Parameter „proto 1“ bezieht sich auf die Protokollnummer 1 des ICMP-Protokolls auf&lt;br /&gt;
Transportebene. Alternativ können wir auch nach Paketen suchen, die für das entfernte Subnetz&lt;br /&gt;
bestimmt sind:&lt;br /&gt;
&lt;br /&gt;
 root@zentrale:~# tcpdump –i eth1 net 10.4.0.0/24 –n&lt;br /&gt;
&lt;br /&gt;
Versuchen wir jetzt zu „pingen“, zeigt sich folgendes Ergebnis:&lt;br /&gt;
&lt;br /&gt;
 09:59:44.445502 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 09:59:49.847558 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 09:59:54.855574 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 09:59:59.861512 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&lt;br /&gt;
Daraus können wir ersehen, dass die Anfragen am internen Interface der zentralen Firewall&lt;br /&gt;
ankommen. Eine Antwort bleibt allerdings aus.&lt;br /&gt;
&lt;br /&gt;
===Initiator-Seite: Extern===&lt;br /&gt;
&lt;br /&gt;
Zur weiteren Verfolgung muss das ausgehende Interface der zentralen Firewall betrachtet werden.&lt;br /&gt;
Allerdings stellt sich hier ein Problem: Da wir an dieser Stelle den Transport der übertragenen Daten&lt;br /&gt;
nur in verschlüsselter Form betrachten können, bleibt uns das ICMP-Paket im Klartext verborgen –&lt;br /&gt;
und das sollte auch so sein. Wir können allerdings versuchen, eingehendes Klartext- und&lt;br /&gt;
ausgehendes verschlüsseltes Paket miteinander in Beziehung zu setzen. Wir starten dazu tcpdump&lt;br /&gt;
mit folgenden Parametern:&lt;br /&gt;
 &lt;br /&gt;
 root@zentrale:~# tcpdump –i any proto 1 or proto 50 -n&lt;br /&gt;
&lt;br /&gt;
Wir suchen an einer beliebigen Schnittstelle nach ICMP-Paketen oder nach verschlüsselten Paketen.&lt;br /&gt;
Das hierzu von IPSec verwendete Protokoll ESP hat auf der Transportebene die Protokollnummer 50.&lt;br /&gt;
Gibt es mehrere IPSec-Verbindungen auf dem Gateway, kann alternativ auch nach Paketen für das&lt;br /&gt;
entfernte Subnetz oder das entfernte Gateway gesucht werden:&lt;br /&gt;
&lt;br /&gt;
 root@zentrale:~# tcpdump –i any net 10.4.0.0/24 or host 198.51.100.4 –n&lt;br /&gt;
&lt;br /&gt;
Wir erhalten folgendes Ergebnis:&lt;br /&gt;
&lt;br /&gt;
 10:21:39.710743 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 10:21:39.710799 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x9), length 92&lt;br /&gt;
 10:21:45.056141 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 10:21:45.056235 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0xa), length 92&lt;br /&gt;
 10:21:50.065278 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 10:21:50.065332 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0xb), length 92&lt;br /&gt;
 10:21:55.075902 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
 10:21:55.075947 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0xc), length 92&lt;br /&gt;
&lt;br /&gt;
Wir sehen vier ICMP Echo Request-Pakete mit aufeinanderfolgenden Sequenznummern, denen&lt;br /&gt;
jeweils direkt ein ESP-Paket folgt. Diese ESP-Pakete haben ebenfalls aufeinanderfolgende&lt;br /&gt;
Sequenznummern. Daraus folgt, dass auf Seiten der zentralen Firewall alle Datenpakete für das&lt;br /&gt;
entfernte Subnetz verschlüsselt und an das entfernte Gateway geschickt werden.&lt;br /&gt;
&lt;br /&gt;
Möglicherweise bekommen wir allerdings folgendes Ergebnis:&lt;br /&gt;
&lt;br /&gt;
 10:58:15.436094 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 10:58:15.436127 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 10:58:20.810201 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 10:58:20.810230 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 10:58:25.820479 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 10:58:25.820533 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 10:58:30.830402 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
 10:58:30.830470 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&lt;br /&gt;
Wir sehen jedes Paket zwei Mal, erkennbar an der gleichen Sequenznummer. Die zweite Version des&lt;br /&gt;
Pakets hat allerdings die IP des externen Interfaces als Quelle. Es erfolgte also ein HideNAT über die&lt;br /&gt;
externe Schnittstelle. In diesem Falle haben wir wahrscheinlich vergessen, innerhalb der&lt;br /&gt;
Portfilterregel vom eigenen in das entfernte Subnetz die HideNAT-Ausnahme zu setzen oder die&lt;br /&gt;
Option „Kein NAT für IPSec-Verbindungen“ in den impliziten Regeln zu aktivieren. Infolgedessen&lt;br /&gt;
wird das Paket, anstatt verschlüsselt in den IPSec-Tunnel zu gehen, geNATtet und in Richtung&lt;br /&gt;
Default Gateway geschickt.&lt;br /&gt;
&lt;br /&gt;
===Responder-Seite: Extern===&lt;br /&gt;
&lt;br /&gt;
Gehen wir davon aus, dass auf dem Gateway der Zentrale alles funktioniert, müssen wir weiter auf&lt;br /&gt;
dem Gateway der Filiale suchen. Zunächst vergewissern wir uns, dass die verschlüsselten Daten&lt;br /&gt;
auch an der Gegenstelle ankommen. Das diese von der Zentrale aus abgeschickt werden, heißt&lt;br /&gt;
noch lange nicht, dass sie auch ankommen! Deshalb führen wir auf der SSH-Konsole auf der Filiale&lt;br /&gt;
folgendes Kommando aus:&lt;br /&gt;
&lt;br /&gt;
 root@standort-4:~# tcpdump –i eth0 proto 50 –n&lt;br /&gt;
&lt;br /&gt;
Das Ergebnis ist folgende Ausgabe:&lt;br /&gt;
&lt;br /&gt;
 11:24:55.833742 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x45), length 92&lt;br /&gt;
 11:25:00.890782 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x46), length 92&lt;br /&gt;
 11:25:05.899056 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x47), length 92&lt;br /&gt;
 11:25:10.908124 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x48), length 92&lt;br /&gt;
&lt;br /&gt;
===Responder-Seite: Intern===&lt;br /&gt;
&lt;br /&gt;
Wir können also sicher sein, dass die verschlüsselten Pakete auch am Gateway der Filiale&lt;br /&gt;
ankommen! Die letzte Etappe ist nun die interne Schnittstelle des Filial-Gateways. Hier schauen wir,&lt;br /&gt;
ob das ICMP-Paket auch ins interne Netz Richtung Zielhost geschickt wird:&lt;br /&gt;
root@standort-4:~# tcpdump –i eth1 proto 1 –n&lt;br /&gt;
Ist auch auf dem Gateway der Filiale in Bezug auf Portfilter-Regeln alles korrekt konfiguriert, sollte&lt;br /&gt;
sich folgende Ausgabe ergeben:&lt;br /&gt;
11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
Daraus können wir eindeutig ersehen, dass der Zielhost zumindestens online und physikalisch&lt;br /&gt;
erreichbar ist. Warum können wir uns da so sicher sein? Das wird deutlich, wenn wir uns die&lt;br /&gt;
Ausgabe anschauen, die wir erhalten, wenn wir anstatt des Protokolls ICMP einmal nach Paketen des&lt;br /&gt;
Zielhosts suchen:&lt;br /&gt;
root@standort-4:~# tcpdump –i eth1 host 10.4.0.10 –n&lt;br /&gt;
11:44:39.553889 ARP, Request who-has 10.4.0.10 tell 10.4.0.1, length 28&lt;br /&gt;
11:44:39.554212 ARP, Reply 10.4.0.10 is-at 08:00:27:e1:fd:ab, length 46&lt;br /&gt;
11:44:39.672145 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
11:44:44.682827 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
11:44:49.692773 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
11:44:49.699543 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
Wir sehen hier, dass vor unseren Pings vom Gateway ein ARP Request ins interne Netz gesendet&lt;br /&gt;
wird, mit dem die MAC-Adresse des Zielhosts ermittelt werden soll. Darauf erfolgt eine Antwort des&lt;br /&gt;
Zielhosts, in der er diese mitteilt. Erst dann können IP-Pakete an den Zielhost übermittelt werden.&lt;br /&gt;
Die Ergebnisse von ARP Requests werden in der Neighbour table, auch ARP-Cache genannt,&lt;br /&gt;
zwischengespeichert, so dass nicht für jedes IP-Paket ein neuer ARP Request durchgeführt werden&lt;br /&gt;
muss. Diesen können wir uns mit folgendem Kommando anschauen:&lt;br /&gt;
root@standort-4:~# ip n&lt;br /&gt;
Wir finden in der Ausgabe unter anderem einen Eintrag, der zu unserem Zielhost gehört:&lt;br /&gt;
10.4.0.10 dev eth1 lladdr 08:00:27:e1:fd:ab REACHABLE&lt;br /&gt;
Das beweist eindeutig, dass der Zielhost online und physikalisch erreichbar ist. Wäre er das nicht,&lt;br /&gt;
würde in der Neighbour table folgender Eintrag stehen:&lt;br /&gt;
10.4.0.10 dev eth1 FAILED&lt;br /&gt;
Sofern das Gateway zu mindestens VERSUCHT, ein Paket an den Zielhost zuzustellen, liegt der Fehler&lt;br /&gt;
nicht mehr innerhalb der Tunnel- oder Firewall-Konfiguration, sondern eindeutig am Zielhost.&lt;br /&gt;
Entweder sehen wir keine IP-Pakete, aber einen Eintrag in die Neighbour table, der uns anzeigt, dass&lt;br /&gt;
der Zielhost physikalisch nicht erreichbar ist. Oder wir sehen ein IP-Paket und können daraus&lt;br /&gt;
schließen, dass der Zielhost zwar physikalisch erreichbar ist, aber auf die Verbindungsanfrage aus&lt;br /&gt;
irgendwelchen Gründen nicht antwortet.&lt;br /&gt;
&lt;br /&gt;
===Mögliche Fehlerquellen auf dem Zielhost===&lt;br /&gt;
&lt;br /&gt;
Nachdem feststeht, dass der Fehler nur auf dem Zielhost liegen kann, müsste dieser auch dort&lt;br /&gt;
gefunden werden. Wir können den Fehler aber auch bereits auf dem Gateway auf Responder-Seite&lt;br /&gt;
weiter eingrenzen, wenn wir betrachten, ob und welche Pakete vom Zielhost zurückkommen:&lt;br /&gt;
root@standort-4:~# tcpdump –i eth1 host 10.4.0.10 -n&lt;br /&gt;
Sind nun ausschließlich die von der NextGen UTM ausgehenden Ping sichtbar, dann ist anzunehmen,&lt;br /&gt;
dass der Zielhost aufgrund einer aktiven lokalen Firewall nicht antwortet:&lt;br /&gt;
11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
Bei folgendem Fehlerbild kann von einer falsch gesetzten Subnetzmaske in der&lt;br /&gt;
Netzwerkkonfiguration des Zielhosts ausgegangen werden:&lt;br /&gt;
11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
Der Zielhost versucht, mit einer ARP-Anfrage die MAC-Adresse des Quellhosts zu ermitteln, als wäre&lt;br /&gt;
dieser im gleichen Subnetz. Das weist eindeutig auf eine fehlerhafte Subnetzmaske hin.&lt;br /&gt;
Selbst ein falsch gesetztes Default Gateway lässt sich so herausfinden:&lt;br /&gt;
11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
Hier versucht der Zielhost, die MAC-Adresse eines anderen Hosts im gleichen Subnetz zu finden. Da&lt;br /&gt;
diese Versuche reproduzierbar immer jeweils nach einem ICMP Echo Request-Paket zu sehen sind,&lt;br /&gt;
ist anzunehmen, dass er versucht, an diesen Host die Antwort zu schicken.&lt;br /&gt;
&lt;br /&gt;
===Weitere Diagnosemöglichkeiten bei tcp-Verbindungen===&lt;br /&gt;
&lt;br /&gt;
Über die reine Erreichbarkeit eines Hosts hinaus lassen sich noch weitere Aspekte einer Verbindung&lt;br /&gt;
untersuchen, wie zum Beispiel der korrekte Aufbau des TCP 3-Wege-Handshakes. Ist in der Antwort auf&lt;br /&gt;
das initiale Paket (SYN-Flag) das RST-Flag gesetzt, dann wird der Zielhost zwar erreicht, der&lt;br /&gt;
entsprechende Dienst ist aber nicht erreichbar:&lt;br /&gt;
root@standort-4:~# tcpdump -i eth1 port 3389 -n&lt;br /&gt;
14:24:14.433460 IP 10.0.0.10.50795 &amp;gt; 10.4.0.10.3389: Flags [S], seq 315479174, win 64240, options [mss&lt;br /&gt;
1341,nop,wscale 8,nop,nop,sackOK], length 0&lt;br /&gt;
14:24:14.433725 IP 10.4.0.10.3389 &amp;gt; 10.0.0.10.50795: Flags [R.], seq 0, ack 315479175, win 0, length 0&lt;br /&gt;
Noch viel tiefergehende Analysen des Datenstroms können erfolgen, wenn dieser komplett&lt;br /&gt;
mitgeschnitten und in einem Analysetool wie Wireshark untersucht wird:&lt;br /&gt;
root@standort-4:~# tcpdump -i eth1 port 25 -w /tmp/dump.txt -s 0 -n&lt;br /&gt;
tcpdump: listening on eth1, link-type EN10MB (Ethernet), capture size 262144 bytes&lt;br /&gt;
12 packets captured&lt;br /&gt;
12 packets received by filter&lt;br /&gt;
0 packets dropped by kernel&lt;br /&gt;
&lt;br /&gt;
==Fazit==&lt;br /&gt;
&lt;br /&gt;
Mit dem Packetsniffer tcpdump steht uns ein schier unsagbar mächtiges Werkzeug zur Analyse von&lt;br /&gt;
tcp/ip-Verbindungen zur Verfügung. Die unglaubliche Flexibilität bringt allerdings auch eine nicht zu&lt;br /&gt;
unterschätzende Komplexität mit sich. Glücklicherweise lassen sich die meisten Aufgaben mit einer&lt;br /&gt;
recht überschaubaren Anzahl von Optionen lösen.&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=UTM/Extras/ipsec_fehleranalyse&amp;diff=19063</id>
		<title>UTM/Extras/ipsec fehleranalyse</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=UTM/Extras/ipsec_fehleranalyse&amp;diff=19063"/>
		<updated>2018-09-03T13:50:58Z</updated>

		<summary type="html">&lt;p&gt;Jan: /* Initiator-Seite: Intern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE: IPSEC Fehler }}&lt;br /&gt;
== Informationen ==&lt;br /&gt;
Letze Anpassung zur Version: &#039;&#039;&#039;11.7.9&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Vorherige Versionen: -&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Vorwort==&lt;br /&gt;
Falls eine TCP/IP-Verbindung mal nicht funktioniert, bietet die Firewall einige Möglichkeiten, dem Fehler&lt;br /&gt;
auf die Spur zu kommen. Konkret gibt es drei Level der Analyse, die immer tiefer in das System&lt;br /&gt;
hinabsteigen. Das oberste Level ist über das Webinterface erreichbar, die unteren Levels benötigen eine&lt;br /&gt;
Textkonsole, entweder über SSH oder lokal am Gerät.&lt;br /&gt;
&lt;br /&gt;
===Level 1: Livelog===&lt;br /&gt;
Das Livelog zeigt neben Applikationsmeldungen auch Meldungen des Paketfilters an. Standardmäßig ist&lt;br /&gt;
allerdings nur zu sehen, wenn die Default Policy Pakete verwirft, für die es keine passende FirewallRegel&lt;br /&gt;
gibt. Es läßt sich aber für jede Firewall-Regel das Logging konfigurieren, so daß auch ein Eintrag&lt;br /&gt;
erscheint, wenn diese Regel greift. &amp;lt;br /&amp;gt;&lt;br /&gt;
Dadurch ergeben sich in der Fehlersuche drei Möglichkeiten: &amp;lt;br /&amp;gt;&lt;br /&gt;
#Das gesuchte Paket taucht auf und es wird verworfen (DROP)&lt;br /&gt;
#Das gesuchte Paket taucht auf und es wird akzeptiert (ACCEPT)&lt;br /&gt;
#Das gesuchte Paket taucht nicht auf&lt;br /&gt;
&amp;lt;br /&amp;gt;Dadurch kann die Fehlerursache zumindest grob lokalisiert werden: &amp;lt;br /&amp;gt;&lt;br /&gt;
#Wenn ein Paket verworfen wird, fehlt die passende FW-Regel, sie ist inkorrekt formuliert oder noch nicht wirksam (Regelwerk noch nicht aktualisiert)&lt;br /&gt;
#Wenn ein Paket angenommen wird, dann liegt der Fehler eher in Richtung Zielhost.&lt;br /&gt;
#Ist kein Paket im Livelog sichtbar, dann kommt vermutlich auch keins an der Firewall an. Der&lt;br /&gt;
Fehler ist hier also eher in Richtung Quellhost zu suchen.&lt;br /&gt;
&lt;br /&gt;
===Level 2: CLI===&lt;br /&gt;
Das CLI (Command Line Interface) stellt die Schnittstelle zum Firewall-Server dar, welche zum einen&lt;br /&gt;
vom Webinterface genutzt wird, zum anderen auch auf der Konsole zur manuellen Konfiguration der&lt;br /&gt;
Firewall gnutzt werden kann. Für die Fehlersuche bei Verbindungsproblemen ist das CLI allerdings nur&lt;br /&gt;
on begrenztem Nutzen.&lt;br /&gt;
&lt;br /&gt;
Das CLI kann über das Webinterface oder über eine Textkonsole erreicht werden. Dazu ist ein Benutzer&lt;br /&gt;
mit Administrationsrechten notwendig.&lt;br /&gt;
&lt;br /&gt;
===Level 3: Linux-Shell===&lt;br /&gt;
Die Linux-Shell greift auf das zugrundeliegende Betriebssystem zurück. Man erhält Zugriff auf viele&lt;br /&gt;
Systemparameter, die über das Webinterface oder das CLI nicht zugänglich sind – wenn auch&lt;br /&gt;
zumeist nur lesend. Mit dem Paketsniffer tcpdump steht auf der linux-Shell ein sehr leistungsfähiges&lt;br /&gt;
Werkzeug zur Trafficanalyse zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
Die Linux-Shell erreicht man ausschließlich über eine Textkonsole mit dem Benutzer „root“.&lt;br /&gt;
&lt;br /&gt;
==Tcpdump auf der root-Konsole==&lt;br /&gt;
&lt;br /&gt;
===Voraussetzungen===&lt;br /&gt;
Die Voraussetzungen zur Verwendung von tcpdump sind folgende:&lt;br /&gt;
*Ein User „root“ in der Gruppe Administrator&lt;br /&gt;
*Ein SSH-Client (z. B. PuTTY) oder eine lokale Konsole auf der Firewall&lt;br /&gt;
===Parameter zur Steuerung und Filterung===&lt;br /&gt;
Die Verwendung von tcpdump ohne Parameter würde einfach JEDES tcp/ip-Paket auf der Konsole&lt;br /&gt;
anzeigen. Es ist also notwendig, durch entsprechende Filterparameter ein Suchmuster vorzugeben.&lt;br /&gt;
Hier einige Beispiele:&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;-i&#039;&#039;&#039;&#039;&#039; definiert das Interface, an dem ein- oder ausgehende Pakete angezeigt werden sollen&lt;br /&gt;
Beispiel: tcpdump –i eth1&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;proto&#039;&#039;&#039;&#039;&#039; definiert die Protokollnummer auf Transportebene.&lt;br /&gt;
Beispiele:&lt;br /&gt;
 tcpdump –i eth1 proto 1 zeigt ICMP-Pakete&lt;br /&gt;
 tcpdump –i eth1 proto 6 zeigt TCP-Pakete&lt;br /&gt;
 tcpdump –i eth1 proto 17 zeigt UDP-Pakete&lt;br /&gt;
 tcpdump –i eth1 proto 50 zeigt ESP-Pakete&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;port&#039;&#039;&#039;&#039;&#039; definiert tcp- oder udp-ports.&lt;br /&gt;
Beispiel: tcpdump –i eth1 port 80&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;host&#039;&#039;&#039;&#039;&#039; definiert einen bestimmten Host mit seiner IP als Quelle oder Ziel.&lt;br /&gt;
Beispiel: tcpdump –i eth1 host 10.0.0.1&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;net&#039;&#039;&#039;&#039;&#039; definiert ein Netzwerk (Quelle oder Ziel)&lt;br /&gt;
Beispiel: tcpdump –i eth1 net 10.0.0.0/24&lt;br /&gt;
Darüber hinaus lassen sich Filterparameter mit logischen Operatoren verknüpfen. So können&lt;br /&gt;
folgendermaßen alle ICMP-Pakete für Host 10.0.0.10 angezeigt werden:&lt;br /&gt;
*tcpdump –i eth1 proto 1 and host 10.0.0.10&lt;br /&gt;
Weitere Steuerungsparameter sind beispielsweise:&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;-n&#039;&#039;&#039;&#039;&#039; verhindert, dass tcpdump versucht, einen reverse lookup auf IP-Adressen zu machen, um&lt;br /&gt;
Hostnamen anzuzeigen.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;-s&#039;&#039;&#039;&#039;&#039; legt fest, bis zu welcher Länge ein Paket mitgeschnitten wird. Mit dem Wert 0 wird das&lt;br /&gt;
komplette Paket mitgeschnitten.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;-w&#039;&#039;&#039;&#039;&#039; leitet die Ausgabe in eine Textdatei um. Diese kann dann mit einem Analysetool, z.B.&lt;br /&gt;
wireshark, weiter untersucht werden. Als Wert wird der Pfad der Textdatei angegeben, z.B.&lt;br /&gt;
/var/tcpdump.txt&lt;br /&gt;
&lt;br /&gt;
==Analyse von Traffic – Ein Beispiel==&lt;br /&gt;
&lt;br /&gt;
In unserem Beispiel haben wir zwei Netzwerke der Zentrale und eines Filialstandortes einer Firma,&lt;br /&gt;
deren Gateways diese Netze mittels eines IPSec-Tunnels miteinander verbinden. Die Zentrale hat&lt;br /&gt;
das interne Netzwerk 10.0.0.0/24 und die externe Adresse 198.51.100.75. Die Filiale hat das interne&lt;br /&gt;
Netzwerk 10.4.0.0/24 und die externe Adresse 198.51.100.4. Der Host 10.0.0.10 versucht, den&lt;br /&gt;
Host 10.4.0.10 zu erreichen, was aber misslingt. &amp;lt;br /&amp;gt;&lt;br /&gt;
===Initiator-Seite: Intern===&lt;br /&gt;
Wir beginnen unsere Analyse am internen Interface des Gateways der Zentrale. Dazu melden wir&lt;br /&gt;
uns per ssh als User „root“ dort an und führen folgendes Kommando aus:&lt;br /&gt;
&lt;br /&gt;
 root@zentrale:~# tcpdump –i eth1 proto 1 -n&lt;br /&gt;
&lt;br /&gt;
Der Parameter „proto 1“ bezieht sich auf die Protokollnummer 1 des ICMP-Protokolls auf&lt;br /&gt;
Transportebene. Alternativ können wir auch nach Paketen suchen, die für das entfernte Subnetz&lt;br /&gt;
bestimmt sind:&lt;br /&gt;
&lt;br /&gt;
 root@zentrale:~# tcpdump –i eth1 net 10.4.0.0/24 –n&lt;br /&gt;
&lt;br /&gt;
Versuchen wir jetzt zu „pingen“, zeigt sich folgendes Ergebnis:&lt;br /&gt;
&lt;br /&gt;
 09:59:44.445502 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 09:59:49.847558 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 09:59:54.855574 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 09:59:59.861512 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&lt;br /&gt;
Daraus können wir ersehen, dass die Anfragen am internen Interface der zentralen Firewall&lt;br /&gt;
ankommen. Eine Antwort bleibt allerdings aus.&lt;br /&gt;
&lt;br /&gt;
===Initiator-Seite: Extern===&lt;br /&gt;
&lt;br /&gt;
Zur weiteren Verfolgung muss das ausgehende Interface der zentralen Firewall betrachtet werden.&lt;br /&gt;
Allerdings stellt sich hier ein Problem: Da wir an dieser Stelle den Transport der übertragenen Daten&lt;br /&gt;
nur in verschlüsselter Form betrachten können, bleibt uns das ICMP-Paket im Klartext verborgen –&lt;br /&gt;
und das sollte auch so sein. Wir können allerdings versuchen, eingehendes Klartext- und&lt;br /&gt;
ausgehendes verschlüsseltes Paket miteinander in Beziehung zu setzen. Wir starten dazu tcpdump&lt;br /&gt;
mit folgenden Parametern:&lt;br /&gt;
 &lt;br /&gt;
 root@zentrale:~# tcpdump –i any proto 1 or proto 50 -n&lt;br /&gt;
&lt;br /&gt;
Wir suchen an einer beliebigen Schnittstelle nach ICMP-Paketen oder nach verschlüsselten Paketen.&lt;br /&gt;
Das hierzu von IPSec verwendete Protokoll ESP hat auf der Transportebene die Protokollnummer 50.&lt;br /&gt;
Gibt es mehrere IPSec-Verbindungen auf dem Gateway, kann alternativ auch nach Paketen für das&lt;br /&gt;
entfernte Subnetz oder das entfernte Gateway gesucht werden:&lt;br /&gt;
&lt;br /&gt;
 root@zentrale:~# tcpdump –i any net 10.4.0.0/24 or host 198.51.100.4 –n&lt;br /&gt;
&lt;br /&gt;
Wir erhalten folgendes Ergebnis:&lt;br /&gt;
&lt;br /&gt;
 10:21:39.710743 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 10:21:39.710799 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x9), length 92&lt;br /&gt;
 10:21:45.056141 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 10:21:45.056235 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0xa), length 92&lt;br /&gt;
 10:21:50.065278 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 10:21:50.065332 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0xb), length 92&lt;br /&gt;
 10:21:55.075902 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
 10:21:55.075947 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0xc), length 92&lt;br /&gt;
&lt;br /&gt;
Wir sehen vier ICMP Echo Request-Pakete mit aufeinanderfolgenden Sequenznummern, denen&lt;br /&gt;
jeweils direkt ein ESP-Paket folgt. Diese ESP-Pakete haben ebenfalls aufeinanderfolgende&lt;br /&gt;
Sequenznummern. Daraus folgt, dass auf Seiten der zentralen Firewall alle Datenpakete für das&lt;br /&gt;
entfernte Subnetz verschlüsselt und an das entfernte Gateway geschickt werden.&lt;br /&gt;
&lt;br /&gt;
Möglicherweise bekommen wir allerdings folgendes Ergebnis:&lt;br /&gt;
&lt;br /&gt;
 10:58:15.436094 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 10:58:15.436127 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 10:58:20.810201 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 10:58:20.810230 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 10:58:25.820479 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 10:58:25.820533 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 10:58:30.830402 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
 10:58:30.830470 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&lt;br /&gt;
Wir sehen jedes Paket zwei Mal, erkennbar an der gleichen Sequenznummer. Die zweite Version des&lt;br /&gt;
Pakets hat allerdings die IP des externen Interfaces als Quelle. Es erfolgte also ein HideNAT über die&lt;br /&gt;
externe Schnittstelle. In diesem Falle haben wir wahrscheinlich vergessen, innerhalb der&lt;br /&gt;
Portfilterregel vom eigenen in das entfernte Subnetz die HideNAT-Ausnahme zu setzen oder die&lt;br /&gt;
Option „Kein NAT für IPSec-Verbindungen“ in den impliziten Regeln zu aktivieren. Infolgedessen&lt;br /&gt;
wird das Paket, anstatt verschlüsselt in den IPSec-Tunnel zu gehen, geNATtet und in Richtung&lt;br /&gt;
Default Gateway geschickt.&lt;br /&gt;
&lt;br /&gt;
===Responder-Seite: Extern===&lt;br /&gt;
&lt;br /&gt;
Gehen wir davon aus, dass auf dem Gateway der Zentrale alles funktioniert, müssen wir weiter auf&lt;br /&gt;
dem Gateway der Filiale suchen. Zunächst vergewissern wir uns, dass die verschlüsselten Daten&lt;br /&gt;
auch an der Gegenstelle ankommen. Dass diese von der Zentrale aus abgeschickt werden, heisst&lt;br /&gt;
noch lange nicht, dass sie auch ankommen! Deshalb führen wir auf der SSH-Konsole auf der Filiale&lt;br /&gt;
folgendes Kommando aus:&lt;br /&gt;
root@standort-4:~# tcpdump –i eth0 proto 50 –n&lt;br /&gt;
Das Ergebnis ist folgende Ausgabe:&lt;br /&gt;
11:24:55.833742 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x45), length 92&lt;br /&gt;
11:25:00.890782 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x46), length 92&lt;br /&gt;
11:25:05.899056 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x47), length 92&lt;br /&gt;
11:25:10.908124 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x48), length 92&lt;br /&gt;
&lt;br /&gt;
===Responder-Seite: Intern===&lt;br /&gt;
&lt;br /&gt;
Wir können also sicher sein, dass die verschlüsselten Pakete auch am Gateway der Filiale&lt;br /&gt;
ankommen! Die letzte Etappe ist nun die interne Schnittstelle des Filial-Gateways. Hier schauen wir,&lt;br /&gt;
ob das ICMP-Paket auch ins interne Netz Richtung Zielhost geschickt wird:&lt;br /&gt;
root@standort-4:~# tcpdump –i eth1 proto 1 –n&lt;br /&gt;
Ist auch auf dem Gateway der Filiale in Bezug auf Portfilter-Regeln alles korrekt konfiguriert, sollte&lt;br /&gt;
sich folgende Ausgabe ergeben:&lt;br /&gt;
11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
Daraus können wir eindeutig ersehen, dass der Zielhost zumindestens online und physikalisch&lt;br /&gt;
erreichbar ist. Warum können wir uns da so sicher sein? Das wird deutlich, wenn wir uns die&lt;br /&gt;
Ausgabe anschauen, die wir erhalten, wenn wir anstatt des Protokolls ICMP einmal nach Paketen des&lt;br /&gt;
Zielhosts suchen:&lt;br /&gt;
root@standort-4:~# tcpdump –i eth1 host 10.4.0.10 –n&lt;br /&gt;
11:44:39.553889 ARP, Request who-has 10.4.0.10 tell 10.4.0.1, length 28&lt;br /&gt;
11:44:39.554212 ARP, Reply 10.4.0.10 is-at 08:00:27:e1:fd:ab, length 46&lt;br /&gt;
11:44:39.672145 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
11:44:44.682827 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
11:44:49.692773 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
11:44:49.699543 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
Wir sehen hier, dass vor unseren Pings vom Gateway ein ARP Request ins interne Netz gesendet&lt;br /&gt;
wird, mit dem die MAC-Adresse des Zielhosts ermittelt werden soll. Darauf erfolgt eine Antwort des&lt;br /&gt;
Zielhosts, in der er diese mitteilt. Erst dann können IP-Pakete an den Zielhost übermittelt werden.&lt;br /&gt;
Die Ergebnisse von ARP Requests werden in der Neighbour table, auch ARP-Cache genannt,&lt;br /&gt;
zwischengespeichert, so dass nicht für jedes IP-Paket ein neuer ARP Request durchgeführt werden&lt;br /&gt;
muss. Diesen können wir uns mit folgendem Kommando anschauen:&lt;br /&gt;
root@standort-4:~# ip n&lt;br /&gt;
Wir finden in der Ausgabe unter anderem einen Eintrag, der zu unserem Zielhost gehört:&lt;br /&gt;
10.4.0.10 dev eth1 lladdr 08:00:27:e1:fd:ab REACHABLE&lt;br /&gt;
Das beweist eindeutig, dass der Zielhost online und physikalisch erreichbar ist. Wäre er das nicht,&lt;br /&gt;
würde in der Neighbour table folgender Eintrag stehen:&lt;br /&gt;
10.4.0.10 dev eth1 FAILED&lt;br /&gt;
Sofern das Gateway zu mindestens VERSUCHT, ein Paket an den Zielhost zuzustellen, liegt der Fehler&lt;br /&gt;
nicht mehr innerhalb der Tunnel- oder Firewall-Konfiguration, sondern eindeutig am Zielhost.&lt;br /&gt;
Entweder sehen wir keine IP-Pakete, aber einen Eintrag in die Neighbour table, der uns anzeigt, dass&lt;br /&gt;
der Zielhost physikalisch nicht erreichbar ist. Oder wir sehen ein IP-Paket und können daraus&lt;br /&gt;
schließen, dass der Zielhost zwar physikalisch erreichbar ist, aber auf die Verbindungsanfrage aus&lt;br /&gt;
irgendwelchen Gründen nicht antwortet.&lt;br /&gt;
&lt;br /&gt;
===Mögliche Fehlerquellen auf dem Zielhost===&lt;br /&gt;
&lt;br /&gt;
Nachdem feststeht, dass der Fehler nur auf dem Zielhost liegen kann, müsste dieser auch dort&lt;br /&gt;
gefunden werden. Wir können den Fehler aber auch bereits auf dem Gateway auf Responder-Seite&lt;br /&gt;
weiter eingrenzen, wenn wir betrachten, ob und welche Pakete vom Zielhost zurückkommen:&lt;br /&gt;
root@standort-4:~# tcpdump –i eth1 host 10.4.0.10 -n&lt;br /&gt;
Sind nun ausschließlich die von der NextGen UTM ausgehenden Ping sichtbar, dann ist anzunehmen,&lt;br /&gt;
dass der Zielhost aufgrund einer aktiven lokalen Firewall nicht antwortet:&lt;br /&gt;
11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
Bei folgendem Fehlerbild kann von einer falsch gesetzten Subnetzmaske in der&lt;br /&gt;
Netzwerkkonfiguration des Zielhosts ausgegangen werden:&lt;br /&gt;
11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
Der Zielhost versucht, mit einer ARP-Anfrage die MAC-Adresse des Quellhosts zu ermitteln, als wäre&lt;br /&gt;
dieser im gleichen Subnetz. Das weist eindeutig auf eine fehlerhafte Subnetzmaske hin.&lt;br /&gt;
Selbst ein falsch gesetztes Default Gateway lässt sich so herausfinden:&lt;br /&gt;
11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
Hier versucht der Zielhost, die MAC-Adresse eines anderen Hosts im gleichen Subnetz zu finden. Da&lt;br /&gt;
diese Versuche reproduzierbar immer jeweils nach einem ICMP Echo Request-Paket zu sehen sind,&lt;br /&gt;
ist anzunehmen, dass er versucht, an diesen Host die Antwort zu schicken.&lt;br /&gt;
&lt;br /&gt;
===Weitere Diagnosemöglichkeiten bei tcp-Verbindungen===&lt;br /&gt;
&lt;br /&gt;
Über die reine Erreichbarkeit eines Hosts hinaus lassen sich noch weitere Aspekte einer Verbindung&lt;br /&gt;
untersuchen, wie zum Beispiel der korrekte Aufbau des TCP 3-Wege-Handshakes. Ist in der Antwort auf&lt;br /&gt;
das initiale Paket (SYN-Flag) das RST-Flag gesetzt, dann wird der Zielhost zwar erreicht, der&lt;br /&gt;
entsprechende Dienst ist aber nicht erreichbar:&lt;br /&gt;
root@standort-4:~# tcpdump -i eth1 port 3389 -n&lt;br /&gt;
14:24:14.433460 IP 10.0.0.10.50795 &amp;gt; 10.4.0.10.3389: Flags [S], seq 315479174, win 64240, options [mss&lt;br /&gt;
1341,nop,wscale 8,nop,nop,sackOK], length 0&lt;br /&gt;
14:24:14.433725 IP 10.4.0.10.3389 &amp;gt; 10.0.0.10.50795: Flags [R.], seq 0, ack 315479175, win 0, length 0&lt;br /&gt;
Noch viel tiefergehende Analysen des Datenstroms können erfolgen, wenn dieser komplett&lt;br /&gt;
mitgeschnitten und in einem Analysetool wie Wireshark untersucht wird:&lt;br /&gt;
root@standort-4:~# tcpdump -i eth1 port 25 -w /tmp/dump.txt -s 0 -n&lt;br /&gt;
tcpdump: listening on eth1, link-type EN10MB (Ethernet), capture size 262144 bytes&lt;br /&gt;
12 packets captured&lt;br /&gt;
12 packets received by filter&lt;br /&gt;
0 packets dropped by kernel&lt;br /&gt;
&lt;br /&gt;
==Fazit==&lt;br /&gt;
&lt;br /&gt;
Mit dem Packetsniffer tcpdump steht uns ein schier unsagbar mächtiges Werkzeug zur Analyse von&lt;br /&gt;
tcp/ip-Verbindungen zur Verfügung. Die unglaubliche Flexibilität bringt allerdings auch eine nicht zu&lt;br /&gt;
unterschätzende Komplexität mit sich. Glücklicherweise lassen sich die meisten Aufgaben mit einer&lt;br /&gt;
recht überschaubaren Anzahl von Optionen lösen.&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=UTM/Extras/ipsec_fehleranalyse&amp;diff=19060</id>
		<title>UTM/Extras/ipsec fehleranalyse</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=UTM/Extras/ipsec_fehleranalyse&amp;diff=19060"/>
		<updated>2018-09-03T13:50:28Z</updated>

		<summary type="html">&lt;p&gt;Jan: /* Initiator-Seite: Extern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE: IPSEC Fehler }}&lt;br /&gt;
== Informationen ==&lt;br /&gt;
Letze Anpassung zur Version: &#039;&#039;&#039;11.7.9&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Vorherige Versionen: -&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Vorwort==&lt;br /&gt;
Falls eine TCP/IP-Verbindung mal nicht funktioniert, bietet die Firewall einige Möglichkeiten, dem Fehler&lt;br /&gt;
auf die Spur zu kommen. Konkret gibt es drei Level der Analyse, die immer tiefer in das System&lt;br /&gt;
hinabsteigen. Das oberste Level ist über das Webinterface erreichbar, die unteren Levels benötigen eine&lt;br /&gt;
Textkonsole, entweder über SSH oder lokal am Gerät.&lt;br /&gt;
&lt;br /&gt;
===Level 1: Livelog===&lt;br /&gt;
Das Livelog zeigt neben Applikationsmeldungen auch Meldungen des Paketfilters an. Standardmäßig ist&lt;br /&gt;
allerdings nur zu sehen, wenn die Default Policy Pakete verwirft, für die es keine passende FirewallRegel&lt;br /&gt;
gibt. Es läßt sich aber für jede Firewall-Regel das Logging konfigurieren, so daß auch ein Eintrag&lt;br /&gt;
erscheint, wenn diese Regel greift. &amp;lt;br /&amp;gt;&lt;br /&gt;
Dadurch ergeben sich in der Fehlersuche drei Möglichkeiten: &amp;lt;br /&amp;gt;&lt;br /&gt;
#Das gesuchte Paket taucht auf und es wird verworfen (DROP)&lt;br /&gt;
#Das gesuchte Paket taucht auf und es wird akzeptiert (ACCEPT)&lt;br /&gt;
#Das gesuchte Paket taucht nicht auf&lt;br /&gt;
&amp;lt;br /&amp;gt;Dadurch kann die Fehlerursache zumindest grob lokalisiert werden: &amp;lt;br /&amp;gt;&lt;br /&gt;
#Wenn ein Paket verworfen wird, fehlt die passende FW-Regel, sie ist inkorrekt formuliert oder noch nicht wirksam (Regelwerk noch nicht aktualisiert)&lt;br /&gt;
#Wenn ein Paket angenommen wird, dann liegt der Fehler eher in Richtung Zielhost.&lt;br /&gt;
#Ist kein Paket im Livelog sichtbar, dann kommt vermutlich auch keins an der Firewall an. Der&lt;br /&gt;
Fehler ist hier also eher in Richtung Quellhost zu suchen.&lt;br /&gt;
&lt;br /&gt;
===Level 2: CLI===&lt;br /&gt;
Das CLI (Command Line Interface) stellt die Schnittstelle zum Firewall-Server dar, welche zum einen&lt;br /&gt;
vom Webinterface genutzt wird, zum anderen auch auf der Konsole zur manuellen Konfiguration der&lt;br /&gt;
Firewall gnutzt werden kann. Für die Fehlersuche bei Verbindungsproblemen ist das CLI allerdings nur&lt;br /&gt;
on begrenztem Nutzen.&lt;br /&gt;
&lt;br /&gt;
Das CLI kann über das Webinterface oder über eine Textkonsole erreicht werden. Dazu ist ein Benutzer&lt;br /&gt;
mit Administrationsrechten notwendig.&lt;br /&gt;
&lt;br /&gt;
===Level 3: Linux-Shell===&lt;br /&gt;
Die Linux-Shell greift auf das zugrundeliegende Betriebssystem zurück. Man erhält Zugriff auf viele&lt;br /&gt;
Systemparameter, die über das Webinterface oder das CLI nicht zugänglich sind – wenn auch&lt;br /&gt;
zumeist nur lesend. Mit dem Paketsniffer tcpdump steht auf der linux-Shell ein sehr leistungsfähiges&lt;br /&gt;
Werkzeug zur Trafficanalyse zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
Die Linux-Shell erreicht man ausschließlich über eine Textkonsole mit dem Benutzer „root“.&lt;br /&gt;
&lt;br /&gt;
==Tcpdump auf der root-Konsole==&lt;br /&gt;
&lt;br /&gt;
===Voraussetzungen===&lt;br /&gt;
Die Voraussetzungen zur Verwendung von tcpdump sind folgende:&lt;br /&gt;
*Ein User „root“ in der Gruppe Administrator&lt;br /&gt;
*Ein SSH-Client (z. B. PuTTY) oder eine lokale Konsole auf der Firewall&lt;br /&gt;
===Parameter zur Steuerung und Filterung===&lt;br /&gt;
Die Verwendung von tcpdump ohne Parameter würde einfach JEDES tcp/ip-Paket auf der Konsole&lt;br /&gt;
anzeigen. Es ist also notwendig, durch entsprechende Filterparameter ein Suchmuster vorzugeben.&lt;br /&gt;
Hier einige Beispiele:&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;-i&#039;&#039;&#039;&#039;&#039; definiert das Interface, an dem ein- oder ausgehende Pakete angezeigt werden sollen&lt;br /&gt;
Beispiel: tcpdump –i eth1&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;proto&#039;&#039;&#039;&#039;&#039; definiert die Protokollnummer auf Transportebene.&lt;br /&gt;
Beispiele:&lt;br /&gt;
 tcpdump –i eth1 proto 1 zeigt ICMP-Pakete&lt;br /&gt;
 tcpdump –i eth1 proto 6 zeigt TCP-Pakete&lt;br /&gt;
 tcpdump –i eth1 proto 17 zeigt UDP-Pakete&lt;br /&gt;
 tcpdump –i eth1 proto 50 zeigt ESP-Pakete&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;port&#039;&#039;&#039;&#039;&#039; definiert tcp- oder udp-ports.&lt;br /&gt;
Beispiel: tcpdump –i eth1 port 80&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;host&#039;&#039;&#039;&#039;&#039; definiert einen bestimmten Host mit seiner IP als Quelle oder Ziel.&lt;br /&gt;
Beispiel: tcpdump –i eth1 host 10.0.0.1&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;net&#039;&#039;&#039;&#039;&#039; definiert ein Netzwerk (Quelle oder Ziel)&lt;br /&gt;
Beispiel: tcpdump –i eth1 net 10.0.0.0/24&lt;br /&gt;
Darüber hinaus lassen sich Filterparameter mit logischen Operatoren verknüpfen. So können&lt;br /&gt;
folgendermaßen alle ICMP-Pakete für Host 10.0.0.10 angezeigt werden:&lt;br /&gt;
*tcpdump –i eth1 proto 1 and host 10.0.0.10&lt;br /&gt;
Weitere Steuerungsparameter sind beispielsweise:&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;-n&#039;&#039;&#039;&#039;&#039; verhindert, dass tcpdump versucht, einen reverse lookup auf IP-Adressen zu machen, um&lt;br /&gt;
Hostnamen anzuzeigen.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;-s&#039;&#039;&#039;&#039;&#039; legt fest, bis zu welcher Länge ein Paket mitgeschnitten wird. Mit dem Wert 0 wird das&lt;br /&gt;
komplette Paket mitgeschnitten.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;-w&#039;&#039;&#039;&#039;&#039; leitet die Ausgabe in eine Textdatei um. Diese kann dann mit einem Analysetool, z.B.&lt;br /&gt;
wireshark, weiter untersucht werden. Als Wert wird der Pfad der Textdatei angegeben, z.B.&lt;br /&gt;
/var/tcpdump.txt&lt;br /&gt;
&lt;br /&gt;
==Analyse von Traffic – Ein Beispiel==&lt;br /&gt;
&lt;br /&gt;
In unserem Beispiel haben wir zwei Netzwerke der Zentrale und eines Filialstandortes einer Firma,&lt;br /&gt;
deren Gateways diese Netze mittels eines IPSec-Tunnels miteinander verbinden. Die Zentrale hat&lt;br /&gt;
das interne Netzwerk 10.0.0.0/24 und die externe Adresse 198.51.100.75. Die Filiale hat das interne&lt;br /&gt;
Netzwerk 10.4.0.0/24 und die externe Adresse 198.51.100.4. Der Host 10.0.0.10 versucht, den&lt;br /&gt;
Host 10.4.0.10 zu erreichen, was aber misslingt. &amp;lt;br /&amp;gt;&lt;br /&gt;
===Initiator-Seite: Intern===&lt;br /&gt;
Wir beginnen unsere Analyse am internen Interface des Gateways der Zentrale. Dazu melden wir&lt;br /&gt;
uns per ssh als User „root“ dort an und führen folgendes Kommando aus:&lt;br /&gt;
root@zentrale:~# tcpdump –i eth1 proto 1 -n&lt;br /&gt;
Der Parameter „proto 1“ bezieht sich auf die Protokollnummer 1 des ICMP-Protokolls auf&lt;br /&gt;
Transportebene. Alternativ können wir auch nach Paketen suchen, die für das entfernte Subnetz&lt;br /&gt;
bestimmt sind:&lt;br /&gt;
root@zentrale:~# tcpdump –i eth1 net 10.4.0.0/24 –n&lt;br /&gt;
Versuchen wir jetzt zu „pingen“, zeigt sich folgendes Ergebnis:&lt;br /&gt;
 09:59:44.445502 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 09:59:49.847558 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 09:59:54.855574 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 09:59:59.861512 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
Daraus können wir ersehen, dass die Anfragen am internen Interface der zentralen Firewall&lt;br /&gt;
ankommen. Eine Antwort bleibt allerdings aus.&lt;br /&gt;
&lt;br /&gt;
===Initiator-Seite: Extern===&lt;br /&gt;
&lt;br /&gt;
Zur weiteren Verfolgung muss das ausgehende Interface der zentralen Firewall betrachtet werden.&lt;br /&gt;
Allerdings stellt sich hier ein Problem: Da wir an dieser Stelle den Transport der übertragenen Daten&lt;br /&gt;
nur in verschlüsselter Form betrachten können, bleibt uns das ICMP-Paket im Klartext verborgen –&lt;br /&gt;
und das sollte auch so sein. Wir können allerdings versuchen, eingehendes Klartext- und&lt;br /&gt;
ausgehendes verschlüsseltes Paket miteinander in Beziehung zu setzen. Wir starten dazu tcpdump&lt;br /&gt;
mit folgenden Parametern:&lt;br /&gt;
 &lt;br /&gt;
 root@zentrale:~# tcpdump –i any proto 1 or proto 50 -n&lt;br /&gt;
&lt;br /&gt;
Wir suchen an einer beliebigen Schnittstelle nach ICMP-Paketen oder nach verschlüsselten Paketen.&lt;br /&gt;
Das hierzu von IPSec verwendete Protokoll ESP hat auf der Transportebene die Protokollnummer 50.&lt;br /&gt;
Gibt es mehrere IPSec-Verbindungen auf dem Gateway, kann alternativ auch nach Paketen für das&lt;br /&gt;
entfernte Subnetz oder das entfernte Gateway gesucht werden:&lt;br /&gt;
&lt;br /&gt;
 root@zentrale:~# tcpdump –i any net 10.4.0.0/24 or host 198.51.100.4 –n&lt;br /&gt;
&lt;br /&gt;
Wir erhalten folgendes Ergebnis:&lt;br /&gt;
&lt;br /&gt;
 10:21:39.710743 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 10:21:39.710799 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x9), length 92&lt;br /&gt;
 10:21:45.056141 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 10:21:45.056235 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0xa), length 92&lt;br /&gt;
 10:21:50.065278 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 10:21:50.065332 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0xb), length 92&lt;br /&gt;
 10:21:55.075902 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
 10:21:55.075947 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0xc), length 92&lt;br /&gt;
&lt;br /&gt;
Wir sehen vier ICMP Echo Request-Pakete mit aufeinanderfolgenden Sequenznummern, denen&lt;br /&gt;
jeweils direkt ein ESP-Paket folgt. Diese ESP-Pakete haben ebenfalls aufeinanderfolgende&lt;br /&gt;
Sequenznummern. Daraus folgt, dass auf Seiten der zentralen Firewall alle Datenpakete für das&lt;br /&gt;
entfernte Subnetz verschlüsselt und an das entfernte Gateway geschickt werden.&lt;br /&gt;
&lt;br /&gt;
Möglicherweise bekommen wir allerdings folgendes Ergebnis:&lt;br /&gt;
&lt;br /&gt;
 10:58:15.436094 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 10:58:15.436127 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 10:58:20.810201 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 10:58:20.810230 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 10:58:25.820479 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 10:58:25.820533 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 10:58:30.830402 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
 10:58:30.830470 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
&lt;br /&gt;
Wir sehen jedes Paket zwei Mal, erkennbar an der gleichen Sequenznummer. Die zweite Version des&lt;br /&gt;
Pakets hat allerdings die IP des externen Interfaces als Quelle. Es erfolgte also ein HideNAT über die&lt;br /&gt;
externe Schnittstelle. In diesem Falle haben wir wahrscheinlich vergessen, innerhalb der&lt;br /&gt;
Portfilterregel vom eigenen in das entfernte Subnetz die HideNAT-Ausnahme zu setzen oder die&lt;br /&gt;
Option „Kein NAT für IPSec-Verbindungen“ in den impliziten Regeln zu aktivieren. Infolgedessen&lt;br /&gt;
wird das Paket, anstatt verschlüsselt in den IPSec-Tunnel zu gehen, geNATtet und in Richtung&lt;br /&gt;
Default Gateway geschickt.&lt;br /&gt;
&lt;br /&gt;
===Responder-Seite: Extern===&lt;br /&gt;
&lt;br /&gt;
Gehen wir davon aus, dass auf dem Gateway der Zentrale alles funktioniert, müssen wir weiter auf&lt;br /&gt;
dem Gateway der Filiale suchen. Zunächst vergewissern wir uns, dass die verschlüsselten Daten&lt;br /&gt;
auch an der Gegenstelle ankommen. Dass diese von der Zentrale aus abgeschickt werden, heisst&lt;br /&gt;
noch lange nicht, dass sie auch ankommen! Deshalb führen wir auf der SSH-Konsole auf der Filiale&lt;br /&gt;
folgendes Kommando aus:&lt;br /&gt;
root@standort-4:~# tcpdump –i eth0 proto 50 –n&lt;br /&gt;
Das Ergebnis ist folgende Ausgabe:&lt;br /&gt;
11:24:55.833742 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x45), length 92&lt;br /&gt;
11:25:00.890782 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x46), length 92&lt;br /&gt;
11:25:05.899056 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x47), length 92&lt;br /&gt;
11:25:10.908124 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x48), length 92&lt;br /&gt;
&lt;br /&gt;
===Responder-Seite: Intern===&lt;br /&gt;
&lt;br /&gt;
Wir können also sicher sein, dass die verschlüsselten Pakete auch am Gateway der Filiale&lt;br /&gt;
ankommen! Die letzte Etappe ist nun die interne Schnittstelle des Filial-Gateways. Hier schauen wir,&lt;br /&gt;
ob das ICMP-Paket auch ins interne Netz Richtung Zielhost geschickt wird:&lt;br /&gt;
root@standort-4:~# tcpdump –i eth1 proto 1 –n&lt;br /&gt;
Ist auch auf dem Gateway der Filiale in Bezug auf Portfilter-Regeln alles korrekt konfiguriert, sollte&lt;br /&gt;
sich folgende Ausgabe ergeben:&lt;br /&gt;
11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
Daraus können wir eindeutig ersehen, dass der Zielhost zumindestens online und physikalisch&lt;br /&gt;
erreichbar ist. Warum können wir uns da so sicher sein? Das wird deutlich, wenn wir uns die&lt;br /&gt;
Ausgabe anschauen, die wir erhalten, wenn wir anstatt des Protokolls ICMP einmal nach Paketen des&lt;br /&gt;
Zielhosts suchen:&lt;br /&gt;
root@standort-4:~# tcpdump –i eth1 host 10.4.0.10 –n&lt;br /&gt;
11:44:39.553889 ARP, Request who-has 10.4.0.10 tell 10.4.0.1, length 28&lt;br /&gt;
11:44:39.554212 ARP, Reply 10.4.0.10 is-at 08:00:27:e1:fd:ab, length 46&lt;br /&gt;
11:44:39.672145 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
11:44:44.682827 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
11:44:49.692773 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
11:44:49.699543 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
Wir sehen hier, dass vor unseren Pings vom Gateway ein ARP Request ins interne Netz gesendet&lt;br /&gt;
wird, mit dem die MAC-Adresse des Zielhosts ermittelt werden soll. Darauf erfolgt eine Antwort des&lt;br /&gt;
Zielhosts, in der er diese mitteilt. Erst dann können IP-Pakete an den Zielhost übermittelt werden.&lt;br /&gt;
Die Ergebnisse von ARP Requests werden in der Neighbour table, auch ARP-Cache genannt,&lt;br /&gt;
zwischengespeichert, so dass nicht für jedes IP-Paket ein neuer ARP Request durchgeführt werden&lt;br /&gt;
muss. Diesen können wir uns mit folgendem Kommando anschauen:&lt;br /&gt;
root@standort-4:~# ip n&lt;br /&gt;
Wir finden in der Ausgabe unter anderem einen Eintrag, der zu unserem Zielhost gehört:&lt;br /&gt;
10.4.0.10 dev eth1 lladdr 08:00:27:e1:fd:ab REACHABLE&lt;br /&gt;
Das beweist eindeutig, dass der Zielhost online und physikalisch erreichbar ist. Wäre er das nicht,&lt;br /&gt;
würde in der Neighbour table folgender Eintrag stehen:&lt;br /&gt;
10.4.0.10 dev eth1 FAILED&lt;br /&gt;
Sofern das Gateway zu mindestens VERSUCHT, ein Paket an den Zielhost zuzustellen, liegt der Fehler&lt;br /&gt;
nicht mehr innerhalb der Tunnel- oder Firewall-Konfiguration, sondern eindeutig am Zielhost.&lt;br /&gt;
Entweder sehen wir keine IP-Pakete, aber einen Eintrag in die Neighbour table, der uns anzeigt, dass&lt;br /&gt;
der Zielhost physikalisch nicht erreichbar ist. Oder wir sehen ein IP-Paket und können daraus&lt;br /&gt;
schließen, dass der Zielhost zwar physikalisch erreichbar ist, aber auf die Verbindungsanfrage aus&lt;br /&gt;
irgendwelchen Gründen nicht antwortet.&lt;br /&gt;
&lt;br /&gt;
===Mögliche Fehlerquellen auf dem Zielhost===&lt;br /&gt;
&lt;br /&gt;
Nachdem feststeht, dass der Fehler nur auf dem Zielhost liegen kann, müsste dieser auch dort&lt;br /&gt;
gefunden werden. Wir können den Fehler aber auch bereits auf dem Gateway auf Responder-Seite&lt;br /&gt;
weiter eingrenzen, wenn wir betrachten, ob und welche Pakete vom Zielhost zurückkommen:&lt;br /&gt;
root@standort-4:~# tcpdump –i eth1 host 10.4.0.10 -n&lt;br /&gt;
Sind nun ausschließlich die von der NextGen UTM ausgehenden Ping sichtbar, dann ist anzunehmen,&lt;br /&gt;
dass der Zielhost aufgrund einer aktiven lokalen Firewall nicht antwortet:&lt;br /&gt;
11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
Bei folgendem Fehlerbild kann von einer falsch gesetzten Subnetzmaske in der&lt;br /&gt;
Netzwerkkonfiguration des Zielhosts ausgegangen werden:&lt;br /&gt;
11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
Der Zielhost versucht, mit einer ARP-Anfrage die MAC-Adresse des Quellhosts zu ermitteln, als wäre&lt;br /&gt;
dieser im gleichen Subnetz. Das weist eindeutig auf eine fehlerhafte Subnetzmaske hin.&lt;br /&gt;
Selbst ein falsch gesetztes Default Gateway lässt sich so herausfinden:&lt;br /&gt;
11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
Hier versucht der Zielhost, die MAC-Adresse eines anderen Hosts im gleichen Subnetz zu finden. Da&lt;br /&gt;
diese Versuche reproduzierbar immer jeweils nach einem ICMP Echo Request-Paket zu sehen sind,&lt;br /&gt;
ist anzunehmen, dass er versucht, an diesen Host die Antwort zu schicken.&lt;br /&gt;
&lt;br /&gt;
===Weitere Diagnosemöglichkeiten bei tcp-Verbindungen===&lt;br /&gt;
&lt;br /&gt;
Über die reine Erreichbarkeit eines Hosts hinaus lassen sich noch weitere Aspekte einer Verbindung&lt;br /&gt;
untersuchen, wie zum Beispiel der korrekte Aufbau des TCP 3-Wege-Handshakes. Ist in der Antwort auf&lt;br /&gt;
das initiale Paket (SYN-Flag) das RST-Flag gesetzt, dann wird der Zielhost zwar erreicht, der&lt;br /&gt;
entsprechende Dienst ist aber nicht erreichbar:&lt;br /&gt;
root@standort-4:~# tcpdump -i eth1 port 3389 -n&lt;br /&gt;
14:24:14.433460 IP 10.0.0.10.50795 &amp;gt; 10.4.0.10.3389: Flags [S], seq 315479174, win 64240, options [mss&lt;br /&gt;
1341,nop,wscale 8,nop,nop,sackOK], length 0&lt;br /&gt;
14:24:14.433725 IP 10.4.0.10.3389 &amp;gt; 10.0.0.10.50795: Flags [R.], seq 0, ack 315479175, win 0, length 0&lt;br /&gt;
Noch viel tiefergehende Analysen des Datenstroms können erfolgen, wenn dieser komplett&lt;br /&gt;
mitgeschnitten und in einem Analysetool wie Wireshark untersucht wird:&lt;br /&gt;
root@standort-4:~# tcpdump -i eth1 port 25 -w /tmp/dump.txt -s 0 -n&lt;br /&gt;
tcpdump: listening on eth1, link-type EN10MB (Ethernet), capture size 262144 bytes&lt;br /&gt;
12 packets captured&lt;br /&gt;
12 packets received by filter&lt;br /&gt;
0 packets dropped by kernel&lt;br /&gt;
&lt;br /&gt;
==Fazit==&lt;br /&gt;
&lt;br /&gt;
Mit dem Packetsniffer tcpdump steht uns ein schier unsagbar mächtiges Werkzeug zur Analyse von&lt;br /&gt;
tcp/ip-Verbindungen zur Verfügung. Die unglaubliche Flexibilität bringt allerdings auch eine nicht zu&lt;br /&gt;
unterschätzende Komplexität mit sich. Glücklicherweise lassen sich die meisten Aufgaben mit einer&lt;br /&gt;
recht überschaubaren Anzahl von Optionen lösen.&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://wiki.securepoint.de/index.php?title=UTM/Extras/ipsec_fehleranalyse&amp;diff=19057</id>
		<title>UTM/Extras/ipsec fehleranalyse</title>
		<link rel="alternate" type="text/html" href="https://wiki.securepoint.de/index.php?title=UTM/Extras/ipsec_fehleranalyse&amp;diff=19057"/>
		<updated>2018-09-03T13:44:33Z</updated>

		<summary type="html">&lt;p&gt;Jan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE: IPSEC Fehler }}&lt;br /&gt;
== Informationen ==&lt;br /&gt;
Letze Anpassung zur Version: &#039;&#039;&#039;11.7.9&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Vorherige Versionen: -&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Vorwort==&lt;br /&gt;
Falls eine TCP/IP-Verbindung mal nicht funktioniert, bietet die Firewall einige Möglichkeiten, dem Fehler&lt;br /&gt;
auf die Spur zu kommen. Konkret gibt es drei Level der Analyse, die immer tiefer in das System&lt;br /&gt;
hinabsteigen. Das oberste Level ist über das Webinterface erreichbar, die unteren Levels benötigen eine&lt;br /&gt;
Textkonsole, entweder über SSH oder lokal am Gerät.&lt;br /&gt;
&lt;br /&gt;
===Level 1: Livelog===&lt;br /&gt;
Das Livelog zeigt neben Applikationsmeldungen auch Meldungen des Paketfilters an. Standardmäßig ist&lt;br /&gt;
allerdings nur zu sehen, wenn die Default Policy Pakete verwirft, für die es keine passende FirewallRegel&lt;br /&gt;
gibt. Es läßt sich aber für jede Firewall-Regel das Logging konfigurieren, so daß auch ein Eintrag&lt;br /&gt;
erscheint, wenn diese Regel greift. &amp;lt;br /&amp;gt;&lt;br /&gt;
Dadurch ergeben sich in der Fehlersuche drei Möglichkeiten: &amp;lt;br /&amp;gt;&lt;br /&gt;
#Das gesuchte Paket taucht auf und es wird verworfen (DROP)&lt;br /&gt;
#Das gesuchte Paket taucht auf und es wird akzeptiert (ACCEPT)&lt;br /&gt;
#Das gesuchte Paket taucht nicht auf&lt;br /&gt;
&amp;lt;br /&amp;gt;Dadurch kann die Fehlerursache zumindest grob lokalisiert werden: &amp;lt;br /&amp;gt;&lt;br /&gt;
#Wenn ein Paket verworfen wird, fehlt die passende FW-Regel, sie ist inkorrekt formuliert oder noch nicht wirksam (Regelwerk noch nicht aktualisiert)&lt;br /&gt;
#Wenn ein Paket angenommen wird, dann liegt der Fehler eher in Richtung Zielhost.&lt;br /&gt;
#Ist kein Paket im Livelog sichtbar, dann kommt vermutlich auch keins an der Firewall an. Der&lt;br /&gt;
Fehler ist hier also eher in Richtung Quellhost zu suchen.&lt;br /&gt;
&lt;br /&gt;
===Level 2: CLI===&lt;br /&gt;
Das CLI (Command Line Interface) stellt die Schnittstelle zum Firewall-Server dar, welche zum einen&lt;br /&gt;
vom Webinterface genutzt wird, zum anderen auch auf der Konsole zur manuellen Konfiguration der&lt;br /&gt;
Firewall gnutzt werden kann. Für die Fehlersuche bei Verbindungsproblemen ist das CLI allerdings nur&lt;br /&gt;
on begrenztem Nutzen.&lt;br /&gt;
&lt;br /&gt;
Das CLI kann über das Webinterface oder über eine Textkonsole erreicht werden. Dazu ist ein Benutzer&lt;br /&gt;
mit Administrationsrechten notwendig.&lt;br /&gt;
&lt;br /&gt;
===Level 3: Linux-Shell===&lt;br /&gt;
Die Linux-Shell greift auf das zugrundeliegende Betriebssystem zurück. Man erhält Zugriff auf viele&lt;br /&gt;
Systemparameter, die über das Webinterface oder das CLI nicht zugänglich sind – wenn auch&lt;br /&gt;
zumeist nur lesend. Mit dem Paketsniffer tcpdump steht auf der linux-Shell ein sehr leistungsfähiges&lt;br /&gt;
Werkzeug zur Trafficanalyse zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
Die Linux-Shell erreicht man ausschließlich über eine Textkonsole mit dem Benutzer „root“.&lt;br /&gt;
&lt;br /&gt;
==Tcpdump auf der root-Konsole==&lt;br /&gt;
&lt;br /&gt;
===Voraussetzungen===&lt;br /&gt;
Die Voraussetzungen zur Verwendung von tcpdump sind folgende:&lt;br /&gt;
*Ein User „root“ in der Gruppe Administrator&lt;br /&gt;
*Ein SSH-Client (z. B. PuTTY) oder eine lokale Konsole auf der Firewall&lt;br /&gt;
===Parameter zur Steuerung und Filterung===&lt;br /&gt;
Die Verwendung von tcpdump ohne Parameter würde einfach JEDES tcp/ip-Paket auf der Konsole&lt;br /&gt;
anzeigen. Es ist also notwendig, durch entsprechende Filterparameter ein Suchmuster vorzugeben.&lt;br /&gt;
Hier einige Beispiele:&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;-i&#039;&#039;&#039;&#039;&#039; definiert das Interface, an dem ein- oder ausgehende Pakete angezeigt werden sollen&lt;br /&gt;
Beispiel: tcpdump –i eth1&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;proto&#039;&#039;&#039;&#039;&#039; definiert die Protokollnummer auf Transportebene.&lt;br /&gt;
Beispiele:&lt;br /&gt;
 tcpdump –i eth1 proto 1 zeigt ICMP-Pakete&lt;br /&gt;
 tcpdump –i eth1 proto 6 zeigt TCP-Pakete&lt;br /&gt;
 tcpdump –i eth1 proto 17 zeigt UDP-Pakete&lt;br /&gt;
 tcpdump –i eth1 proto 50 zeigt ESP-Pakete&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;port&#039;&#039;&#039;&#039;&#039; definiert tcp- oder udp-ports.&lt;br /&gt;
Beispiel: tcpdump –i eth1 port 80&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;host&#039;&#039;&#039;&#039;&#039; definiert einen bestimmten Host mit seiner IP als Quelle oder Ziel.&lt;br /&gt;
Beispiel: tcpdump –i eth1 host 10.0.0.1&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;net&#039;&#039;&#039;&#039;&#039; definiert ein Netzwerk (Quelle oder Ziel)&lt;br /&gt;
Beispiel: tcpdump –i eth1 net 10.0.0.0/24&lt;br /&gt;
Darüber hinaus lassen sich Filterparameter mit logischen Operatoren verknüpfen. So können&lt;br /&gt;
folgendermaßen alle ICMP-Pakete für Host 10.0.0.10 angezeigt werden:&lt;br /&gt;
*tcpdump –i eth1 proto 1 and host 10.0.0.10&lt;br /&gt;
Weitere Steuerungsparameter sind beispielsweise:&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;-n&#039;&#039;&#039;&#039;&#039; verhindert, dass tcpdump versucht, einen reverse lookup auf IP-Adressen zu machen, um&lt;br /&gt;
Hostnamen anzuzeigen.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;-s&#039;&#039;&#039;&#039;&#039; legt fest, bis zu welcher Länge ein Paket mitgeschnitten wird. Mit dem Wert 0 wird das&lt;br /&gt;
komplette Paket mitgeschnitten.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;-w&#039;&#039;&#039;&#039;&#039; leitet die Ausgabe in eine Textdatei um. Diese kann dann mit einem Analysetool, z.B.&lt;br /&gt;
wireshark, weiter untersucht werden. Als Wert wird der Pfad der Textdatei angegeben, z.B.&lt;br /&gt;
/var/tcpdump.txt&lt;br /&gt;
&lt;br /&gt;
==Analyse von Traffic – Ein Beispiel==&lt;br /&gt;
&lt;br /&gt;
In unserem Beispiel haben wir zwei Netzwerke der Zentrale und eines Filialstandortes einer Firma,&lt;br /&gt;
deren Gateways diese Netze mittels eines IPSec-Tunnels miteinander verbinden. Die Zentrale hat&lt;br /&gt;
das interne Netzwerk 10.0.0.0/24 und die externe Adresse 198.51.100.75. Die Filiale hat das interne&lt;br /&gt;
Netzwerk 10.4.0.0/24 und die externe Adresse 198.51.100.4. Der Host 10.0.0.10 versucht, den&lt;br /&gt;
Host 10.4.0.10 zu erreichen, was aber misslingt. &amp;lt;br /&amp;gt;&lt;br /&gt;
===Initiator-Seite: Intern===&lt;br /&gt;
Wir beginnen unsere Analyse am internen Interface des Gateways der Zentrale. Dazu melden wir&lt;br /&gt;
uns per ssh als User „root“ dort an und führen folgendes Kommando aus:&lt;br /&gt;
root@zentrale:~# tcpdump –i eth1 proto 1 -n&lt;br /&gt;
Der Parameter „proto 1“ bezieht sich auf die Protokollnummer 1 des ICMP-Protokolls auf&lt;br /&gt;
Transportebene. Alternativ können wir auch nach Paketen suchen, die für das entfernte Subnetz&lt;br /&gt;
bestimmt sind:&lt;br /&gt;
root@zentrale:~# tcpdump –i eth1 net 10.4.0.0/24 –n&lt;br /&gt;
Versuchen wir jetzt zu „pingen“, zeigt sich folgendes Ergebnis:&lt;br /&gt;
 09:59:44.445502 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
 09:59:49.847558 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
 09:59:54.855574 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
 09:59:59.861512 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
Daraus können wir ersehen, dass die Anfragen am internen Interface der zentralen Firewall&lt;br /&gt;
ankommen. Eine Antwort bleibt allerdings aus.&lt;br /&gt;
&lt;br /&gt;
===Initiator-Seite: Extern===&lt;br /&gt;
&lt;br /&gt;
Zur weiteren Verfolgung muss das ausgehende Interface der zentralen Firewall betrachtet werden.&lt;br /&gt;
Allerdings stellt sich hier ein Problem: Da wir an dieser Stelle den Transport der übertragenen Daten&lt;br /&gt;
nur in verschlüsselter Form betrachten können, bleibt uns das ICMP-Paket im Klartext verborgen –&lt;br /&gt;
und das sollte auch so sein. Wir können allerdings versuchen, eingehendes Klartext- und&lt;br /&gt;
ausgehendes verschlüsseltes Paket miteinander in Beziehung zu setzen. Wir starten dazu tcpdump&lt;br /&gt;
mit folgenden Parametern:&lt;br /&gt;
root@zentrale:~# tcpdump –i any proto 1 or proto 50 -n&lt;br /&gt;
&lt;br /&gt;
Wir suchen an einer beliebigen Schnittstelle nach ICMP-Paketen oder nach verschlüsselten Paketen.&lt;br /&gt;
Das hierzu von IPSec verwendete Protokoll ESP hat auf der Transportebene die Protokollnummer 50.&lt;br /&gt;
Gibt es mehrere IPSec-Verbindungen auf dem Gateway, kann alternativ auch nach Paketen für das&lt;br /&gt;
entfernte Subnetz oder das entfernte Gateway gesucht werden:&lt;br /&gt;
root@zentrale:~# tcpdump –i any net 10.4.0.0/24 or host 198.51.100.4 –n&lt;br /&gt;
Wir erhalten folgendes Ergebnis:&lt;br /&gt;
10:21:39.710743 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
10:21:39.710799 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x9), length 92&lt;br /&gt;
10:21:45.056141 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
10:21:45.056235 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0xa), length 92&lt;br /&gt;
10:21:50.065278 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
10:21:50.065332 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0xb), length 92&lt;br /&gt;
10:21:55.075902 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
10:21:55.075947 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0xc), length 92&lt;br /&gt;
Wir sehen vier ICMP Echo Request-Pakete mit aufeinanderfolgenden Sequenznummern, denen&lt;br /&gt;
jeweils direkt ein ESP-Paket folgt. Diese ESP-Pakete haben ebenfalls aufeinanderfolgende&lt;br /&gt;
Sequenznummern. Daraus folgt, dass auf Seiten der zentralen Firewall alle Datenpakete für das&lt;br /&gt;
entfernte Subnetz verschlüsselt und an das entfernte Gateway geschickt werden.&lt;br /&gt;
Möglicherweise bekommen wir allerdings folgendes Ergebnis:&lt;br /&gt;
10:58:15.436094 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
10:58:15.436127 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
10:58:20.810201 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
10:58:20.810230 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
10:58:25.820479 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
10:58:25.820533 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
10:58:30.830402 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
10:58:30.830470 IP 198.51.100.75 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
Wir sehen jedes Paket zwei Mal, erkennbar an der gleichen Sequenznummer. Die zweite Version des&lt;br /&gt;
Pakets hat allerdings die IP des externen Interfaces als Quelle. Es erfolgte also ein HideNAT über die&lt;br /&gt;
externe Schnittstelle. In diesem Falle haben wir wahrscheinlich vergessen, innerhalb der&lt;br /&gt;
Portfilterregel vom eigenen in das entfernte Subnetz die HideNAT-Ausnahme zu setzen oder die&lt;br /&gt;
Option „Kein NAT für IPSec-Verbindungen“ in den impliziten Regeln zu aktivieren. Infolgedessen&lt;br /&gt;
wird das Paket, anstatt verschlüsselt in den IPSec-Tunnel zu gehen, geNATtet und in Richtung&lt;br /&gt;
Default Gateway geschickt.&lt;br /&gt;
&lt;br /&gt;
===Responder-Seite: Extern===&lt;br /&gt;
&lt;br /&gt;
Gehen wir davon aus, dass auf dem Gateway der Zentrale alles funktioniert, müssen wir weiter auf&lt;br /&gt;
dem Gateway der Filiale suchen. Zunächst vergewissern wir uns, dass die verschlüsselten Daten&lt;br /&gt;
auch an der Gegenstelle ankommen. Dass diese von der Zentrale aus abgeschickt werden, heisst&lt;br /&gt;
noch lange nicht, dass sie auch ankommen! Deshalb führen wir auf der SSH-Konsole auf der Filiale&lt;br /&gt;
folgendes Kommando aus:&lt;br /&gt;
root@standort-4:~# tcpdump –i eth0 proto 50 –n&lt;br /&gt;
Das Ergebnis ist folgende Ausgabe:&lt;br /&gt;
11:24:55.833742 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x45), length 92&lt;br /&gt;
11:25:00.890782 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x46), length 92&lt;br /&gt;
11:25:05.899056 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x47), length 92&lt;br /&gt;
11:25:10.908124 IP 198.51.100.75 &amp;gt; 198.51.100.4: ESP(spi=0xc155682b,seq=0x48), length 92&lt;br /&gt;
&lt;br /&gt;
===Responder-Seite: Intern===&lt;br /&gt;
&lt;br /&gt;
Wir können also sicher sein, dass die verschlüsselten Pakete auch am Gateway der Filiale&lt;br /&gt;
ankommen! Die letzte Etappe ist nun die interne Schnittstelle des Filial-Gateways. Hier schauen wir,&lt;br /&gt;
ob das ICMP-Paket auch ins interne Netz Richtung Zielhost geschickt wird:&lt;br /&gt;
root@standort-4:~# tcpdump –i eth1 proto 1 –n&lt;br /&gt;
Ist auch auf dem Gateway der Filiale in Bezug auf Portfilter-Regeln alles korrekt konfiguriert, sollte&lt;br /&gt;
sich folgende Ausgabe ergeben:&lt;br /&gt;
11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
Daraus können wir eindeutig ersehen, dass der Zielhost zumindestens online und physikalisch&lt;br /&gt;
erreichbar ist. Warum können wir uns da so sicher sein? Das wird deutlich, wenn wir uns die&lt;br /&gt;
Ausgabe anschauen, die wir erhalten, wenn wir anstatt des Protokolls ICMP einmal nach Paketen des&lt;br /&gt;
Zielhosts suchen:&lt;br /&gt;
root@standort-4:~# tcpdump –i eth1 host 10.4.0.10 –n&lt;br /&gt;
11:44:39.553889 ARP, Request who-has 10.4.0.10 tell 10.4.0.1, length 28&lt;br /&gt;
11:44:39.554212 ARP, Reply 10.4.0.10 is-at 08:00:27:e1:fd:ab, length 46&lt;br /&gt;
11:44:39.672145 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
11:44:44.682827 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
11:44:49.692773 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
11:44:49.699543 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
Wir sehen hier, dass vor unseren Pings vom Gateway ein ARP Request ins interne Netz gesendet&lt;br /&gt;
wird, mit dem die MAC-Adresse des Zielhosts ermittelt werden soll. Darauf erfolgt eine Antwort des&lt;br /&gt;
Zielhosts, in der er diese mitteilt. Erst dann können IP-Pakete an den Zielhost übermittelt werden.&lt;br /&gt;
Die Ergebnisse von ARP Requests werden in der Neighbour table, auch ARP-Cache genannt,&lt;br /&gt;
zwischengespeichert, so dass nicht für jedes IP-Paket ein neuer ARP Request durchgeführt werden&lt;br /&gt;
muss. Diesen können wir uns mit folgendem Kommando anschauen:&lt;br /&gt;
root@standort-4:~# ip n&lt;br /&gt;
Wir finden in der Ausgabe unter anderem einen Eintrag, der zu unserem Zielhost gehört:&lt;br /&gt;
10.4.0.10 dev eth1 lladdr 08:00:27:e1:fd:ab REACHABLE&lt;br /&gt;
Das beweist eindeutig, dass der Zielhost online und physikalisch erreichbar ist. Wäre er das nicht,&lt;br /&gt;
würde in der Neighbour table folgender Eintrag stehen:&lt;br /&gt;
10.4.0.10 dev eth1 FAILED&lt;br /&gt;
Sofern das Gateway zu mindestens VERSUCHT, ein Paket an den Zielhost zuzustellen, liegt der Fehler&lt;br /&gt;
nicht mehr innerhalb der Tunnel- oder Firewall-Konfiguration, sondern eindeutig am Zielhost.&lt;br /&gt;
Entweder sehen wir keine IP-Pakete, aber einen Eintrag in die Neighbour table, der uns anzeigt, dass&lt;br /&gt;
der Zielhost physikalisch nicht erreichbar ist. Oder wir sehen ein IP-Paket und können daraus&lt;br /&gt;
schließen, dass der Zielhost zwar physikalisch erreichbar ist, aber auf die Verbindungsanfrage aus&lt;br /&gt;
irgendwelchen Gründen nicht antwortet.&lt;br /&gt;
&lt;br /&gt;
===Mögliche Fehlerquellen auf dem Zielhost===&lt;br /&gt;
&lt;br /&gt;
Nachdem feststeht, dass der Fehler nur auf dem Zielhost liegen kann, müsste dieser auch dort&lt;br /&gt;
gefunden werden. Wir können den Fehler aber auch bereits auf dem Gateway auf Responder-Seite&lt;br /&gt;
weiter eingrenzen, wenn wir betrachten, ob und welche Pakete vom Zielhost zurückkommen:&lt;br /&gt;
root@standort-4:~# tcpdump –i eth1 host 10.4.0.10 -n&lt;br /&gt;
Sind nun ausschließlich die von der NextGen UTM ausgehenden Ping sichtbar, dann ist anzunehmen,&lt;br /&gt;
dass der Zielhost aufgrund einer aktiven lokalen Firewall nicht antwortet:&lt;br /&gt;
11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
Bei folgendem Fehlerbild kann von einer falsch gesetzten Subnetzmaske in der&lt;br /&gt;
Netzwerkkonfiguration des Zielhosts ausgegangen werden:&lt;br /&gt;
11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.0.0.10 tell 10.4.0.10, length 28&lt;br /&gt;
Der Zielhost versucht, mit einer ARP-Anfrage die MAC-Adresse des Quellhosts zu ermitteln, als wäre&lt;br /&gt;
dieser im gleichen Subnetz. Das weist eindeutig auf eine fehlerhafte Subnetzmaske hin.&lt;br /&gt;
Selbst ein falsch gesetztes Default Gateway lässt sich so herausfinden:&lt;br /&gt;
11:32:11.592831 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 1, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:16.733971 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 2, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:21.742500 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 3, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
11:32:26.753739 IP 10.0.0.10 &amp;gt; 10.4.0.10: ICMP echo request, id 512, seq 4, length 40&lt;br /&gt;
11:32:39.553889 ARP, Request who-has 10.4.0.254 tell 10.4.0.10, length 28&lt;br /&gt;
Hier versucht der Zielhost, die MAC-Adresse eines anderen Hosts im gleichen Subnetz zu finden. Da&lt;br /&gt;
diese Versuche reproduzierbar immer jeweils nach einem ICMP Echo Request-Paket zu sehen sind,&lt;br /&gt;
ist anzunehmen, dass er versucht, an diesen Host die Antwort zu schicken.&lt;br /&gt;
&lt;br /&gt;
===Weitere Diagnosemöglichkeiten bei tcp-Verbindungen===&lt;br /&gt;
&lt;br /&gt;
Über die reine Erreichbarkeit eines Hosts hinaus lassen sich noch weitere Aspekte einer Verbindung&lt;br /&gt;
untersuchen, wie zum Beispiel der korrekte Aufbau des TCP 3-Wege-Handshakes. Ist in der Antwort auf&lt;br /&gt;
das initiale Paket (SYN-Flag) das RST-Flag gesetzt, dann wird der Zielhost zwar erreicht, der&lt;br /&gt;
entsprechende Dienst ist aber nicht erreichbar:&lt;br /&gt;
root@standort-4:~# tcpdump -i eth1 port 3389 -n&lt;br /&gt;
14:24:14.433460 IP 10.0.0.10.50795 &amp;gt; 10.4.0.10.3389: Flags [S], seq 315479174, win 64240, options [mss&lt;br /&gt;
1341,nop,wscale 8,nop,nop,sackOK], length 0&lt;br /&gt;
14:24:14.433725 IP 10.4.0.10.3389 &amp;gt; 10.0.0.10.50795: Flags [R.], seq 0, ack 315479175, win 0, length 0&lt;br /&gt;
Noch viel tiefergehende Analysen des Datenstroms können erfolgen, wenn dieser komplett&lt;br /&gt;
mitgeschnitten und in einem Analysetool wie Wireshark untersucht wird:&lt;br /&gt;
root@standort-4:~# tcpdump -i eth1 port 25 -w /tmp/dump.txt -s 0 -n&lt;br /&gt;
tcpdump: listening on eth1, link-type EN10MB (Ethernet), capture size 262144 bytes&lt;br /&gt;
12 packets captured&lt;br /&gt;
12 packets received by filter&lt;br /&gt;
0 packets dropped by kernel&lt;br /&gt;
&lt;br /&gt;
==Fazit==&lt;br /&gt;
&lt;br /&gt;
Mit dem Packetsniffer tcpdump steht uns ein schier unsagbar mächtiges Werkzeug zur Analyse von&lt;br /&gt;
tcp/ip-Verbindungen zur Verfügung. Die unglaubliche Flexibilität bringt allerdings auch eine nicht zu&lt;br /&gt;
unterschätzende Komplexität mit sich. Glücklicherweise lassen sich die meisten Aufgaben mit einer&lt;br /&gt;
recht überschaubaren Anzahl von Optionen lösen.&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
</feed>