Flow-basierte Sitzungen
Das Junos-Betriebssystem speichert die Sitzungsinformationen, die durch das erste Paket des Datenstroms ausgelöst werden, im Cache. Die zwischengespeicherte Sitzung wird von nachfolgenden Paketen desselben Datenflusses und des umgekehrten Datenflusses dieser Sitzung mithilfe des Datenflussmoduls verwendet, das in den Weiterleitungspfad integriert ist.
Sitzungsmerkmale von Firewalls der SRX-Serie verstehen
Sitzungen werden basierend auf Routing- und anderen Klassifizierungsinformationen erstellt, um Informationen zu speichern und Ressourcen für einen Flow zuzuweisen. Sitzungen haben Merkmale, von denen Sie einige ändern können, z. B. wann sie beendet werden. Sie können z. B. sicherstellen, dass eine Sitzungstabelle nie vollständig gefüllt ist, um sich vor dem Versuch eines Angreifers zu schützen, die Tabelle zu überfluten und dadurch zu verhindern, dass legitime Benutzer Sitzungen starten.
Je nach Protokoll und Dienst wird eine Sitzung mit einem Timeout-Wert programmiert. Das Standardtimeout für TCP beträgt z. B. 1800 Sekunden. Das Standard-Timeout für UDP beträgt 60 Sekunden.
Wenn die Sitzung vor dem Diensttimeout von keinem Datenverkehr verwendet wird, wird die Sitzung veraltet und zur Wiederverwendung in einen gemeinsamen Ressourcenpool freigegeben. Sie können die Lebensdauer einer Sitzung auf folgende Weise beeinflussen:
Sie können Umstände für das Beenden von Sitzungen angeben, indem Sie eine der folgenden Methoden verwenden:
Veraltete Sitzungen basierend auf der Auslastung der Sitzungstabelle
Festlegen eines expliziten Timeouts für veraltete TCP-Sitzungen
Konfigurieren einer TCP-Sitzung für ungültig, wenn sie eine TCP-RST-Nachricht (Reset) empfängt
Konfigurieren Sie die
fin-invalidate-session
Anweisung so, dass Sitzungen beendet werden, wenn einer der Sitzungsendpunkte eine FIN(ish)-Nachricht an seinen Peer sendet.Wenn der Peerendpunkt das Paket mit gesetztem FIN-Flag empfängt, sendet er eine ACK(nowlege)-Nachricht. In der Regel beinhaltet das Beenden einer Sitzung mit dieser Methode die Übertragung eines Paares von FIN-ACK-Nachrichten aus jeder Sitzung.
Sie können Sitzungen wie folgt für andere Systeme konfigurieren:
Deaktivieren von TCP-Paketsicherheitsprüfungen
Ändern der maximalen Segmentgröße
Aggressives Session-Aging verstehen
Die Sitzungstabelle ist eine begrenzte Ressource für Firewalls der SRX-Serie. Wenn die Sitzungstabelle voll ist, werden alle neuen Sitzungen vom Gerät abgelehnt.
Der aggressive Sitzungsalterungsmechanismus beschleunigt den Sitzungstimeoutprozess, wenn die Anzahl der Sitzungen in der Sitzungstabelle den angegebenen Schwellenwert für einen oberen Grenzwert überschreitet. Dieser Mechanismus minimiert die Wahrscheinlichkeit, dass die Firewalls der SRX-Serie neue Sitzungen ablehnen, wenn die Sitzungstabelle voll ist.
Konfigurieren Sie die folgenden Parameter, um eine aggressive Sitzungsalterung durchzuführen:
high-watermark–Das Gerät führt eine aggressive Sitzungsalterung durch, wenn die Anzahl der Sitzungen in der Sitzungstabelle den high-watermark Schwellenwert überschreitet.
low-watermark–Das Gerät beendet die aggressive Sitzungsalterung und kehrt zum Normalzustand zurück, wenn die Anzahl der Sitzungen in der Sitzungstabelle unter den low-watermark Schwellenwert fällt.
early-ageout –Bei aggressiver Sitzungsalterung werden Sitzungen mit einer Austrittszeit, die unter dem Schwellenwert early-ageout liegt, als ungültig markiert.
Auf SRX1400-, SRX3400-, SRX3600-, SRX5600- und SRX5800-Geräten überprüft die SPU die Sitzungstabelle, sucht die Sitzungen, für die der Timeout-Wert niedriger ist als der Timeout-Wert für die frühe Ageout-Zeit, und markiert sie dann als ungültig. (Die Plattformunterstützung hängt von der Junos OS-Version in Ihrer Installation ab.)
Beispiel: Steuern der Sitzungsterminierung für Firewalls der SRX-Serie
In diesem Beispiel wird gezeigt, wie Sitzungen für Firewalls der SRX-Serie beendet werden, wenn sie nach einem bestimmten Zeitraum veraltet sind oder wenn die Anzahl der Sitzungen in der Sitzungstabelle voll ist oder einen bestimmten Prozentsatz erreicht. Sie geben einen Timeout-Wert oder die Anzahl der Sitzungen in der Sitzungstabelle an.
Anforderungen
Bevor Sie beginnen, sollten Sie sich mit den Umständen für das Beenden von Sitzungen vertraut machen.
Überblick
Sie können die Sitzungsbeendigung in bestimmten Situationen steuern, z. B. nach dem Empfang eines TCP FIN Close oder einer RST-Nachricht, wenn ICMP-Fehler für UDP auftreten und wenn vor dem Service-Timeout kein passender Datenverkehr empfangen wird. Wenn Sitzungen beendet werden, werden ihre Ressourcen für die Verwendung durch andere Sitzungen freigegeben.
In diesem Beispiel konfigurieren Sie die folgenden Umstände, um die Sitzung zu beenden:
Ein Timeoutwert von 20 Sekunden.
Anmerkung:Der Mindestwert, den Sie für die TCP-Sitzungsinitialisierung konfigurieren können, beträgt 4 Sekunden. Der Standardwert ist 20 Sekunden. Bei Bedarf können Sie den Wert für die TCP-Sitzungsinitialisierung auf weniger als 20 Sekunden festlegen.
Ein expliziter Timeoutwert von 280 Sekunden, der das Timeout der TCP-Sitzung während des Drei-Wege-Handshakes ändert.
Der Befehl legt das anfängliche TCP-Sitzungstimeout in der Sitzungstabelle während des TCP-Drei-Wege-Handshakes auf 280 fest. Der Timer wird beim Empfang des ersten SYN-Pakets ausgelöst und mit jedem Paket während des Drei-Wege-Handshakes zurückgesetzt. Sobald der Drei-Wege-Handshake abgeschlossen ist, wird das Sitzungs-Timeout auf das von der jeweiligen Anwendung definierte Timeout zurückgesetzt. Wenn der Timer abläuft, bevor der Drei-Wege-Handshake abgeschlossen ist, wird die Sitzung aus der Sitzungstabelle entfernt.
Jede Sitzung, die eine TCP-RST-Meldung (Reset) empfängt, wird ungültig.
Konfiguration
Verfahren
Schritt-für-Schritt-Anleitung
So steuern Sie die Sitzungsbeendigung für Firewalls der SRX-Serie:
Im folgenden Beispiel müssen Sie durch verschiedene Ebenen in der Konfigurationshierarchie navigieren. Anweisungen hierzu finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus imCLI-Benutzerhandbuch.
So steuern Sie die Sitzungsbeendigung für Firewalls der SRX-Serie:
Geben Sie einen Alterungswert für die Sitzung an.
[edit security flow] user@host# set aging early-ageout 20
Konfigurieren Sie einen Alterungswert.
[edit security flow] user@host# set tcp-session tcp-initial-timeoout 280
Machen Sie jede Sitzung ungültig, die eine TCP-RST-Nachricht empfängt.
[edit security flow] user@host# set tcp-session rst-invalidate-session
Wenn Sie mit der Konfiguration des Geräts fertig sind, bestätigen Sie die Konfiguration.
[edit ] user@host# commit
Verifizierung
Um zu überprüfen, ob die Konfiguration ordnungsgemäß funktioniert, geben Sie den show security flow
Befehl ein.
Clearing-Sitzungen für Services Gateways der SRX-Serie
Sie können den clear
Befehl verwenden, um Sitzungen zu beenden. Sie können alle Sitzungen löschen, einschließlich Sitzungen eines bestimmten Anwendungstyps, Sitzungen, die einen bestimmten Zielport verwenden, Sitzungen, die eine bestimmte Schnittstelle oder einen bestimmten Port verwenden, Sitzungen, die ein bestimmtes IP-Protokoll verwenden, Sitzungen, die einem Quellpräfix entsprechen, und Ressourcenmanager-Sitzungen.
- Beenden von Sitzungen für Services Gateways der SRX-Serie
- Beenden einer bestimmten Sitzung für Services Gateways der SRX-Serie
- Verwenden von Filtern zum Festlegen der Sitzungen, die für Services Gateways der SRX-Serie beendet werden sollen
Beenden von Sitzungen für Services Gateways der SRX-Serie
Sie können den folgenden Befehl verwenden, um alle Sitzungen mit Ausnahme von Tunnel- und Ressourcenmanager-Sitzungen zu beenden. Die Befehlsausgabe zeigt die Anzahl der gelöschten Sitzungen an. Beachten Sie, dass dieser Befehl die Verwaltungssitzung beendet, über die der Befehl clear ausgegeben wird.
user@host> clear security flow session all
Beenden einer bestimmten Sitzung für Services Gateways der SRX-Serie
Sie können den folgenden Befehl verwenden, um die Sitzung zu beenden, deren Sitzungs-ID Sie angeben.
user@host> clear security flow session session-identifier 40000381
Verwenden von Filtern zum Festlegen der Sitzungen, die für Services Gateways der SRX-Serie beendet werden sollen
Sie können eine oder mehrere Sitzungen basierend auf dem Filterparameter beenden, den Sie für den clear
Befehl angeben. Im folgenden Beispiel wird das Protokoll als Filter verwendet.
user@host> clear security flow session protocol 89
Konfigurieren des Timeout-Werts für Multicast-Flow-Sitzungen
Sie können den Timeoutwert für Multicast-Flow-Sitzungen konfigurieren, indem Sie eine benutzerdefinierte Anwendung konfigurieren und die Anwendung einer Richtlinie zuordnen.
Multicast-Flow-Sitzungen verfügen über eine Vorlagensitzung und eine oder mehrere Leaf-Sitzungen. Da diese Sitzungen miteinander verknüpft sind, können sie nur einen Timeoutwert haben. Der Timeoutwert für Multicast-Flow-Sitzungen wird unter Berücksichtigung der in den Leaf-Sitzungsrichtlinien konfigurierten Timeoutwerte und der IP-Protokoll-Timeoutwerte bestimmt. Der höchste dieser Timeout-Werte wird als Timeout für Multicast-Flow-Sitzungen ausgewählt.
Wenn keine Zeitüberschreitungswerte für Blattsitzungen konfiguriert sind, wird der Zeitüberschreitungswert des IP-Protokolls automatisch als Zeitüberschreitungswert für die Multicast-Flow-Sitzung verwendet. Das IP-Protokoll-Timeout ist die Standardeinstellung und kann nicht konfiguriert werden.
Das Konfigurieren von Leaf-Sitzungs-Timeouts kann besonders hilfreich für Multicast-Streams sein, die ein längeres Paketintervall als das Standard-IP-Protokoll-Timeout aufweisen. Bei Multicast-Streams mit einem Paketintervall von mehr als 60 Sekunden kommt es beispielsweise zu einer vorzeitigen Alterung von Flow-Sitzungen und Paketverlusten mit dem UDP-Timeout-Wert, der immer 60 Sekunden beträgt. Für solche Streams können Sie einen höheren Timeoutwert für Blattsitzungen konfigurieren und Paketverluste verhindern.
Um den Timeoutwert für die Blattsitzung festzulegen, konfigurieren Sie eine benutzerdefinierte Anwendung, und ordnen Sie die Anwendung einer Richtlinie zu: