<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Netzwerk und Sicherheit Archive - Maximilian Krieg</title>
	<atom:link href="https://maximiliankrieg.de/category/technik/netzwerk-und-sicherheit/feed/" rel="self" type="application/rss+xml" />
	<link>https://maximiliankrieg.de/category/technik/netzwerk-und-sicherheit/</link>
	<description>Wissen, Technik &#38; Erfahrungen</description>
	<lastBuildDate>Mon, 15 Jun 2026 11:15:36 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://maximiliankrieg.de/wp-content/uploads/2026/05/cropped-20260524_logo_2_512-2-32x32.png</url>
	<title>Netzwerk und Sicherheit Archive - Maximilian Krieg</title>
	<link>https://maximiliankrieg.de/category/technik/netzwerk-und-sicherheit/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Cisco &#8211; Err-Disabled-Status</title>
		<link>https://maximiliankrieg.de/2026/05/cisco-err-disabled-status/</link>
					<comments>https://maximiliankrieg.de/2026/05/cisco-err-disabled-status/#respond</comments>
		
		<dc:creator><![CDATA[Maximilian]]></dc:creator>
		<pubDate>Fri, 22 May 2026 18:00:00 +0000</pubDate>
				<category><![CDATA[Netzwerk und Sicherheit]]></category>
		<category><![CDATA[Cisco]]></category>
		<category><![CDATA[err-disabled]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[port]]></category>
		<category><![CDATA[switch]]></category>
		<guid isPermaLink="false">https://maximiliankrieg.de/?p=2127</guid>

					<description><![CDATA[<p>Bei Cisco-Switches kann es passieren, dass ein Port plötzlich nicht mehr arbeitet und im Status err-disabled landet. Der Port wird dabei automatisch deaktiviert, um das&#8230;</p>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2026/05/cisco-err-disabled-status/">Cisco &#8211; Err-Disabled-Status</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Bei Cisco-Switches kann es passieren, dass ein Port plötzlich nicht mehr arbeitet und im Status <code>err-disabled</code> landet. Der Port wird dabei automatisch deaktiviert, um das Netzwerk vor Problemen wie Schleifen, Fehlkonfigurationen oder Hardwarefehlern zu schützen. In diesem Artikel möchte ich kurz auf die Bedeutung der Schutzfunktion eingehen, wie man sie erkennt, die Ursachen bewertet und den Port wieder reaktiviert.</p>



<h2 class="wp-block-heading">Einleitung</h2>



<p class="wp-block-paragraph">Der Zustand <code>err-disable</code> ist ein Schutzmechanismus von Cisco-Switches. Erkennt der Switch ein kritisches Problem auf einem Port, wird dieser in den Status err-disabled gesetzt und automatisch administrativ deaktiviert.  Der Port  verarbeitet ab diesem Zustand keinen Traffic mehr. Im Gegensatz zu einem normalen <code>shutdown </code>wurde der Port dabei nicht manuell, sondern durch eine interne Schutzfunktion deaktiviert. </p>



<p class="wp-block-paragraph">Für Außenstehende wirkt das oft zunächst wie ein kaputter Port, tatsächlich handelt es sich aber im Regelfall um eine bewusst ausgelöste Sicherheits- oder Schutzfunktion. Häufig tritt dann der Fall ein, dass mehrere Ports am Switch getestet werden und somit eine große Zahl an Ports unabsichtlich gesperrt werden.</p>



<p class="wp-block-paragraph"><strong>Typische Symptome</strong></p>



<ul class="wp-block-list">
<li>Geräte verlieren plötzlich die Verbindung</li>



<li>Der Link scheint „down“</li>



<li>LEDs verhalten sich ungewöhnlich</li>



<li>Der Port erscheint im Status <code>err-disabled</code></li>
</ul>



<pre class="wp-block-code"><code>Switch# show interface status

Port       Name        Status         Vlan
Gi1/0/1                err-disabled   10</code></pre>



<h3 class="wp-block-heading">Ziel und Zweck</h3>



<p class="wp-block-paragraph">Der err-disabled-Status ist also in vielen Fällen ein Schutzmechanismus für das gesamte Netzwerk.</p>



<ul class="wp-block-list">
<li>Netzwerkschleifen verhindern</li>



<li>Broadcast-Stürme verhindern</li>



<li>Fehlkonfigurationen erkennen</li>



<li>Port-Security-Verstöße</li>



<li>Hardwareprobleme isolieren </li>
</ul>



<h3 class="wp-block-heading">Ursachen</h3>



<figure class="wp-block-table"><table><thead><tr><th>Ursache</th><th>Beschreibung</th></tr></thead><tbody><tr><td>Port-Security</td><td>Ein Port wurde limitiert nur eine MAC-Adresse gleichzeitig besitzen zu dürfen. Es wird nun ein Gerät angeschlossen, dass mehrere MAC-Adressen hat oder mehrere Geräte sternförmig oder kaskadiert verbindet. Dadurch sind mehrere Geräte am gleichen Port zu sehen.</td></tr><tr><td>BPDU Guard</td><td>Sobald an einem BPDU-Guard aktivierten Port STP-BPDUs auftauchen, geht der Switch davon aus, dass jemand einen anderen Switch angeschlossen hat, der eine Schleife erzeugen könnte oder die Netzwerktopologie ungewollt verändert.</td></tr><tr><td>EtherChannel Fehlkonfigurationen<br></td><td>Falsche EtherChannel-Konfigurationen können ebenfalls err-disabled auslösen. Typische Ursachen sind unterschiedliche tagged oder native VLAN oder unterschiedliche Channel-Protokolle.</td></tr><tr><td>UDLD (Unidirectional Link Detection)</td><td>UDLD erkennt einseitige Leitungsprobleme, wie TX funktioniert, aber RX funktioniert nicht. Dies ist besonders bei Protokollen wichtig, die zur Topologieerkennung genutzt werden.</td></tr><tr><td>Loopback-Erkennung</td><td>Ein Patchkabel verbindet zwei Ports desselben Switches, die Frames laufen im Kreis und Broadcast-Storm entsteht. Dies würde auch gelten, wenn die Schleife über ein Gerät läuft, welches die zur Loopback-Erkennung genutzten Frames weiterleitet.</td></tr><tr><td>Sicherheitsfunktionen</td><td>Verstöße gegen Mechanismen wie DHCP Snooping oder  Dynamic ARP Inspection können je nach Konfiguration ebenfalls Ports deaktivieren.</td></tr><tr><td>Link- oder Hardwarefehler</td><td>Beispiele:<br>Defekte SFPs<br>Fehlerhafte Netzwerkkarten<br>Kabelprobleme<br>CRC-Fehler<br>Duplex-Mismatch</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">Diagnose</h2>



<h3 class="wp-block-heading">Prüfung der Err-Disabled-Konfiguration</h3>



<p class="wp-block-paragraph"><code>show errdisable detect </code>zeigt die aktuellen Einstellungen der Errdisable-Erkennung sowie, falls sich Ports derzeit im err-disabled-State befinden, den jeweiligen Grund für die automatische Deaktivierung des Ports an.</p>



<pre class="wp-block-code"><code>Switch# <span style="background-color: initial; font-family: inherit; font-size: inherit; text-align: initial;">show errdisable detect</span>
ErrDisable Reason             Detection Mode
-----------------             --------- ----
arp-inspection                Enabled  port
bpduguard                     Enabled  port
channel-misconfig             Enabled  port
community-limit               Enabled  port
dhcp-rate-limit               Enabled  port
dtp-flap                      Enabled  port
evpn-mh-core-isolation        Enabled  port
gbic-invalid                  Enabled  port
iif-reg-failure               Enabled  port
inline-power                  Enabled  port
invalid-policy                Enabled  port
l2ptguard                     Enabled  port
link-flap                     Enabled  port
link-monitor-failure          Enabled  port
loopback                      Enabled  port
loopdetect                    Enabled  port
lsgroup                       Enabled  port
oam-remote-failure            Enabled  port
mac-limit                     Enabled  port
pagp-flap                     Enabled  port
port-mode-failure             Enabled  port
pppoe-ia-rate-limit           Enabled  port
psecure-violation             Enabled  port/vlan
security-violation            Enabled  port
sfp-config-mismatch           Enabled  port
sgacl_limitation:enforcem     Enabled  port
sgacl_limitation:multiple     Enabled  port
storm-control                 Enabled  port
udld                          Enabled  port
psp                           Enabled  port
dual-active-recovery          Enabled  port
evc-lite input mapping fa     Enabled  port
vsl-and-non-vsl-port-pair     Enabled  port
fasthello-and-non-fasthel     Enabled  port
mvrp                          Enabled  port
mrp-miscabling                Enabled  port</code></pre>



<p class="wp-block-paragraph"><code>show errdisable recovery</code> zeigt den Zeitraum an, nach dem Ports bei bestimmten Errdisable-Ursachen automatisch wieder aktiviert werden. Außerdem werden die konfigurierten Errdisable-Recovery-Mechanismen angezeigt.</p>



<pre class="wp-block-code"><code>Switch# <span style="background-color: initial; font-family: inherit; font-size: inherit; text-align: initial;">show errdisable recovery</span>

ErrDisable Reason              Timer Status
-----------------              --------------
arp-inspection                 Disabled
bpduguard                      Disabled
channel-misconfig              Disabled
dhcp-rate-limit                Disabled
dtp-flap                       Disabled
evpn-mh-core-isolation         Disabled
gbic-invalid                   Disabled
inline-power                   Disabled
l2ptguard                      Disabled
link-flap                      Enabled
mac-limit                      Disabled
link-monitor-failure           Disabled
loopback                       Disabled
loopdetect                     Disabled
oam-remote-failure             Disabled
pagp-flap                      Disabled
port-mode-failure              Disabled
pppoe-ia-rate-limit            Disabled
psecure-violation              Disabled
security-violation             Disabled
sfp-config-mismatch            Disabled
storm-control                  Enabled
udld                           Enabled
psp                            Disabled
dual-active-recovery           Disabled
evc-lite input mapping fa      Disabled
mrp-miscabling                 Disabled

Timer interval: 900 seconds

Interfaces that will be enabled at the next timeout:</code></pre>



<h3 class="wp-block-heading">Status des Ports prüfen</h3>



<p class="wp-block-paragraph">Zunächst sollte geprüft werden, in welchem Zustand sich die Ports befinden.<br>Mit folgendem Befehl erhält man eine Übersicht aller Ports und deren aktuellen Status:</p>



<pre class="wp-block-code"><code>Switch# show interface status</code></pre>



<p class="wp-block-paragraph">Oder man lässt sich einen Port im Detail anzeigen.</p>



<pre class="wp-block-code"><code>Switch# show interface Gi1/0/1</code></pre>



<p class="wp-block-paragraph">Dabei lassen sich unter anderem folgende Zustände erkennen:</p>



<ul class="wp-block-list">
<li>err-disabled</li>



<li>connected</li>



<li>notconnect</li>



<li>disabled</li>
</ul>



<h3 class="wp-block-heading">Err-disabled Ports gezielt anzeigen</h3>



<p class="wp-block-paragraph">Um ausschließlich Ports im err-disabled-Status inklusive Ursache anzuzeigen, kann folgender Befehl verwendet werden:</p>



<pre class="wp-block-code"><code>Switch# show interfaces status err-disabled

Port      Name        Status         Reason                Vlans
Gi1/0/1   ERRORPORT   err-disabled   psecure-violation     10</code></pre>



<h3 class="wp-block-heading">Event- und System-Logs prüfen</h3>



<p class="wp-block-paragraph">Für die eigentliche Fehleranalyse sind die System- und Event-Logs besonders wichtig. Dort protokolliert der Switch in der Regel sehr genau, warum ein Port in den err-disabled-State versetzt wurde.</p>



<p class="wp-block-paragraph">Die Logs können mit folgendem Befehl angezeigt werden:</p>



<pre class="wp-block-code"><code>Switch# show logging</code></pre>



<p class="wp-block-paragraph">Die Logmeldungen liefern meist bereits den entscheidenden Hinweis auf die eigentliche Ursache des Problems und sollten daher immer als einer der ersten Schritte geprüft werden.</p>



<h2 class="wp-block-heading">Entstörung</h2>



<h3 class="wp-block-heading">Fehlerursache beheben</h3>



<p class="wp-block-paragraph">Vor einem manuellen oder automatischen Recovery sollte immer zuerst die eigentliche Ursache des err-disabled-Status behoben werden, da der Fehler ansonsten unmittelbar erneut auftreten kann.</p>



<h3 class="wp-block-heading">Ports manuell reaktivieren</h3>



<p class="wp-block-paragraph">Um einen Port aus dem Fehlerstatus zu befreien, muss der betroffene Port einmal deaktiviert und anschließend wieder aktiviert werden.</p>



<pre class="wp-block-code"><code>Switch# configure terminal

Switch(config)# interface Gi1/0/1
shutdown
no shutdown</code></pre>



<h3 class="wp-block-heading">Ports automatisch reaktivieren</h3>



<p class="wp-block-paragraph">Die folgenden Befehle zeigen, wie die automatische Entstörung konfiguriert wird. </p>



<p class="wp-block-paragraph">Zunächst lassen wir uns die möglichen Optionen bzw. Ursachen anzeigen, welche wir konfigurieren können.</p>



<pre class="wp-block-code"><code>Switch# configure terminal
Switch(config)# errdisable recovery cause ?
  all                   Enable timer to recover from all causes
  arp-inspection        Enable timer to recover from arp inspection error
                        disable state
  bpduguard             Enable timer to recover from BPDU Guard error disable
                        state
  channel-misconfig     Enable timer to recover from channel misconfig disable
                        state
  dhcp-rate-limit       Enable timer to recover from dhcp-rate-limit error
                        disable state
  dtp-flap              Enable timer to recover from dtp-flap error disable
                        state
  gbic-invalid          Enable timer to recover from invalid GBIC error disable
                        state
  l2ptguard             Enable timer to recover from l2protocol-tunnel error
                        disable state
  link-flap             Enable timer to recover from link-flap error disable
                        state
  link-monitor-failure  Enable timer to recover from link monitoring failure
  loopback              Enable timer to recover from loopback disable state
  mac-limit             Enable timer to recover from mac limit disable state
  oam-remote-failure    Enable timer to recover from remote failure detected by
                        OAM
  pagp-flap             Enable timer to recover from pagp-flap error disable
                        state
  psecure-violation     Enable timer to recover from psecure violation disable
                        state
  security-violation    Enable timer to recover from 802.1x violation disable
                        state
  storm-control         Enable timer to recover from storm-control error
                        disable state
  udld                  Enable timer to recover from udld error disable state
  unicast-flood         Enable timer to recover from unicast flood disable
                        state
  vmps                  Enable timer to recover from vmps shutdown error
                        disable state</code></pre>



<p class="wp-block-paragraph"> Danach definieren wir diese dann entweder einzeln oder allgemeingültig über den all-Parameter.</p>



<pre class="wp-block-code"><code>Switch(config)# errdisable recovery cause bpduguard</code></pre>



<p class="wp-block-paragraph">Über die zuvor genannten show-Befehle lässt sich die nun gültige Konfiguration anzeigen.</p>



<h2 class="wp-block-heading">Quellen</h2>



<ul class="wp-block-list">
<li><a href="https://www.cisco.com/c/de_de/support/docs/lan-switching/spanning-tree-protocol/69980-errdisable-recovery.html">cisco.com &#8211; Wiederherstellung aus dem errdisable-Portstatus auf Cisco IOS-Plattformen</a></li>



<li><a href="https://www.firewall.cx/cisco/cisco-switches/cisco-switches-errdisable-autorecovery.html">firewall.cx &#8211; Cisco Catalyst Err-disabled Port State, Enable &amp; Disable Autorecovery Feature</a></li>
</ul>



<p class="wp-block-paragraph"></p>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2026/05/cisco-err-disabled-status/">Cisco &#8211; Err-Disabled-Status</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://maximiliankrieg.de/2026/05/cisco-err-disabled-status/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>FortiGate &#8211; ERR_SSL_PROTOCOL_ERROR nach Browser-Updates mit aktiver SSL-Deep-Inspection</title>
		<link>https://maximiliankrieg.de/2024/11/fortigate-err_ssl_protocol_error-nach-browser-updates-mit-aktiver-ssl-deep-inspection/</link>
					<comments>https://maximiliankrieg.de/2024/11/fortigate-err_ssl_protocol_error-nach-browser-updates-mit-aktiver-ssl-deep-inspection/#respond</comments>
		
		<dc:creator><![CDATA[Maximilian]]></dc:creator>
		<pubDate>Sun, 17 Nov 2024 09:09:45 +0000</pubDate>
				<category><![CDATA[Netzwerk und Sicherheit]]></category>
		<category><![CDATA[fortigate]]></category>
		<category><![CDATA[fortinet]]></category>
		<guid isPermaLink="false">https://maximiliankrieg.de/?p=965</guid>

					<description><![CDATA[<p>Am Freitag standen wir vor einer Situation, bei der nach Windows Client- und Server-Updates bestimmte Webseiten nicht mehr geladen werden konnten. Die Fehlermeldung, die angezeigt&#8230;</p>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2024/11/fortigate-err_ssl_protocol_error-nach-browser-updates-mit-aktiver-ssl-deep-inspection/">FortiGate &#8211; ERR_SSL_PROTOCOL_ERROR nach Browser-Updates mit aktiver SSL-Deep-Inspection</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Am Freitag standen wir vor einer Situation, bei der nach Windows Client- und Server-Updates bestimmte Webseiten nicht mehr geladen werden konnten. Die Fehlermeldung, die angezeigt wurde, war &#8222;ERR_SSL_PROTOCOL_ERROR&#8220;. Die parallel durchgeführten FortiClient 7.2.5-Updates konnten wir als Ursache ausschließen, und konzentrierten uns daher auf die Security-Profile. Der Fehler trat nur bei aktiver SSL-Deep-Inspection auf und war nicht bei allen Browsern reproduzierbar, sondern nur bei aktualisierten Versionen. In den Release-Notes des letzten Edge-Updates vom 14.11.2024 konnten wir keine Hinweise auf die genaue Ursache finden. In diesem Artikel werde ich die Symptome beschreiben und die kürzlich von Fortinet veröffentlichten Workarounds vorstellen.</p>



<h2 class="wp-block-heading">Problem</h2>



<h3 class="wp-block-heading">Fehlermeldung</h3>



<p class="wp-block-paragraph">Die folgende Meldung wird den Anwendern angezeigt. Im Browser ist weder ein Zertifikat sichtbar noch eine Fehlermeldung zu Zertifikaten ersichtlich, was darauf hindeutet, dass die Verbindung bereits vorher abbricht. Auffällig ist, dass nicht alle Webseiten betroffen sind und auch nicht alle Browser-Varianten. Der Edge-Browser in der aktuellen Version zeigt dieses Problem nicht, ebenso wenig ein älterer Firefox. Aktualisierte Versionen verschiedener Browser führen jedoch zu dem beschriebenen Fehler.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a3ddde91a2df&quot;}" data-wp-interactive="core/image" data-wp-key="6a3ddde91a2df" class="wp-block-image size-full wp-lightbox-container"><img fetchpriority="high" decoding="async" width="932" height="498" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://maximiliankrieg.de/wp-content/uploads/2024/11/20241117_edge_error.png" alt="" class="wp-image-966" srcset="https://maximiliankrieg.de/wp-content/uploads/2024/11/20241117_edge_error.png 932w, https://maximiliankrieg.de/wp-content/uploads/2024/11/20241117_edge_error-300x160.png 300w, https://maximiliankrieg.de/wp-content/uploads/2024/11/20241117_edge_error-768x410.png 768w" sizes="(max-width: 932px) 100vw, 932px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Fehlermeldung ERR_SSL_PROTOCOL_ERROR</figcaption></figure>



<h3 class="wp-block-heading">Betroffene Browser</h3>



<p class="wp-block-paragraph">Fortinet hat derweil eine Liste betroffener Browser veröffentlicht. Diese lassen sich wie folgt zusammenfassen.</p>



<ul class="wp-block-list">
<li>Google Chrome 131</li>



<li>Firefox 132</li>



<li>Microsoft Edge 131.0.2903.48 (Stable)</li>
</ul>



<h2 class="wp-block-heading">Ursache</h2>



<p class="wp-block-paragraph">Der Auslöser für dieses Problem hängt mit der Einführung von <strong>Modular-Lattice Key Encapsulation Mechanism (ML-KEM)</strong> für den post-quantenfähigen TLS-Schlüsselaustausch zusammen. Diese Methode hat kürzlich X25519Kyber768 für hybriden post-quantenfähigen Schlüsselaustausch in Chromium-basierten Browsern ersetzt. Das Problem wird derzeit bei Fortinet im Case <strong>#1097642</strong> untersucht. </p>



<h3 class="wp-block-heading">SSL-Inspection in den UTM/NGFW-Modes</h3>



<p class="wp-block-paragraph">Fortinet hat angekündigt, an Lösungen innerhalb der IPS-Engine (Versionen 7.0 bis 7.6) zu arbeiten, was darauf hindeutet, dass der Support für die ML-KEM-Methode derzeit speziell in der IPS-Engine problematisch ist. Ein von Fortinet empfohlener Workaround besteht darin, auf den Proxy-Modus umzuschalten, da in diesem Modus die Entschlüsselung außerhalb der IPS-Engine stattfindet.</p>



<p class="wp-block-paragraph">Dies ist eine gute Gelegenheit, die Unterschiede zwischen den verschiedenen Betriebsmodi der SSL-Inspection zu beleuchten. Hierzu führe ich aus den Herstellerdokumenten die Flow-Diagramme auf und verweise den jeweiligen Anwendungspunkt der SSL-Inspection und IPS-Engine.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a3ddde91a83f&quot;}" data-wp-interactive="core/image" data-wp-key="6a3ddde91a83f" class="wp-block-image size-full wp-lightbox-container"><img decoding="async" width="931" height="1326" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://maximiliankrieg.de/wp-content/uploads/2024/11/20241117_ssl_flow.png" alt="" class="wp-image-968" srcset="https://maximiliankrieg.de/wp-content/uploads/2024/11/20241117_ssl_flow.png 931w, https://maximiliankrieg.de/wp-content/uploads/2024/11/20241117_ssl_flow-211x300.png 211w, https://maximiliankrieg.de/wp-content/uploads/2024/11/20241117_ssl_flow-719x1024.png 719w, https://maximiliankrieg.de/wp-content/uploads/2024/11/20241117_ssl_flow-768x1094.png 768w" sizes="(max-width: 931px) 100vw, 931px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">SSL-Inspection im Flow Mode</figcaption></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a3ddde91aae2&quot;}" data-wp-interactive="core/image" data-wp-key="6a3ddde91aae2" class="wp-block-image size-full wp-lightbox-container"><img decoding="async" width="694" height="1175" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://maximiliankrieg.de/wp-content/uploads/2024/11/20241117_ssl_proxy.png" alt="" class="wp-image-967" srcset="https://maximiliankrieg.de/wp-content/uploads/2024/11/20241117_ssl_proxy.png 694w, https://maximiliankrieg.de/wp-content/uploads/2024/11/20241117_ssl_proxy-177x300.png 177w, https://maximiliankrieg.de/wp-content/uploads/2024/11/20241117_ssl_proxy-605x1024.png 605w" sizes="(max-width: 694px) 100vw, 694px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">SSL-Inspection im Proxy-Mode</figcaption></figure>



<h2 class="wp-block-heading">Lösungen</h2>



<p class="wp-block-paragraph"><br><br>Fortinet bietet mehrere Workarounds für das beschriebene Problem an. In meinem Blog möchte ich mich jedoch auf die FortiGate-basierten Lösungen konzentrieren, da diese aus meiner Sicht einfacher umzusetzen sind und keine Änderungen an Browsern oder Betriebssystemen erfordern. Der Fokus liegt darauf, praktikable Lösungen direkt auf der Firewall-Ebene anzuwenden, um die Sicherheit und Funktionalität so effizient wie möglich sicherzustellen.</p>



<h3 class="wp-block-heading">Inspection-Mode auf Proxy-based umstellen</h3>



<p class="wp-block-paragraph">Das aus meiner Sicht einfachste und effektivste Verfahren zur Lösung des Problems ist die Umstellung des Modus auf Proxy-based. Der Fehler tritt ausschließlich in Kombination mit Flow-based-Policies und aktivierter SSL-Deep-Inspection auf. Durch die Umstellung auf den Proxy-Modus bleibt die Prüfung der SSL-Verbindung vollständig erhalten, ohne dass Ausnahmen definiert werden müssen.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a3ddde91aea8&quot;}" data-wp-interactive="core/image" data-wp-key="6a3ddde91aea8" class="wp-block-image size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="536" height="660" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://maximiliankrieg.de/wp-content/uploads/2024/11/20241117_proxy_mode.png" alt="" class="wp-image-972" srcset="https://maximiliankrieg.de/wp-content/uploads/2024/11/20241117_proxy_mode.png 536w, https://maximiliankrieg.de/wp-content/uploads/2024/11/20241117_proxy_mode-244x300.png 244w" sizes="auto, (max-width: 536px) 100vw, 536px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Policy-Inspection-Mode &#8211; Proxy-based</figcaption></figure>



<p class="wp-block-paragraph">Zusätzlich bietet der Proxy-Modus potenzielle Vorteile, da er die gründlichste Inspektion für UTM- und NGFW-Funktionen ermöglicht. Insbesondere bei Richtlinien, die den Schutz vor bösartigen Inhalten gewährleisten sollen, wird grundsätzlich empfohlen, den Proxy-Modus einzusetzen. Er sorgt für eine umfassendere Sicherheitskontrolle und reduziert das Risiko, dass Bedrohungen unbemerkt bleiben.</p>



<h3 class="wp-block-heading">SSL-Inspection-Ausnahme festlegen</h3>



<p class="wp-block-paragraph">Fortinet schlägt als zweite Variante vor, eine Ausnahme für die betroffenen oder relevanten Webseiten im SSL-Inspection-Profil einzurichten. Dadurch wird die SSL-Inspection für diese Seiten komplett deaktiviert, selbst wenn die zugehörige Firewall-Regel diese Funktion ursprünglich verlangt. Diese Methode kann jedoch zu einem erhöhten administrativen Aufwand führen, da kontinuierlich Anpassungen erforderlich sind, bis ein langfristiger Fix von Fortinet bereitgestellt wird.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a3ddde91b201&quot;}" data-wp-interactive="core/image" data-wp-key="6a3ddde91b201" class="wp-block-image size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="696" height="221" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://maximiliankrieg.de/wp-content/uploads/2024/11/20241117_ssl_excepion.png" alt="" class="wp-image-971" srcset="https://maximiliankrieg.de/wp-content/uploads/2024/11/20241117_ssl_excepion.png 696w, https://maximiliankrieg.de/wp-content/uploads/2024/11/20241117_ssl_excepion-300x95.png 300w" sizes="auto, (max-width: 696px) 100vw, 696px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Ausnahmen für die SSL-Inspection</figcaption></figure>



<h3 class="wp-block-heading">SSL-Inspection abschalten</h3>



<p class="wp-block-paragraph">Anstatt für einzelne Webseiten nun Ausnahmen zu definieren oder den Inspektionsmodus auf Proxy-based umzustellen, besteht auch die Möglichkeit, die SSL-Inspektion vollständig zu deaktivieren oder auf das Verfahren der einfachen Zertifikatsüberprüfung (Certificate Inspection) umzustellen. Diese Ansätze verringern jedoch das allgemeine Sicherheitsniveau erheblich. Daher sollten sie nur in gut begründeten Ausnahmefällen in Betracht gezogen werden, da es sicherere und effektivere Alternativen gibt.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a3ddde91b512&quot;}" data-wp-interactive="core/image" data-wp-key="6a3ddde91b512" class="wp-block-image size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="598" height="135" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://maximiliankrieg.de/wp-content/uploads/2024/11/20241117_certificate_inspection.png" alt="" class="wp-image-969" srcset="https://maximiliankrieg.de/wp-content/uploads/2024/11/20241117_certificate_inspection.png 598w, https://maximiliankrieg.de/wp-content/uploads/2024/11/20241117_certificate_inspection-300x68.png 300w" sizes="auto, (max-width: 598px) 100vw, 598px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Modus der SSL-Inspection</figcaption></figure>



<h2 class="wp-block-heading">Quellen</h2>



<ul class="wp-block-list">
<li><a href="https://community.fortinet.com/t5/FortiGate/Technical-Tip-ERR-SSL-PROTOCOL-ERROR-when-using-Flow-based-Deep/ta-p/357555">ERR_SSL_PROTOCOL_ERROR when using Flow-based Deep Inspection due to ML-KEM post-quantum TLS key exchange</a></li>



<li><a href="https://security.googleblog.com/2024/09/a-new-path-for-kyber-on-web.html">Google Online Security Blog: A new path for Kyber on the web</a></li>



<li><a href="https://docs.fortinet.com/document/fortigate/6.4.0/parallel-path-processing-life-of-a-packet/556494/utm-ngfw-packet-flow-flow-based-inspection">UTM/NGFW packet flow: flow-based inspection | Fortinet Document Library</a></li>



<li><a href="https://docs.fortinet.com/document/fortigate/6.2.16/cookbook/922096/inspection-mode-feature-comparison">Inspection mode feature comparison | Fortinet Document Library</a></li>



<li><a href="https://community.fortinet.com/t5/FortiGate/Technical-Tip-Exempting-applications-domains-websites-from-SSL/ta-p/191170" target="_blank" rel="noreferrer noopener">Exempting applications/domains/websites from SSL Inspection | Fortinet Community</a> </li>
</ul>



<p class="wp-block-paragraph"></p>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2024/11/fortigate-err_ssl_protocol_error-nach-browser-updates-mit-aktiver-ssl-deep-inspection/">FortiGate &#8211; ERR_SSL_PROTOCOL_ERROR nach Browser-Updates mit aktiver SSL-Deep-Inspection</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://maximiliankrieg.de/2024/11/fortigate-err_ssl_protocol_error-nach-browser-updates-mit-aktiver-ssl-deep-inspection/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Fortinet &#8211; Cheatsheets für CLI-Befehle</title>
		<link>https://maximiliankrieg.de/2024/07/fortinet-cli-befehle/</link>
					<comments>https://maximiliankrieg.de/2024/07/fortinet-cli-befehle/#respond</comments>
		
		<dc:creator><![CDATA[Maximilian]]></dc:creator>
		<pubDate>Sun, 21 Jul 2024 04:27:21 +0000</pubDate>
				<category><![CDATA[Netzwerk und Sicherheit]]></category>
		<category><![CDATA[cheatsheet]]></category>
		<category><![CDATA[cli]]></category>
		<category><![CDATA[fortianalyzer]]></category>
		<category><![CDATA[fortigate]]></category>
		<category><![CDATA[fortimanager]]></category>
		<category><![CDATA[fortinet]]></category>
		<category><![CDATA[fortios]]></category>
		<category><![CDATA[troubleshooting]]></category>
		<guid isPermaLink="false">https://maximiliankrieg.de/?p=931</guid>

					<description><![CDATA[<p>In unserem Tagesgeschäft sind wir immer wieder damit konfrontiert, dass wir Konfigurationen und Troubleshooting-Maßnahmen auf der Kommandozeile unserer Fortinet-Geräte vornehmen müssen. Die Verwaltung dieser Geräte&#8230;</p>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2024/07/fortinet-cli-befehle/">Fortinet &#8211; Cheatsheets für CLI-Befehle</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">In unserem Tagesgeschäft sind wir immer wieder damit konfrontiert, dass wir Konfigurationen und Troubleshooting-Maßnahmen auf der Kommandozeile unserer Fortinet-Geräte vornehmen müssen. Die Verwaltung dieser Geräte über die Kommandozeile ist ein unverzichtbarer Teil der täglichen Arbeit, um den Kunden ein optimales Arbeitsergebnis zu liefern. In diesem Artikel nenne ich kurz die Artikel und Internetreferenzen, die ich selbst häufig verwende oder meinen Kollegen empfehle.</p>



<h2 class="wp-block-heading">Fortinet FortiGate</h2>



<p class="wp-block-paragraph">Die FortiGate-Firewall ist ein Next Generation Firewall (NGWF), die von Fortinet entwickelt wurde. Sie bietet umfassenden Schutz für Netzwerke, indem sie den Datenverkehr überwacht, analysiert und steuert.</p>



<h3 class="wp-block-heading">Allgemein</h3>



<ul class="wp-block-list">
<li><a href="https://community.fortinet.com/t5/FortiGate/Troubleshooting-Tip-Network-Interface-Card-NIC-commands/ta-p/195577">Network Interface Card NIC commands</a></li>



<li><a href="https://community.fortinet.com/t5/FortiGate/Technical-Tip-How-to-clear-interface-counters-from-CLI/ta-p/191599">How to clear interface counters from CLI</a></li>
</ul>



<h3 class="wp-block-heading">FortiOS 6.4</h3>



<ul class="wp-block-list">
<li><a href="https://blog.boll.ch/cheatsheet-fortios-v6-4/">FortiOS v6.4 Cheatsheet | Tech Blog (boll.ch)</a></li>



<li><a href="https://docs.fortinet.com/document/fortigate/6.4.0/cli-reference/538620">FortiOS v6.4 CLI reference | Fortinet Document Library</a></li>
</ul>



<h3 class="wp-block-heading">FortiOS 7.0</h3>



<ul class="wp-block-list">
<li><a href="https://blog.boll.ch/cheatsheet-fortios-7-0/">FortiOS v7.0 Cheatsheet | Tech Blog (boll.ch)</a></li>



<li><a href="https://docs.fortinet.com/document/fortigate/7.0.0/cli-reference/84566">FortiOS v7.0 CLI reference | Fortinet Document Library</a></li>
</ul>



<h3 class="wp-block-heading">FortiOS 7.2</h3>



<ul class="wp-block-list">
<li><a href="https://blog.boll.ch/cheatsheet-fortios-v7-2/">FortiOS v7.2 Cheatsheet | Tech Blog (boll.ch)</a></li>



<li><a href="https://docs.fortinet.com/document/fortigate/7.2.8/cli-reference/84566/fortios-cli-reference">FortiOS v7.2 CLI reference | Fortinet Document Library</a></li>
</ul>



<h3 class="wp-block-heading">FortiOS 7.4</h3>



<ul class="wp-block-list">
<li><a href="https://blog.boll.ch/cheatsheet-fortios-v7-4/">FortiOS v7.4 Cheatsheet | Tech Blog (boll.ch)</a></li>



<li><a href="https://docs.fortinet.com/document/fortigate/7.4.0/cli-reference/84566/fortios-cli-reference">FortiOS v7.4 CLI reference | Fortinet Document Library</a></li>



<li><a href="https://docs.fortinet.com/document/fortigate/7.4.0/cli-troubleshooting-cheat-sheet/420966/cli-troubleshooting-cheat-sheet">FortiOS v7.4 CLI troubleshooting cheat sheet | Fortinet Document Library</a></li>
</ul>



<h3 class="wp-block-heading">FortiOS 7.6</h3>



<ul class="wp-block-list">
<li><a href="https://blog.boll.ch/cheatsheet-fortios-v7-6/">FortiOS v7.6 CheatSheet | Tech Blog (boll.ch)</a></li>



<li><a href="https://docs.fortinet.com/document/fortigate/7.6.0/cli-reference/708841/cli-configuration-commands">FortiOS v7.6 CLI reference | Fortinet Document Library</a></li>
</ul>



<h2 class="wp-block-heading">Fortinet FortiAnalyzer</h2>



<p class="wp-block-paragraph">Der FortiAnalyzer ist eine leistungsstarke Plattform für Protokollverwaltung, Analysen und Berichterstattung. Er bietet Organisationen eine einzige Konsole zur Verwaltung, Automatisierung, Orchestrierung und Reaktion.</p>



<h3 class="wp-block-heading">FortiAnalyzer 6.4</h3>



<ul class="wp-block-list">
<li><a href="https://blog.boll.ch/cheatsheet-fortianalyzer-v6-4/">FortiAnalyzer v6.4 Cheatsheet | Tech Blog (boll.ch)</a></li>



<li><a href="https://docs.fortinet.com/document/fortianalyzer/6.4.0/cli-reference/732063/introduction">FortiAnalyzer v6.4 | Fortinet Document Library</a></li>
</ul>



<h3 class="wp-block-heading">FortiAnalyzer 7.0</h3>



<ul class="wp-block-list">
<li><a href="https://blog.boll.ch/cheatsheet-fortianalyzer-fortimanager-v7-0/">FortiAnalyzer v7.0 Cheatsheet | Tech Blog (boll.ch)</a></li>



<li><a href="https://docs.fortinet.com/document/fortianalyzer/7.0.0/cli-reference/732063/introduction">FortiAnalyzer v7.0 CLI reference | Fortinet Document Library</a></li>
</ul>



<h3 class="wp-block-heading">FortiAnalyzer 7.2</h3>



<ul class="wp-block-list">
<li><a href="https://docs.fortinet.com/document/fortianalyzer/7.2.0/cli-reference/732063/introduction">FortiAnalyzer v7.2 CLI reference | Fortinet Document Library</a></li>
</ul>



<h3 class="wp-block-heading">FortiAnalyzer 7.4</h3>



<ul class="wp-block-list">
<li><a href="https://docs.fortinet.com/document/fortianalyzer/7.4.0/cli-reference/732063/introduction">FortiAnalyzer v7.4 CLI reference | Fortinet Document Library</a></li>
</ul>



<h2 class="wp-block-heading">Fortinet FortiManager</h2>



<p class="wp-block-paragraph">Der FortiManager ist eine zentrale Plattform zur Verwaltung von Fortinet-Geräten und Richtlinien in verschiedenen Umgebungen. Er ermöglicht die zentrale Administration von unter anderem FortiGate-Firewalls, FortiAnalyzer, FortiSwitches, FortiAPs und FortiExtender-Geräten.</p>



<h3 class="wp-block-heading">FortiManager 6.4</h3>



<ul class="wp-block-list">
<li><a href="https://docs.fortinet.com/document/fortimanager/6.4.0/cli-reference/23811/introduction">FortiManager v6.4 CLI reference | Fortinet Document Library</a></li>
</ul>



<h3 class="wp-block-heading">FortiManager 7.0</h3>



<ul class="wp-block-list">
<li><a href="https://blog.boll.ch/cheatsheet-fortianalyzer-fortimanager-v7-0/">FortiManager v7.0 Cheatsheet | Tech Blog (boll.ch)</a></li>



<li><a href="https://docs.fortinet.com/document/fortimanager/7.0.0/cli-reference/23811/introduction">FortiManager v7.0 CLI reference | Fortinet Document Library</a></li>
</ul>



<h3 class="wp-block-heading">FortiManager 7.2</h3>



<ul class="wp-block-list">
<li><a href="https://docs.fortinet.com/document/fortimanager/7.2.0/cli-reference/23811/introduction">FortiManager v7.2 CLI reference | Fortinet Document Library</a></li>
</ul>



<h3 class="wp-block-heading">FortiManager 7.4</h3>



<ul class="wp-block-list">
<li><a href="https://docs.fortinet.com/document/fortimanager/7.4.0/cli-reference/23811/introduction">FortiManager v7.4 CLI reference | Fortinet Document Library</a></li>
</ul>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2024/07/fortinet-cli-befehle/">Fortinet &#8211; Cheatsheets für CLI-Befehle</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://maximiliankrieg.de/2024/07/fortinet-cli-befehle/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Cisco SMA &#8211; Spam-Quarantäne-Seite ausgefallen</title>
		<link>https://maximiliankrieg.de/2024/02/cisco-esa-spam-quarantaene-seite-ausgefallen/</link>
					<comments>https://maximiliankrieg.de/2024/02/cisco-esa-spam-quarantaene-seite-ausgefallen/#respond</comments>
		
		<dc:creator><![CDATA[Maximilian]]></dc:creator>
		<pubDate>Fri, 09 Feb 2024 21:15:46 +0000</pubDate>
				<category><![CDATA[Netzwerk und Sicherheit]]></category>
		<category><![CDATA[Cisco]]></category>
		<category><![CDATA[ESA]]></category>
		<category><![CDATA[Quarantäne]]></category>
		<category><![CDATA[Spam]]></category>
		<guid isPermaLink="false">https://maximiliankrieg.de/?p=398</guid>

					<description><![CDATA[<p>Letztes Jahr wurde ich zu einem Rufbereitschaftseinsatz hinzugezogen, bei dem laut Meldung die Spam-Quarantäne-Seite einer Cisco Email Security Appliance (ESA) ausgefallen war. Dadurch konnten Anwender&#8230;</p>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2024/02/cisco-esa-spam-quarantaene-seite-ausgefallen/">Cisco SMA &#8211; Spam-Quarantäne-Seite ausgefallen</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Letztes Jahr wurde ich zu einem Rufbereitschaftseinsatz hinzugezogen, bei dem laut Meldung die Spam-Quarantäne-Seite einer Cisco Email Security Appliance (ESA) ausgefallen war. Dadurch konnten Anwender nicht mehr auf die Quarantäne-Seite zugreifen, um dringend erwartete E-Mails freizugeben.</p>



<p class="wp-block-paragraph">Zur Kontextualisierung, die Infrastruktur besteht aus Cisco Email Security Appliances (ESAs) und Cisco Security Management Appliances (SMAs). Die ESA ist eine virtuelle All-in-One-Appliance, die Schutz vor Spam, Malware, Viren und anderen ein- und ausgehenden E-Mail-Bedrohungen und Belästigungen bietet . Die SMA hingegen wird zur Zentralisierung von Diensten von ESAs verwendet. Die zentralisierten Dienste sind: Externe Spam-Quarantäne. Zentralisierte Richtlinien-, Viren- und Ausbruchsquarantänen. </p>



<p class="wp-block-paragraph">Die Störung betrifft daher nach vorheriger Definition somit die SMA und nicht die ESA. Da der Kunde einen Fehler auf den vorgeschalteten Systemen ausschließt, beginnen wir mit der Untersuchung auf der aktiven SMA-Einheit. Bei der ersten Prüfung stellt sich bereits heraus, dass ein System-Backup ausgeführt wird, wodurch Dienste eingeschränkt oder pausiert sind. Dies ist ein normales und erwartetes Verhalten; jedoch läuft das Backup üblicherweise täglich, und dieser Fehler tritt zum ersten Mal auf.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a3ddde91e686&quot;}" data-wp-interactive="core/image" data-wp-key="6a3ddde91e686" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="250" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://maximiliankrieg.de/wp-content/uploads/2024/02/20240210_esa_backup-1024x250.png" alt="" class="wp-image-406" srcset="https://maximiliankrieg.de/wp-content/uploads/2024/02/20240210_esa_backup-1024x250.png 1024w, https://maximiliankrieg.de/wp-content/uploads/2024/02/20240210_esa_backup-300x73.png 300w, https://maximiliankrieg.de/wp-content/uploads/2024/02/20240210_esa_backup-768x187.png 768w, https://maximiliankrieg.de/wp-content/uploads/2024/02/20240210_esa_backup.png 1090w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Information der SMA über das laufende Backup</figcaption></figure>



<p class="wp-block-paragraph">Wir überprüfen daher die Backup-Einstellungen und -Status auf der Kommandozeile der SMA, indem wir in die Backup-Konfiguration navigieren. Da die SMA die gleichen Befehle im Folgenden immer wieder präsentieren wird, schneide ich diesen Auszug aus den folgenden Ausgaben heraus. Die relevanten Befehle sind hier VIEW, VERIFY, SCHEDULE, CANCEL, STATUS und SETUP. </p>



<pre class="wp-block-code"><code>SMA01&gt; backupconfig

Choose the operation you want to perform:
- VIEW - View scheduled backups
- VERIFY - Verify if backup can be scheduled to a remote machine
- SCHEDULE - Schedule backup to an appliance
- CANCEL - Cancel a scheduled backup
- STATUS - Show the status of a backup in progress.
- SETUP - Configure backup parameters.</code></pre>



<p class="wp-block-paragraph">Zunächst überprüfen wir die laufenden Backup-Jobs und stellen fest, dass die Backups täglich um 2 Uhr von der aktiven SMA01 zur passiven SMA02 durchgeführt werden. Wir verifizieren ebenfalls, dass ein Backup-Job noch aktiv ist, wie in der AdminGUI angezeigt wird. </p>



<pre class="wp-block-code"><code>&#91;]&gt; view

Scheduled Backups:
# Name                 IP                  Schedule           Features
= ==================== =================== ================== ==================
1 SMA01_to_SMA02       To 10.10.10.2       In Progress        Email Tracking
                                                              Web Tracking
                                                              Spam Quarantine
                                                              Reporting
                                                              Policy Quarantine
                                                              Safelist/Blocklist
2 SMA01_to_SMA02       To 10.10.10.2       every day at       Email Tracking
                                           02:00              Web Tracking
                                                              Spam Quarantine
                                                              Reporting
                                                              Policy Quarantine
                                                              Safelist/Blocklist</code></pre>



<p class="wp-block-paragraph">Aus diesem Grund überprüfen wir den Status des laufenden Backup-Jobs. Obwohl das Backup wie geplant um 2 Uhr gestartet ist, läuft es nun bereits seit über zwei Stunden. Normalerweise sind die Backups innerhalb weniger Minuten abgeschlossen. Um sicherzustellen, dass alles korrekt verläuft, warten wir etwa 10 Minuten. Bei einer Datentransferrate von 14 MB/s sollte eine messbare Veränderung im übertragenen Datenvolumen von 81 GB auftreten.</p>



<pre class="wp-block-code"><code>&#91;]&gt; STATUS

Backup Name: SMA01_to_SMA02
Begin Time: 29 Dec 2023 02:00    Time elapsed: 2hr 32min
Transfer Rate: 14MB/s
Phase: Two
Data Transferred: 81GB (44%)
        Web Tracking: Completed
        Reporting: Completed
        Email Tracking: Completed
        Policy Quarantine: Completed
        Spam Quarantine: In Progress  Transferred: 0GB (0%)
Phase: One
Data Transferred: 0GB
        Web Tracking: Completed
        Reporting: Completed
        Email Tracking: Completed
        Policy Quarantine: Completed
        Spam Quarantine: Completed
        Safelist/Blocklist: Completed
</code></pre>



<p class="wp-block-paragraph">Bei der nächsten Kontrolle ergibt sich, dass bei angeblich anhaltenden 14MB/s keine Veränderung am transferierten Datenvolumen stattgefunden hat. Es ist wahrscheinlich, dass das Backup hängengeblieben ist und nicht fortgesetzt wird.</p>



<pre class="wp-block-code"><code>&#91;]&gt; STATUS

Backup Name: SMA01_to_SMA02
Begin Time: 29 Dec 2023 02:00    Time elapsed: 2hr 45min
Transfer Rate: 14MB/s
Phase: Two
Data Transferred: 81GB (44%)
        Web Tracking: Completed
        Reporting: Completed
        Email Tracking: Completed
        Policy Quarantine: Completed
        Spam Quarantine: In Progress  Transferred: 0GB (0%)
Phase: One
Data Transferred: 0GB
        Web Tracking: Completed
        Reporting: Completed
        Email Tracking: Completed
        Policy Quarantine: Completed
        Spam Quarantine: Completed
        Safelist/Blocklist: Completed</code></pre>



<p class="wp-block-paragraph">Wir brechen das Backup manuell ab, damit der Wartungsmodus beendet wird und die SMA wieder ihre normale Operation aufnimmt. </p>



<pre class="wp-block-code"><code>&#91;]&gt; CANCEL

Scheduled Backups:
# Name                 IP                  Schedule           Features
= ==================== =================== ================== ====================
1 SMA01_to_SMA02       To 10.10.10.2       In Progress        Email Tracking
                                                              Web Tracking
                                                              Spam Quarantine
                                                              Reporting
                                                              Policy Quarantine
                                                              Safelist/Blocklist
2 SMA01_to_SMA02       To 10.10.10.2       every day at       Email Tracking
                                           02:00              Web Tracking
                                                              Spam Quarantine
                                                              Reporting
                                                              Policy Quarantine
                                                              Safelist/Blocklist

Select the name or number of the backup
&#91;]&gt; 1

Canceling a backup in progress is not recommended. The data will be incomplete
and may not be usable until a subsequent backup is completed, especially if you
receive an error. If you must cancel a backup in progress, be sure to run a
complete backup as soon as possible to ensure that you always have a usable
current backup.

Do you really want to cancel the backup? &#91;N]&gt; Y

Backup "SMA01_to_SMA02" has been cancelled.
</code></pre>



<p class="wp-block-paragraph">Wir lassen uns nochmals den Status anzeigen, um den korrekten Abbruch zu verifizieren.</p>



<pre class="wp-block-code"><code>&#91;]&gt; STATUS

No backup in progress</code></pre>



<p class="wp-block-paragraph">Auf der AdminGUI ist die Fehlermeldung nun verschwunden und der Zugriff auf die Spam-Quarantäne-Seite ist wieder erfolgreich. Um das versäumte Backup nachzuholen, planen wir ein einmaliges Backup und führen dieses durch.</p>



<pre class="wp-block-code"><code>&#91;]&gt; SCHEDULE

Enter the IP address of a machine to transfer data to.
&#91;]&gt; 10.10.10.2

Enter a name to identify the remote appliance
&#91;]&gt; SMA02

Please enter username and passphrase:
Username:
&#91;]&gt; admin

Passphrase:
&#91;]&gt;
Would you like to backup all the data, including Email Tracking, Web Tracking,
Spam Quarantine, Reporting, Policy Quarantine, Safelist/Blocklist ? &#91;Y]&gt; Y

Verifying target machine for version compatibility and disk space...
1. Set up a repeating backup schedule
2. Schedule a single backup
3. Start a single backup now
&#91;1]&gt; 3

Please enter a name for this backup job:
&#91;]&gt; Test-Backup

Backup "Test-Backup" has been initiated and will begin in a few seconds.</code></pre>



<p class="wp-block-paragraph">Das temporäre Backup ist, wie erwartet, innerhalb weniger Minuten durchgelaufen. Als abschließende Maßnahme überprüfen wir die Schedules, um sicherzustellen, dass die Backups auch am Folgetag ordnungsgemäß durchgeführt werden, sowie den Zugriff auf die Spam-Quarantäne-Seite.</p>



<h2 class="wp-block-heading">Quellen</h2>



<ul class="wp-block-list">
<li><a href="https://www.cisco.com/c/de_de/support/docs/security/content-security-management-appliance/118441-technote-sma-00.html">Ansetzen einer Sicherung eines aktiven Datensets von einer primären SMA zu einer sekundären SMA &#8211; Cisco</a></li>
</ul>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2024/02/cisco-esa-spam-quarantaene-seite-ausgefallen/">Cisco SMA &#8211; Spam-Quarantäne-Seite ausgefallen</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://maximiliankrieg.de/2024/02/cisco-esa-spam-quarantaene-seite-ausgefallen/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Fortinet &#8211; Chiffren für SSL VPN und Admin GUI härten</title>
		<link>https://maximiliankrieg.de/2024/01/fortinet-chiffren-fuer-ssl-vpn-und-admin-gui/</link>
					<comments>https://maximiliankrieg.de/2024/01/fortinet-chiffren-fuer-ssl-vpn-und-admin-gui/#respond</comments>
		
		<dc:creator><![CDATA[Maximilian]]></dc:creator>
		<pubDate>Wed, 31 Jan 2024 07:44:47 +0000</pubDate>
				<category><![CDATA[Netzwerk und Sicherheit]]></category>
		<category><![CDATA[Admin]]></category>
		<category><![CDATA[AES]]></category>
		<category><![CDATA[Chiffren]]></category>
		<category><![CDATA[Cipher]]></category>
		<category><![CDATA[Firewall]]></category>
		<category><![CDATA[fortigate]]></category>
		<category><![CDATA[Hardening]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[VPN]]></category>
		<guid isPermaLink="false">https://maximiliankrieg.de/?p=384</guid>

					<description><![CDATA[<p>Bei einem Selbsttest über den SSL Server Test von Qualys ist mir aufgefallen, dass wir zwar ein A+ bei unserem VPN-Gateway erhalten haben, es jedoch&#8230;</p>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2024/01/fortinet-chiffren-fuer-ssl-vpn-und-admin-gui/">Fortinet &#8211; Chiffren für SSL VPN und Admin GUI härten</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Bei einem Selbsttest über den SSL Server Test von Qualys ist mir aufgefallen, dass wir zwar ein A+ bei unserem VPN-Gateway erhalten haben, es jedoch noch schwache Chiffren gibt, die angeboten werden. Für einen hohen Grad an Standardisierung, Interoperabilität und Sicherheit möchte ich daher eine Vorlage definieren, anhand der wir unsere FortiGate-Firewalls absichern können. In der Folge wurde eine eingehende Analyse der aktuellen Richtlinien von Fortinet und des Bundesamts für Sicherheit in der Informationstechnik (BSI) durchgeführt, um das SSL-VPN-Gateway und die Admin-Oberfläche abzusichern.</p>



<p class="wp-block-paragraph">Die globalen Einstellungen betreffen die Admin-Oberfläche. Wir haben hier zuvor manuelle Parameter gesetzt für die TLS-Mindeststandards, wechseln nun jedoch auf den Strong-Crypto-Befehl. Das Verbot von RSA-Chiffren ist zwar implizit durch die anderen Parameter gegeben, wurde jedoch bei einem Audit als wünschenswert festgelegt und wird daher beibehalten. Ebenfalls werden mehrere Hash-Verfahren deaktiviert, um das unsichere AES-128-CBC abzuschalten. Wie in einem Technical Tip beschrieben, kann AES-128-CBC nicht selbst deaktiviert werden, weshalb ein Workaround über die Hash-Verfahren genutzt werden kann. Einen exklusiven Umstieg auf TLS 1.3, welches die unsicheren Chiffren nicht mehr unterstützt, haben wir auch diskutiert, jedoch noch nicht ins Auge gefasst.</p>



<pre class="wp-block-code"><code>config system global
    set strong-crypto enable
    set ssl-static-key-ciphers disable
    set admin-https-ssl-banned-cipher RSA SHA1 SHA256 SHA384
    set dh-params 8192
end</code></pre>



<p class="wp-block-paragraph">Wenn die starke Verschlüsselung (Strong-Crypto) aktiviert ist, sind nur noch TLS 1.2 und TLS 1.3 zulässig. Der Strong-Crypto-Befehl hat jedoch keine Auswirkung auf die SSL-VPN-Verschlüsselungsstufe oder -Chiffren. Für die SSL-VPN-Einstellungen setzen wir daher TLS 1.2 als Mindeststandard und verbieten die gleichen Chiffren wie zuvor. Über den Algorith-High-Befehl werden ebenfalls ältere und unsichere Chiffren verboten.</p>



<pre class="wp-block-code"><code>config vpn ssl setting
    set algorithm high
    set ssl-min-proto-ver tls1-2
    set banned-cipher RSA SHA1 SHA256 SHA384
end</code></pre>



<p class="wp-block-paragraph">Abschließend kontrollieren wir mithilfe von Qualys den neuen Status und führen einen erneuten Scan durch. Es ergibt sich nun eine Bewertung mit A+ mit voller Bewertung in drei Kategorien.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a3ddde91f84a&quot;}" data-wp-interactive="core/image" data-wp-key="6a3ddde91f84a" class="wp-block-image size-large is-resized wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="472" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://maximiliankrieg.de/wp-content/uploads/2024/02/20240206_qualys_ssl-1024x472.png" alt="" class="wp-image-395" style="width:840px;height:auto" srcset="https://maximiliankrieg.de/wp-content/uploads/2024/02/20240206_qualys_ssl-1024x472.png 1024w, https://maximiliankrieg.de/wp-content/uploads/2024/02/20240206_qualys_ssl-300x138.png 300w, https://maximiliankrieg.de/wp-content/uploads/2024/02/20240206_qualys_ssl-768x354.png 768w, https://maximiliankrieg.de/wp-content/uploads/2024/02/20240206_qualys_ssl.png 1106w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Zusammenfassung des SSL Server Tests von Qualys</figcaption></figure>



<h2 class="wp-block-heading">Quellen</h2>



<ul class="wp-block-list">
<li><a href="https://community.fortinet.com/t5/FortiGate/Technical-Tip-Disable-AES-CBC-ciphers-for-SSL-VPN-and-Admin-GUI/ta-p/284174">Technical Tip: Disable AES CBC ciphers for SSL VPN and Admin GUI (HTTPS) Access</a></li>



<li><a href="https://community.fortinet.com/t5/FortiGate/Technical-Tip-Cipher-suites-offered-by-FortiGate/ta-p/192331" target="_blank" rel="noreferrer noopener">Technical Tip: Cipher suites offered by FortiGate</a></li>



<li><a href="https://docs.fortinet.com/document/fortigate/7.4.0/best-practices/555436/hardening">Hardening | FortiGate / FortiOS 7.4.0 | Fortinet Document Library</a></li>



<li><a href="https://docs.fortinet.com/document/fortigate/7.4.2/administration-guide/484445/fortigate-encryption-algorithm-cipher-suites">FortiGate encryption algorithm cipher suites | FortiGate / FortiOS 7.4.2 | Fortinet Document Library</a></li>



<li><a href="https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Publikationen/TechnischeRichtlinien/TR02102/BSI-TR-02102.pdf?__blob=publicationFile">BSI-TR-02102.pdf (bund.de)</a></li>
</ul>



<p class="wp-block-paragraph"></p>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2024/01/fortinet-chiffren-fuer-ssl-vpn-und-admin-gui/">Fortinet &#8211; Chiffren für SSL VPN und Admin GUI härten</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://maximiliankrieg.de/2024/01/fortinet-chiffren-fuer-ssl-vpn-und-admin-gui/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Fortinet &#8211; LetsEncrypt-Zertifikat erneuert sich nicht</title>
		<link>https://maximiliankrieg.de/2023/12/fortinet-letsencrypt-zertifikat-erneuert-sich-nicht/</link>
					<comments>https://maximiliankrieg.de/2023/12/fortinet-letsencrypt-zertifikat-erneuert-sich-nicht/#respond</comments>
		
		<dc:creator><![CDATA[Maximilian]]></dc:creator>
		<pubDate>Sun, 31 Dec 2023 07:01:08 +0000</pubDate>
				<category><![CDATA[Netzwerk und Sicherheit]]></category>
		<category><![CDATA[acme]]></category>
		<category><![CDATA[ca]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[fortigate]]></category>
		<category><![CDATA[fortinet]]></category>
		<category><![CDATA[interface]]></category>
		<category><![CDATA[letsencrypt]]></category>
		<category><![CDATA[renewal]]></category>
		<guid isPermaLink="false">https://maximiliankrieg.de/?p=362</guid>

					<description><![CDATA[<p>In meinem vorherigen Artikel habe ich die Thematik der Schwellwerte für Monitoring-Sensoren sowie das manuelle Erneuern der Zertifikate über LetsEncrypt für FortiGate-Firewalls ausführlich behandelt. Heute&#8230;</p>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2023/12/fortinet-letsencrypt-zertifikat-erneuert-sich-nicht/">Fortinet &#8211; LetsEncrypt-Zertifikat erneuert sich nicht</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">In meinem vorherigen <a href="https://maximiliankrieg.de/2023/12/fortinet-letsencrypt-zertifikate-erneuern/">Artikel </a>habe ich die Thematik der Schwellwerte für Monitoring-Sensoren sowie das manuelle Erneuern der Zertifikate über LetsEncrypt für FortiGate-Firewalls ausführlich behandelt. Heute beabsichtige ich, einen konkreten Fall zu diskutieren, in dem es dem Kunden nicht möglich war, seine Zertifikate zu erneuern. Der Kunde nutzt diese Zertifikate bereits seit geraumer Zeit, und in den vorangegangenen Intervallen verlief die Erneuerung reibungslos.</p>



<h2 class="wp-block-heading">Analyse</h2>



<p class="wp-block-paragraph">Zunächst unterziehen wir die letzten Ereignisse im Zusammenhang mit dem betroffenen Zertifikat einer sorgfältigen Prüfung, um mögliche weiterführende Hinweise zu identifizieren.</p>



<pre class="wp-block-code"><code>diagnose sys acme status-full &lt;Certificate’s CN domain&gt;</code></pre>



<p class="wp-block-paragraph">In diesem Kontext fällt auf, dass seit der Ausstellung beziehungsweise dem letzten Erneuerungsvorgang keine relevanten Ereignisse aufgezeichnet wurden. Ebenfalls interessant ist, dass der Error-Counter den Wert 0 aufweist. Die Ausgabe wurde selbstverständlich aus Gründen der Vertraulichkeit durch die Anpassung von Geräte- und Kundennamen modifiziert.</p>



<pre class="wp-block-code"><code>FGT # diagnose sys acme status-full fgt.customer.com
{
  "name": "fgt.customer.com",
  "finished": true,
  "notified": false,
  "last-run": "Tue, 24 Oct 2023 11:07:21 GMT",
  "valid-from": "Tue, 24 Oct 2023 10:07:29 GMT",
  "errors": 0,
  "last": {
    "status": 0,
    "detail": "The certificate for the managed domain has been renewed successfully and can be used (valid since Tue, 24 Oct 2023 10:07:29 GMT). A graceful server restart now is recommended.",
    "valid-from": "Tue, 24 Oct 2023 10:07:29 GMT"
  },
  "log": {
    "entries": &#91;
      {
        "when": "Tue, 24 Oct 2023 11:07:31 GMT",
        "type": "message-renewed"
      },
      {
        "when": "Tue, 24 Oct 2023 11:07:31 GMT",
        "type": "finished"
      },
</code></pre>



<p class="wp-block-paragraph">Im folgenden Schritt überprüfen wir, ob eine erfolgreiche PING-Kommunikation mit den für das Erneuerungsvorhaben zuständigen LetsEncrypt-Servern möglich ist. Ebenfalls prüfen wir die korrekte Funktionalität der Namensauflösung auf der Firewall, die für diesen Zweck erforderlich ist.</p>



<pre class="wp-block-code"><code>execute ping acme-v02.api.letsencrypt.org
PING 172.65.32.248 (172.65.32.248): 56 data bytes
64 bytes from 172.65.32.248: icmp_seq=0 ttl=255 time=22.3 ms
64 bytes from 172.65.32.248: icmp_seq=1 ttl=255 time=22.2 ms
64 bytes from 172.65.32.248: icmp_seq=2 ttl=255 time=22.2 ms
64 bytes from 172.65.32.248: icmp_seq=3 ttl=255 time=22.2 ms
64 bytes from 172.65.32.248: icmp_seq=4 ttl=255 time=22.2 ms
--- 172.65.32.248 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 22.2/22.2/22.3 ms
</code></pre>



<p class="wp-block-paragraph">Sowohl die Namensauflösung als auch die Erreichbarkeit sind gewährleistet. Daher führen wir eine erneute Überprüfung des Status des ACME-Clients durch und stellen bei genauer Inspektion fest, dass überhaupt kein Interface definiert ist.</p>



<pre class="wp-block-code"><code>FGT # get system acme status
Listening on interfaces:        None
ACME certificates registered:   1
ACME challenge type:            http-01</code></pre>



<p class="wp-block-paragraph">Wir gleichen dies erneut mit der Konfiguration ab, und die Überprüfung bestätigt die fehlerhafte Konfiguration.</p>



<pre class="wp-block-code"><code>FGT # config system acme
FGT (acme) # show
config system acme
    config accounts
        edit "ACME-.letsencrypt.org-0000"
            set status "valid"
            set ca_url "https://acme-v02.api.letsencrypt.org/directory"
            set email "mail@customer.com"
        next
    end
end</code></pre>



<p class="wp-block-paragraph">Auch hier erkennen wir, dass kein Interface konfiguriert ist, über das der ACME-Client die Zertifikatsvalidierung durchführen soll. Zur Fehlerbehebung setzen wir daher das entsprechende Interface im ACME-Client.</p>



<pre class="wp-block-code"><code>FGT # config system acme
FGT (acme) # set interface wan
FGT (acme) # end</code></pre>



<h2 class="wp-block-heading">Renewal-Prozess</h2>



<p class="wp-block-paragraph">Nachdem wir das Renewal manuell initiiert haben, überprüfen wir den Status des Zertifikats erneut mithilfe des Diagnose-Befehls. Der folgende Auszug veranschaulicht den vollständigen und korrekten Zertifizierungsdialog.</p>



<pre class="wp-block-code"><code>FGT # diagnose sys acme status-full fgt.customer.com
{
  "name": "fgt.customer.com",
  "finished": true,
  "notified": false,
  "next-run": "Wed, 27 Dec 2023 08:54:24 GMT",
  "last-run": "Tue, 26 Dec 2023 09:54:20 GMT",
  "valid-from": "Wed, 27 Dec 2023 08:54:24 GMT",
  "errors": 0,
  "last": {
    "status": 0,
    "detail": "The certificate for the managed domain has been renewed successfully and can be used from Wed, 27 Dec 2023 08:54:24 GMT on.",
    "valid-from": "Wed, 27 Dec 2023 08:54:24 GMT"
  },
  "log": {
    "entries": &#91;
      {
        "when": "Tue, 26 Dec 2023 09:54:26 GMT",
        "type": "finished"
      },
      {
        "when": "Tue, 26 Dec 2023 09:54:26 GMT",
        "type": "progress",
        "detail": "The certificate for the managed domain has been renewed successfully and can be used from Wed, 27 Dec 2023 08:54:24 GMT on."
      },
      {
        "when": "Tue, 26 Dec 2023 09:54:25 GMT",
        "type": "progress",
        "detail": "Retrieving certificate chain for fgt.customer.com"
      },
      {
        "when": "Tue, 26 Dec 2023 09:54:25 GMT",
        "type": "progress",
        "detail": "Waiting for finalized order to become valid"
      },
      {
        "when": "Tue, 26 Dec 2023 09:54:24 GMT",
        "type": "progress",
        "detail": "Submitting CSR to CA for fgt.customer.com"
      },
      {
        "when": "Tue, 26 Dec 2023 09:54:24 GMT",
        "type": "progress",
        "detail": "Creating CSR for fgt.customer.com"
      },
      {
        "when": "Tue, 26 Dec 2023 09:54:24 GMT",
        "type": "progress",
        "detail": "Finalizing order for fgt.customer.com"
      },
      {
        "when": "Tue, 26 Dec 2023 09:54:23 GMT",
        "type": "progress",
        "detail": "Waiting for order to become ready"
      },
      {
        "when": "Tue, 26 Dec 2023 09:54:23 GMT",
        "type": "progress",
        "detail": "Monitoring challenge status for fgt.customer.com: domain authorization for fgt.customer.com is valid"
      },
      {
        "when": "Tue, 26 Dec 2023 09:54:23 GMT",
        "type": "progress",
        "detail": "Monitoring challenge status for fgt.customer.com"
      },
      {
        "when": "Tue, 26 Dec 2023 09:54:22 GMT",
        "type": "progress",
        "detail": "Starting challenges for domains"
      },
      {
        "when": "Tue, 26 Dec 2023 09:54:22 GMT",
        "type": "progress",
        "detail": "Loaded order from staging"
      },
      {
        "when": "Tue, 26 Dec 2023 09:54:21 GMT",
        "type": "progress",
        "detail": "Selecting account to use for fgt.customer.com"
      },
      {
        "when": "Tue, 26 Dec 2023 09:54:21 GMT",
        "type": "progress",
        "detail": "Driving ACME protocol for renewal of fgt.customer.com"
      },
      {
        "when": "Tue, 26 Dec 2023 09:54:20 GMT",
        "type": "progress",
        "detail": "Contacting ACME server for fgt.customer.com at https://acme-v02.api.letsencrypt.org/directory"
      },
      {
        "when": "Tue, 26 Dec 2023 09:54:20 GMT",
        "type": "progress",
        "detail": "Assessing current status"
      },
      {
        "when": "Tue, 26 Dec 2023 09:54:20 GMT",
        "type": "progress",
        "detail": "Checking staging area"
      },
      {
        "when": "Tue, 26 Dec 2023 09:54:20 GMT",
        "type": "progress",
        "detail": "Monitoring challenge status for fgt.customer.com"
      },
      {
        "when": "Tue, 26 Dec 2023 09:54:20 GMT",
        "type": "starting"
      },
      {
        "when": "Tue, 26 Dec 2023 09:54:19 GMT",
        "type": "progress",
        "detail": "Monitoring challenge status for fgt.customer.com: domain authorization for fgt.customer.com is valid"
      },
      {
        "when": "Tue, 26 Dec 2023 09:54:19 GMT",
        "type": "progress",
        "detail": "Monitoring challenge status for fgt.customer.com"
      },
      {
        "when": "Tue, 26 Dec 2023 09:54:18 GMT",
        "type": "progress",
        "detail": "Setting up challenge 'http-01' for domain fgt.customer.com"
      },
      {
        "when": "Tue, 26 Dec 2023 09:54:18 GMT",
        "type": "progress",
        "detail": "Starting challenges for domains"
      },
      {
        "when": "Tue, 26 Dec 2023 09:54:17 GMT",
        "type": "progress",
        "detail": "Creating new order"
      },
      {
        "when": "Tue, 26 Dec 2023 09:54:16 GMT",
        "type": "progress",
        "detail": "Selecting account to use for fgt.customer.com"
      },
      {
        "when": "Tue, 26 Dec 2023 09:54:16 GMT",
        "type": "progress",
        "detail": "Driving ACME protocol for renewal of fgt.customer.com"
      },
      {
        "when": "Tue, 26 Dec 2023 09:54:16 GMT",
        "type": "progress",
        "detail": "Resetting staging for fgt.customer.com"
      },
      {
        "when": "Tue, 26 Dec 2023 09:54:15 GMT",
        "type": "progress",
        "detail": "Contacting ACME server for fgt.customer.com at https://acme-v02.api.letsencrypt.org/directory"
      },
      {
        "when": "Tue, 26 Dec 2023 09:54:15 GMT",
        "type": "progress",
        "detail": "Assessing current status"
      },
      {
        "when": "Tue, 26 Dec 2023 09:54:15 GMT",
        "type": "progress",
        "detail": "Resetting staging area"
      },
      {
        "when": "Tue, 26 Dec 2023 09:54:15 GMT",
        "type": "progress",
        "detail": "Checking staging area"
      },
      {
        "when": "Tue, 26 Dec 2023 09:54:15 GMT",
        "type": "starting"
      }
    ]
  }
}</code></pre>



<p class="wp-block-paragraph">Das Zertifikat ist somit erfolgreich neu verifiziert und ausgestellt worden. Es ist jedoch zu beachten, dass das Startdatum des neuen Zertifikats nicht sofort wirksam wird, sondern erst im Rahmen des nächsten Durchlaufs des ACME-Clients übernommen wird. Die relevanten Termine sind im Header des Auszugs angegeben.</p>



<ul class="wp-block-list">
<li>last-run: Tue, 26 Dec 2023 09:54:20 GMT</li>



<li>next-run: Wed, 27 Dec 2023 08:54:24 GMT</li>



<li>valid-from: Wed, 27 Dec 2023 08:54:24 GMT</li>
</ul>



<p class="wp-block-paragraph">Daher überprüfen wir am 27. Dezember 2023 den Status des Zertifikats auf der FortiGate. Durch das Aufrufen der durch dieses Zertifikat geschützten Inhalte bestätigen wir, dass nun das korrekte Zertifikat verwendet wird. Es ist jedoch zu beachten, dass die Zeitzone GMT verwendet wird.</p>



<h2 class="wp-block-heading">Weitere Ursachen</h2>



<p class="wp-block-paragraph">Während meiner Recherche und Analyse identifizierte ich die folgenden Fehlerquellen als häufige Ursachen:</p>



<ol class="wp-block-list">
<li><strong>Falsche Konfiguration des ACME-Clients oder fehlende Definition von Interfaces.</strong>
<ul class="wp-block-list">
<li>Überprüfen Sie die Einstellungen des ACME-Clients und stellen Sie sicher, dass die relevanten Interfaces ordnungsgemäß konfiguriert sind.</li>
</ul>
</li>



<li><strong>Fehlende oder nicht funktionierende DNS-Server.</strong>
<ul class="wp-block-list">
<li>Prüfen Sie, ob DNS-Server der FortiGate korrekt konfiguriert sind und Namensauflösung möglich ist.</li>
</ul>
</li>



<li><strong>Probleme mit der Certificate Authority (CA) von LetsEncrypt und der Vertrauensstellung der FortiGate.</strong>
<ul class="wp-block-list">
<li>Stellen Sie sicher, dass die FortiGate das CA-Zertifikat von LetsEncrypt korrekt vertraut.</li>
</ul>
</li>



<li><strong>Explizite Verbote durch Local-In-Policy für Verbindungen zu Port 80/443.</strong>
<ul class="wp-block-list">
<li>Überprüfen Sie die Local-In-Policy, um sicherzustellen, dass keine Einschränkungen für die Kommunikation zu Port 80/443 bestehen.</li>
</ul>
</li>



<li><strong>Konflikte mit anderen Diensten auf Port 443, wie SSL-VPN, Virtual Server oder Virtual IP.</strong>
<ul class="wp-block-list">
<li>Stellen Sie sicher, dass keine Konflikte mit anderen Diensten auf demselben Port bestehen.</li>
</ul>
</li>



<li><strong>Vorhandensein von Proxy- und Firewall-Diensten vor der FortiGate mit restriktiven Regelwerken.</strong>
<ul class="wp-block-list">
<li>Überprüfen Sie die Konfiguration von Proxy- und Firewall-Diensten vor der FortiGate auf mögliche Restriktionen in deren Regelwerken.</li>
</ul>
</li>



<li><strong>Firmware-Bugs, insbesondere in Version 7.2.3 mit Problemen bei mehreren hinterlegten Interfaces.</strong>
<ul class="wp-block-list">
<li>Überprüfen Sie, ob bekannte Bugs in der Firmware, insbesondere in der Version 7.2.3, vorliegen und ggf. auf eine aktualisierte Firmware-Version upgraden.</li>
</ul>
</li>



<li><strong>Generelle Bugs in der eingesetzten Firmware.</strong>
<ul class="wp-block-list">
<li>Konsultieren Sie die Release Notes der Firmware, um festzustellen, ob bekannte Bugs existieren und prüfen Sie gegebenenfalls auf verfügbare Updates.</li>
</ul>
</li>
</ol>



<h2 class="wp-block-heading">Quellen</h2>



<ul class="wp-block-list">
<li><a href="https://community.fortinet.com/t5/FortiGate/Technical-Tip-Expiring-Let-s-Encrypt-Certificates/ta-p/198419">https://community.fortinet.com/t5/FortiGate/Technical-Tip-Expiring-Let-s-Encrypt-Certificates/ta-p/198419</a></li>



<li><a href="https://letsencrypt.org/docs/allow-port-80/">https://letsencrypt.org/docs/allow-port-80/</a></li>



<li><a href="https://blog.pingus.de/2022/01/28/enable-lets-encrypt-certificate-on-ssl-vpn-enabled-fortigate-interface/">https://blog.pingus.de/2022/01/28/enable-lets-encrypt-certificate-on-ssl-vpn-enabled-fortigate-interface/</a></li>



<li><a href="https://blog.andreas-schreiner.de/2021/08/31/lets-encrypt-zertifikat-fuer-fortigate-ssl-vpn-vips-und-web-ui/">https://blog.andreas-schreiner.de/2021/08/31/lets-encrypt-zertifikat-fuer-fortigate-ssl-vpn-vips-und-web-ui/</a></li>
</ul>



<p class="wp-block-paragraph"></p>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2023/12/fortinet-letsencrypt-zertifikat-erneuert-sich-nicht/">Fortinet &#8211; LetsEncrypt-Zertifikat erneuert sich nicht</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://maximiliankrieg.de/2023/12/fortinet-letsencrypt-zertifikat-erneuert-sich-nicht/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Fortinet &#8211; LetsEncrypt-Zertifikate manuell erneuern</title>
		<link>https://maximiliankrieg.de/2023/12/fortinet-letsencrypt-zertifikate-erneuern/</link>
					<comments>https://maximiliankrieg.de/2023/12/fortinet-letsencrypt-zertifikate-erneuern/#respond</comments>
		
		<dc:creator><![CDATA[Maximilian]]></dc:creator>
		<pubDate>Sat, 16 Dec 2023 11:05:39 +0000</pubDate>
				<category><![CDATA[Netzwerk und Sicherheit]]></category>
		<category><![CDATA[acme]]></category>
		<category><![CDATA[client]]></category>
		<category><![CDATA[fortigate]]></category>
		<category><![CDATA[fortinet]]></category>
		<category><![CDATA[https]]></category>
		<category><![CDATA[monitoring]]></category>
		<category><![CDATA[renewal]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[zertifikat]]></category>
		<guid isPermaLink="false">https://maximiliankrieg.de/?p=351</guid>

					<description><![CDATA[<p>Für einen Kunden muss ich seine LetsEncrypt-Zertifkate auf den FortiGate-Firewalls erneuern, weil sein Monitoring-System die Restlaufzeit von 30 Tagen fälschlicherweise als Störung gemeldet hat. Die&#8230;</p>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2023/12/fortinet-letsencrypt-zertifikate-erneuern/">Fortinet &#8211; LetsEncrypt-Zertifikate manuell erneuern</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Für einen Kunden muss ich seine LetsEncrypt-Zertifkate auf den FortiGate-Firewalls erneuern, weil sein Monitoring-System die Restlaufzeit von 30 Tagen fälschlicherweise als Störung gemeldet hat. Die automatische Erneuerung der Zertifikate gestaltet sich dabei unproblematisch; vielmehr liegt die Herausforderung in der Konfiguration der Schwellwerte im Monitoring-System. Dennoch möchte ich auf beide Aspekte eingehen.</p>



<h2 class="wp-block-heading">Monitoring-Schwellwerte</h2>



<p class="wp-block-paragraph">Dem Monitoring-Team stellen wir folgende Schwellwerte als Empfehlung für sämtliche LetsEncrypt-Zertifikate des Kunden, unabhängig davon welches System sie präsentiert oder verlängert, zur Verfügung: </p>



<ul class="wp-block-list">
<li>Warnung &#8211; Ab 28 bis 30 Tagen </li>



<li>Fehler &#8211; Ab 5 bis 7 Tagen </li>
</ul>



<p class="wp-block-paragraph">Erst bei Eintreten des Fehlerzustands im Monitoring-System sollte ein Ticket erzeugt werden. 5 bis 7 Tage sollten genug Zeit sein den Prozess manuell zu starten oder in die Fehleranalyse zu gehen, warum der <strong>Automated Certificate Management Environment (ACME)-Client</strong> das Zertifikat nicht korrekt innerhalb des Standard-Intervalls erneuert hat. Standardmäßig hat ein LetsEncrypt-Zertifikat eine Laufzeit von 90 Tagen und erst ab 60 Tagen ist es eigentlich zum Renewal vorgesehen. Mehr Informationen hierzu findet man in der <strong>ACME Renewal Information (ARI)</strong>. </p>



<p class="wp-block-paragraph">Die oben genannte Werte sind bereits individuell angepasst auf die Konfiguration der Kunden-spezifischen Umgebung. Ebenfalls denkbar wären folgende, allgemeinen Schellwerte, wenn nur einmal am Tag eine Prüfung der Laufzeiten erfolgt:</p>



<ul class="wp-block-list">
<li>Warnung &#8211; Ab 30 Tagen </li>



<li>Fehler &#8211; Ab 28 Tagen</li>
</ul>



<h2 class="wp-block-heading">Renewal-Prozess</h2>



<p class="wp-block-paragraph">Die FortiGate-Firewalls sehen im Standard vor, dass ein Zertifikat 30 Tage vor Ablauf den Renewal-Prozess initiieren.</p>



<pre class="wp-block-code"><code>config vpn certificate local
    edit &lt;ACME_certificate_name&gt;
        set acme-renew-window 30
    end</code></pre>



<p class="wp-block-paragraph">Über folgende Befehle kann man dann ein Zertifikat manuell, auch vor den 30 Tagen, erneuern.</p>



<p class="wp-block-paragraph"><strong>ACME-Status prüfen:</strong></p>



<pre class="wp-block-code"><code>get system acme status
get system acme acc-details</code></pre>



<p class="wp-block-paragraph"><strong>Zertifikate erneuern:</strong></p>



<pre class="wp-block-code"><code>diagnose sys acme regenerate-client-config
diagnose sys acme restart</code></pre>



<p class="wp-block-paragraph"><strong>2-3 Minuten warten, danach neue Laufzeiten je Zertifikat kontrollieren:</strong></p>



<pre class="wp-block-code"><code>get vpn certificate local details &lt;Local certificate name&gt;
diagnose sys acme status-full &lt;Certificate’s CN domain&gt;</code></pre>



<h2 class="wp-block-heading">Quellen</h2>



<ul class="wp-block-list">
<li><a href="https://letsencrypt.org/2023/03/23/improving-resliiency-and-reliability-with-ari.html#:~:text=With%20ARI%2C%20Let%E2%80%99s%20Encrypt%20can%20signal%20to%20ACME,ARI%20might%20signal%20for%20renewal%20at%2060%20days.">Improving Resiliency and Reliability for Let’s Encrypt with ARI &#8211; Let&#8217;s Encrypt (letsencrypt.org)</a></li>



<li><a href="https://community.fortinet.com/t5/FortiGate/Troubleshooting-Tip-Let-s-Encrypt-certificate-did-not/ta-p/245610">Troubleshooting Tip: Let’s Encrypt certificate did&#8230; &#8211; Fortinet Community</a></li>



<li><a href="https://datatracker.ietf.org/doc/draft-ietf-acme-ari/">draft-ietf-acme-ari-02 &#8211; Automated Certificate Management Environment (ACME) Renewal Information (ARI) Extension</a></li>
</ul>



<p class="wp-block-paragraph"></p>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2023/12/fortinet-letsencrypt-zertifikate-erneuern/">Fortinet &#8211; LetsEncrypt-Zertifikate manuell erneuern</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://maximiliankrieg.de/2023/12/fortinet-letsencrypt-zertifikate-erneuern/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Entrust Identity Essentials &#8211; Failover auf zweiten Member im Cluster schlägt fehl</title>
		<link>https://maximiliankrieg.de/2023/11/entrust-identity-essentials-failover-auf-zweiten-host-schlaegt-fehl/</link>
					<comments>https://maximiliankrieg.de/2023/11/entrust-identity-essentials-failover-auf-zweiten-host-schlaegt-fehl/#respond</comments>
		
		<dc:creator><![CDATA[Maximilian]]></dc:creator>
		<pubDate>Sat, 25 Nov 2023 08:26:22 +0000</pubDate>
				<category><![CDATA[Netzwerk und Sicherheit]]></category>
		<category><![CDATA[entrust]]></category>
		<category><![CDATA[fortigate]]></category>
		<category><![CDATA[ise]]></category>
		<category><![CDATA[mfa]]></category>
		<category><![CDATA[netzwerk]]></category>
		<category><![CDATA[security]]></category>
		<guid isPermaLink="false">https://maximiliankrieg.de/?p=228</guid>

					<description><![CDATA[<p>Heute setze ich mich in einer Kundensituation mit einem nicht-funktionalen Failover-Verhaltens eines Entrust Identity Essentials Cluster auseinander. Bei einem Ausfalltest des primären Servers wurde festgestellt,&#8230;</p>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2023/11/entrust-identity-essentials-failover-auf-zweiten-host-schlaegt-fehl/">Entrust Identity Essentials &#8211; Failover auf zweiten Member im Cluster schlägt fehl</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Heute setze ich mich in einer Kundensituation mit einem nicht-funktionalen Failover-Verhaltens eines Entrust Identity Essentials Cluster auseinander. Bei einem Ausfalltest des primären Servers wurde festgestellt, dass der sekundäre Server nicht korrekt übernimmt und somit keine OTP-Codes versendet. Folglich ist das damit abgesicherte Remote Access VPN (RAVPN) im Notfall nicht nutzbar.</p>



<h2 class="wp-block-heading">Umgebung</h2>



<p class="wp-block-paragraph">Die Infrastruktur besteht aus zwei autarken FortiGate-Clustern, einem Cisco ISE-Cluster mit zwei Nodes sowie einem Entrust Identity Essentials-Cluster aus zwei Servern. Alle Systeme sind auf zwei getrennte Rechenzentren verteilt. Die folgende Darstellung ist stark vereinfacht und bezieht sich darauf, welches System jeweils den primären Zugriffsweg darstellt. Die Cisco ISE Nodes und die Entrust-Server sind zwar geclustert, aber haben eigene IP-Adressen und lassen sich eigenständig ansprechen. Über Prioritäten beziehungsweise Sequenzreihenfolgen werden die Primär- und Sekundärsysteme festgelegt.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a3ddde9233ea&quot;}" data-wp-interactive="core/image" data-wp-key="6a3ddde9233ea" class="wp-block-image size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="722" height="862" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://maximiliankrieg.de/wp-content/uploads/2023/11/20231125-topology-passcode.png" alt="" class="wp-image-232" srcset="https://maximiliankrieg.de/wp-content/uploads/2023/11/20231125-topology-passcode.png 722w, https://maximiliankrieg.de/wp-content/uploads/2023/11/20231125-topology-passcode-251x300.png 251w" sizes="auto, (max-width: 722px) 100vw, 722px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Redundante Infrastruktur mit Firewall, ISE und Identity Essentials</figcaption></figure>



<p class="wp-block-paragraph">Bei einer Anmeldung für das RAVPN sendet das jeweilige FortiGate Cluster einen RADIUS-Access-Request zur primären Cisco ISE. Diese leiten es ihrerseits die Anfrage weiter an die Entrust-Server, welche dann nach korrekter AD-Authentifizierung den Code versendet.</p>



<h2 class="wp-block-heading">Analyse und Anpassung</h2>



<p class="wp-block-paragraph">Im Troubleshooting-Prozess wird nun geprüft, ob zunächst die Firewall-Regeln zwischen allen Systemen korrekt aufgebaut sind und die Kommunikationswege jeweils zugelassen sind. Dies gilt auch für die Cluster-interne Kommunikation, da hier die Cluster in jeweils Standort-spezifischen Subnetzen stehen und das Forwarding über die Firewalls erfolgt. Hier kann kein Fehler festgestellt werden.</p>



<p class="wp-block-paragraph">Da die Anmeldungen, egal ob an das VPN-Gateway im Datacenter A und Datacenter B an der primären Cisco ISE ankommen und protokolliert werden, können die beiden Firewall-Cluster aus der Fehlerbetrachtung ausgeschlossen werden. Ebenfalls werden die Cisco ISE unter den RADIUS-Servers als erreichbar gemeldet.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a3ddde9238cf&quot;}" data-wp-interactive="core/image" data-wp-key="6a3ddde9238cf" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="720" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://maximiliankrieg.de/wp-content/uploads/2023/11/20231125-fgt-radius-1024x720.png" alt="" class="wp-image-263" srcset="https://maximiliankrieg.de/wp-content/uploads/2023/11/20231125-fgt-radius-1024x720.png 1024w, https://maximiliankrieg.de/wp-content/uploads/2023/11/20231125-fgt-radius-300x211.png 300w, https://maximiliankrieg.de/wp-content/uploads/2023/11/20231125-fgt-radius-768x540.png 768w, https://maximiliankrieg.de/wp-content/uploads/2023/11/20231125-fgt-radius.png 1280w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">RADIUS-Einstellungen der FortiGate</figcaption></figure>



<p class="wp-block-paragraph">Wir ändern unseren Fokus nun daher auf die Cisco ISE. Ein früherer Ausfalltest der ISE zeigt, dass auch hier kein Unterschied darin besteht, welche Cisco ISE der aktive Node ist. Beide Cisco ISE sind hinsichtlich der RADIUS-Einstellungen identisch respektive synchronisiert zum Zeitpunkt der Fehleranalyse. </p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a3ddde923cba&quot;}" data-wp-interactive="core/image" data-wp-key="6a3ddde923cba" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="229" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://maximiliankrieg.de/wp-content/uploads/2023/11/20231125-cisco-nodes-1-1024x229.png" alt="" class="wp-image-269" srcset="https://maximiliankrieg.de/wp-content/uploads/2023/11/20231125-cisco-nodes-1-1024x229.png 1024w, https://maximiliankrieg.de/wp-content/uploads/2023/11/20231125-cisco-nodes-1-300x67.png 300w, https://maximiliankrieg.de/wp-content/uploads/2023/11/20231125-cisco-nodes-1-768x172.png 768w, https://maximiliankrieg.de/wp-content/uploads/2023/11/20231125-cisco-nodes-1-1536x343.png 1536w, https://maximiliankrieg.de/wp-content/uploads/2023/11/20231125-cisco-nodes-1.png 1858w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Deployment Nodes der ISE</figcaption></figure>



<p class="wp-block-paragraph">Wir sehen jedoch im Firewall-Log sowie im Live Capture, dass keine RADIUS-Requests von der Cisco ISE zum sekundären Entrust-Server erfolgen. Wir prüfen daher nun die Einstellungen auf der Cisco ISE im Detail. Hier gibt es bereits erste Auffälligkeiten, denn der sekundäre Entrust-Server taucht in keiner der RADIUS-Konfigurationen auf. Wir korrigieren dies und fügen ihn als <strong>External RADIUS Server</strong> hinzu und nehmen in auch gleich in die <strong>RADIUS Server Sequences</strong> auf.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a3ddde924013&quot;}" data-wp-interactive="core/image" data-wp-key="6a3ddde924013" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="317" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://maximiliankrieg.de/wp-content/uploads/2023/11/20231125-cisco-radius-1-1024x317.png" alt="" class="wp-image-271" srcset="https://maximiliankrieg.de/wp-content/uploads/2023/11/20231125-cisco-radius-1-1024x317.png 1024w, https://maximiliankrieg.de/wp-content/uploads/2023/11/20231125-cisco-radius-1-300x93.png 300w, https://maximiliankrieg.de/wp-content/uploads/2023/11/20231125-cisco-radius-1-768x238.png 768w, https://maximiliankrieg.de/wp-content/uploads/2023/11/20231125-cisco-radius-1.png 1240w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Externe RADIUS-Server für die Cisco ISE</figcaption></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a3ddde92432e&quot;}" data-wp-interactive="core/image" data-wp-key="6a3ddde92432e" class="wp-block-image size-large is-resized wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="696" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://maximiliankrieg.de/wp-content/uploads/2023/11/20231125-cisco-radius-2-1024x696.png" alt="" class="wp-image-272" style="width:840px;height:auto" srcset="https://maximiliankrieg.de/wp-content/uploads/2023/11/20231125-cisco-radius-2-1024x696.png 1024w, https://maximiliankrieg.de/wp-content/uploads/2023/11/20231125-cisco-radius-2-300x204.png 300w, https://maximiliankrieg.de/wp-content/uploads/2023/11/20231125-cisco-radius-2-768x522.png 768w, https://maximiliankrieg.de/wp-content/uploads/2023/11/20231125-cisco-radius-2.png 1291w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">RADIUS-Server-Sequenz der Cisco ISE</figcaption></figure>



<p class="wp-block-paragraph">Zuletzt ergänzen wir den sekundären Entrust-Server noch in den <strong>External Identity Sources</strong> in den <strong>RADIUS Tokens</strong> als Secondary Server, da hier der primäre Entrust-Server auch hinterlegt ist. An dieser Stelle sei angemerkt, dass die Shared Secrets an beiden Stellen nochmals mit den dokumentierten Werten kontrolliert sind und übereinstimmen.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a3ddde924697&quot;}" data-wp-interactive="core/image" data-wp-key="6a3ddde924697" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="515" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://maximiliankrieg.de/wp-content/uploads/2023/11/20231125-cisco-radius-3-1024x515.png" alt="" class="wp-image-273" srcset="https://maximiliankrieg.de/wp-content/uploads/2023/11/20231125-cisco-radius-3-1024x515.png 1024w, https://maximiliankrieg.de/wp-content/uploads/2023/11/20231125-cisco-radius-3-300x151.png 300w, https://maximiliankrieg.de/wp-content/uploads/2023/11/20231125-cisco-radius-3-768x386.png 768w, https://maximiliankrieg.de/wp-content/uploads/2023/11/20231125-cisco-radius-3-1536x773.png 1536w, https://maximiliankrieg.de/wp-content/uploads/2023/11/20231125-cisco-radius-3.png 1715w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">RADIUS-Token Identity Sources der Cisco ISE</figcaption></figure>



<p class="wp-block-paragraph">Ab jetzt sehen wir auch Netzwerkverbindungen zum sekundären Server. Diese werden jedoch negativ mit einem Reject von dem Server beantwortet.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a3ddde924a00&quot;}" data-wp-interactive="core/image" data-wp-key="6a3ddde924a00" class="wp-block-image size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="939" height="119" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://maximiliankrieg.de/wp-content/uploads/2023/11/20231125-cisco-radius-4.png" alt="" class="wp-image-274" srcset="https://maximiliankrieg.de/wp-content/uploads/2023/11/20231125-cisco-radius-4.png 939w, https://maximiliankrieg.de/wp-content/uploads/2023/11/20231125-cisco-radius-4-300x38.png 300w, https://maximiliankrieg.de/wp-content/uploads/2023/11/20231125-cisco-radius-4-768x97.png 768w" sizes="auto, (max-width: 939px) 100vw, 939px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Paketmitschnitt auf dem Entrust-Server für RADIUS-Pakete</figcaption></figure>



<p class="wp-block-paragraph">Wir gehen daher nun zuletzt auf die beiden Entrust-Server und kontrollieren hier die Konfiguration im <strong>Entrust Identity Essentials &#8211; Configuration Tool</strong>. Hier gleichen wir die Einstellungen ab. Parallel prüfen wir das Windows Event Log, da hier Ereignisse zum Windows NPS-Dienst und Entrust protokolliert werden. Sicherheitshalber prüfen wir auch, ob die beiden Cisco ISE als RADIUS-Clients im Windows NPS hinterlegt sind und die korrekten Shared Secrets verwendet werden. Die NPS-Einstellungen sind jedoch unauffällig.</p>



<p class="wp-block-paragraph">Wir stellen allerdings fest, dass der zweite Entrust-Server exklusiv den primären Entrust-Server als <strong>Authentication backed service host</strong> referenziert. Der primäre Entrust-Server verweist ebenfalls exklusiv auf sich selbst. Aus diesem Grund können auch Codes versendet werden, wenn wir der Cisco ISE die Verbindung zum primären Entrust-Server verbieten, aber die Kommunikation zwischen den Entrust-Servern noch zulassen. Wir nehmen daher beide Server in die Konfiguration des jeweils anderen Servers auf und stellen ein, dass jeder der Server sich selbst mit höchster Priorität verwendet. </p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="766" height="763" src="https://maximiliankrieg.de/wp-content/uploads/2023/11/20231125-entrust-config.png" alt="" class="wp-image-275" srcset="https://maximiliankrieg.de/wp-content/uploads/2023/11/20231125-entrust-config.png 766w, https://maximiliankrieg.de/wp-content/uploads/2023/11/20231125-entrust-config-300x300.png 300w, https://maximiliankrieg.de/wp-content/uploads/2023/11/20231125-entrust-config-150x150.png 150w" sizes="auto, (max-width: 766px) 100vw, 766px" /><figcaption class="wp-element-caption">Backend-Konfiguration von Entrust Identity Essentials</figcaption></figure>



<p class="wp-block-paragraph">Wir wiederholen nun die Tests in verschiedenen Konstellationen, diese verlaufen nun positiv und der Code wird versendet. Der Ausfalltest kann nun erfolgreich abgeschlossen werden.</p>



<h2 class="wp-block-heading">Zusammenfassung</h2>



<p class="wp-block-paragraph">Zusammenfassend sind nun folgende Schritte erfolgt:</p>



<ol class="wp-block-list">
<li>FortiGate-Firewalls
<ul class="wp-block-list">
<li>Kontrolle der Firewall-Regeln</li>



<li>Kontrolle der VPN- und RADIUS-Einstellungen</li>
</ul>
</li>



<li>Cisco ISE 
<ul class="wp-block-list">
<li>Kontrolle des ISE-Cluster-Status</li>



<li>Kontrolle der RADIUS-Konfiguration</li>



<li><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">Anlage des sekundären Entrust-Servers in der ISE an mehreren Stellen</mark></li>



<li>Kontrolle des Shared Secrets auf Korrektheit</li>
</ul>
</li>



<li>Entrust-Server
<ul class="wp-block-list">
<li>Kontrolle Windows NPS-Dienst und Shared Secrets auf Korrektheit</li>



<li>Kontrolle Windows Event Log auf beiden Entrust-Servern</li>



<li>Kontrolle Entrust-Konfiguration auf beiden Entrust-Servern</li>



<li><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">Anlage des sekundären Entrust-Servers im Configuration Tool</mark></li>
</ul>
</li>
</ol>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2023/11/entrust-identity-essentials-failover-auf-zweiten-host-schlaegt-fehl/">Entrust Identity Essentials &#8211; Failover auf zweiten Member im Cluster schlägt fehl</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://maximiliankrieg.de/2023/11/entrust-identity-essentials-failover-auf-zweiten-host-schlaegt-fehl/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Layer-3-Switch kann keinen Ping absetzen</title>
		<link>https://maximiliankrieg.de/2015/04/layer-3-switch-kann-keinen-ping-absetzen/</link>
					<comments>https://maximiliankrieg.de/2015/04/layer-3-switch-kann-keinen-ping-absetzen/#respond</comments>
		
		<dc:creator><![CDATA[Maximilian]]></dc:creator>
		<pubDate>Thu, 02 Apr 2015 06:53:00 +0000</pubDate>
				<category><![CDATA[Netzwerk und Sicherheit]]></category>
		<category><![CDATA[Cisco]]></category>
		<category><![CDATA[vrf]]></category>
		<guid isPermaLink="false">https://maximiliankrieg.de/?p=2476</guid>

					<description><![CDATA[<p>Vor einigen Tagen hat mich ein Kommilitone gefragt, ob ich ihm bei einem Problem bei der Konfiguration eines Layer-3-Switches helfen könne. Dieser würde ein unerklärliches&#8230;</p>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2015/04/layer-3-switch-kann-keinen-ping-absetzen/">Layer-3-Switch kann keinen Ping absetzen</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Vor einigen Tagen hat mich ein Kommilitone gefragt, ob ich ihm bei einem Problem bei der Konfiguration eines Layer-3-Switches helfen könne. Dieser würde ein unerklärliches Verhalten aufweisen und könne kein anderes System pingen. Er selbst könne jedoch von beliebigen Quellen gepingt werden. Nachdem wir die typischen Fehlerquellen gemeinsam ausschließen konnten, wurde ich neugierig. Die Ursache lag in dem Nichtbeachten des Virtual Routing and Forwarding. Wie wir das Ping-Problem genauer identifizieren und lösen konnten, erkläre ich in diesem Beitrag.</p>



<h3 class="wp-block-heading">Symptom</h3>



<p class="wp-block-paragraph">Ein Desktop-PC ist physisch direkt mit dem Management-Interface eines Layer-3-Switches verbunden. Der Ping von dem PC zum Switch auf die IP-Adresse 192.168.1.1 funktioniert problemlos. Ein Ping vom Switch zum PC auf die IP-Adresse 192.168.1.3 hingegen nicht. Dieses Problem bleibt auch bestehen, wenn die Firewall des PCs deaktiviert wird. Mit Hilfe eines zweiten Switches kann verifiziert werden, dass der PC generell auf einen Ping anspricht.</p>



<p class="wp-block-paragraph">Mit diesen Informationen übernehme ich das Problem. Ich überprüfe alle getätigten Einstellungen und rekonstruiere dann das beschriebene Verhalten.&nbsp;Das Problem wird vermutlich&nbsp;auf dem Switch und in seiner Konfiguration zu suchen sein. Ich pinge zunächst selbst den PC und versuche dann die eigene Adresse zu pingen.</p>



<pre class="wp-block-code"><code>switch# ping 192.168.1.3
PING 192.168.1.3 (192.168.1.3): 56 data bytes
ping: sendto 192.168.1.3 64 chars, No route to host
Request 0 timed out
ping: sendto 192.168.1.3 64 chars, No route to host
Request 1 timed out

(...)

--- 192.168.1.3 ping statistics ---
5 packets transmitted, 0 packets received, 100.00% packet loss

switch# ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1): 56 data bytes
ping: sendto 192.168.1.1 64 chars, No route to host
Request 0 timed out
ping: sendto 192.168.1.1 64 chars, No route to host
Request 1 timed out

(...)

--- 192.168.1.1 ping statistics ---
5 packets transmitted, 0 packets received, 100.00% packet loss</code></pre>



<p class="wp-block-paragraph">Letzteres Resultat habe ich nicht erwartet. Wieso sollte sich der Layer-3-Switch nicht auf seinem eigenen Interface pingen können? Es erhärtet meinen Verdacht, dass bei der Konfiguration etwas schiefgegangen ist.</p>



<h3 class="wp-block-heading">Problem</h3>



<p class="wp-block-paragraph">Zunächst hole ich mir Informationen über die Netzwerkschnittstellen des Layer-3-Switches ein. Mich interessiert, ob das Management-Interface überhaupt aktiv gelistet wird. Ich weiß natürlich, dass es aktiv sein muss, damit der Ping vom PC aus überhaupt funktioniert, aber irgendwo muss ich die Fehlersuche&nbsp;beginnen.</p>



<pre class="wp-block-code"><code>switch# show interface brief

------------------------------------------------------------------------------------------
Ethernet 	VLAN	Type	Mode	Status	Reason			Speed	Port Ch
Interface#	
------------------------------------------------------------------------------------------
Eth1/1		1	eth	access	down	SFP not inserted	10G(D)	--

(...)

Eth2/6		1	eth	access	down	SFP not inserted	40G(D)	--

------------------------------------------------------------------------------------------
Port	VRF	Status	IP Address					Speed	MTU
------------------------------------------------------------------------------------------
mgmt0	--	up	192.168.1.1					1000	1500</code></pre>



<p class="wp-block-paragraph">Offensichtlich ist das Interface aktiv und auch mit der korrekten IP-Adresse versehen. Auf den ersten Blick scheint es doch nicht an der aktiven&nbsp;Konfiguration zu liegen. Um dies zu verifizieren, lasse ich mir die aktuelle Konfiguration anzeigen</p>



<pre class="wp-block-code"><code>switch# show running-config

(...)

vlan 1
vrf context management

(...)

interface Ethernet1/1

(...)

interface mgmt0
  vrf member management
  ip address 192.168.1.1/24

line console
line vty

boot kickstart bootflash:/n6000-uk9-kickstart.7.0.2.N1.1.bin
boot system bootflash:/n6000-uk9.7.0.2.N1.1.bin

poap transit</code></pre>



<p class="wp-block-paragraph">Ich bin nun mehrmals über die Abkürzung&nbsp;<code>VRF</code>&nbsp;gestolpert, die mir bisher auch nicht bekannt ist. Eine kleine Recherche hierzu ergibt auch schon des Rätsels Lösung.</p>



<h3 class="wp-block-heading">Lösungsstrategie</h3>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Die Abkürzung VRF steht für Virtual Routing and Forwarding. Eine VRF-Instanz bezeichnet eine im Cisco IOS und Routing Hardware anderer Hersteller implementierte Funktion, die einen neuen virtuellen Router auf einem physischen Router anlegt. Durch das Anlegen eines virtuellen Routers entsteht ein komplett neues Netz, d. h. in der VRF-Instanz 1, 2, 3, …, n kann jedes mal der komplette Adressraum vergeben werden und jedes ausgehende Interface einer jeder Instanz mit der gleichen IP-Adresse vergeben werden, obwohl für die angeschlossenen Hosts nur die Hosts derselben Instanz sichtbar sind. Eine Kommunikation zwischen Instanzen ist ohne internes, explizites Routing nicht möglich.<a href="http://de.wikipedia.org/wiki/VRF-Instanz">Wikipedia</a></p>
</blockquote>



<p class="wp-block-paragraph">Ein genauer Blick in die Hilfe zum&nbsp;<code>ping</code>-Befehl zeigt mir, dass man als optionalen Parameter auch die VRF-Instanz angeben kann.</p>



<pre class="wp-block-code"><code>switch# ping -help
usage: ping {&lt;host&gt; | multicast &lt;group&gt;} &#91;count &lt;count&gt;]
        &#91;packet-size &lt;size&gt;] &#91;vrf &lt;vrf&gt;] &#91;interval &lt;interval] &#91;df-bit]</code></pre>



<p class="wp-block-paragraph">Ich&nbsp;passe meine Eingabe an und ergänze diese um den den Parameter VRF-Context.</p>



<pre class="wp-block-code"><code>switch# ping
Vrf context to use &#91;default] :management
Target IP address or Hostname: 192.168.1.1
Repeat count &#91;5] : 5
Packet-size &#91;56] :
Timeout in seconds &#91;2] :
Sending interval in seconds &#91;0] :
Extended commands &#91;no] :
Sweep range of sizes &#91;no] :
Sending 5, 56-bytes ICMP Echos to 192.168.1.1
Timeout is 2 seconds, data pattern is 0xABCD

64 bytes from 192.168.1.1: icmp_seq=0 ttl=255 time=0.298 ms

(...)

--- 192.168.1.1 ping statistics ---
5 packets transmitted, 5 packets received, 0.00% packet loss
round-trip min/avg/max = 0.156/0.195/0.298 ms

switch# ping
Vrf context to use &#91;default] :management
Target IP address or Hostname: 192.168.1.3
Repeat count &#91;5] :
Packet-size &#91;56] :
Timeout in seconds &#91;2] :
Sending interval in seconds &#91;0] :
Extended commands &#91;no] :
Sweep range of sizes &#91;no] :
Sending 5, 56-bytes ICMP Echos to 192.168.1.3
Timeout is 2 seconds, data pattern is 0xABCD

64 bytes from 192.168.1.3: icmp_seq=0 ttl=127 time=0.659 ms

(...)</code></pre>



<p class="wp-block-paragraph">Sowohl der Ping auf die lokale und die entfernte Schnittstellenadresse funktioniert. Es wurde einfach vergessen anzugeben von welcher Instanz der Ping abgesetzt werden soll.&nbsp;Die Kurzform&nbsp;für diesen Befehl wäre&nbsp;<code>ping 192.168.1.3 vrf management</code>.</p>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2015/04/layer-3-switch-kann-keinen-ping-absetzen/">Layer-3-Switch kann keinen Ping absetzen</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://maximiliankrieg.de/2015/04/layer-3-switch-kann-keinen-ping-absetzen/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
