
Hallo, Kollegen! Heute möchte ich ein sehr aktuelles Thema für viele Administratoren von Check Point besprechen: "CPU- und RAM-Optimierung". Es kommt häufig vor, dass das Gateway und/oder der Management-Server unerwartet viel von diesen Ressourcen verbrauchen, und ich möchte verstehen, wohin sie "fließen" und wie wir sie effizienter nutzen können.
1. Analyse
Für die Analyse der CPU-Auslastung ist es nützlich, die folgenden Befehle im Expertenmodus einzugeben:
top zeigt alle Prozesse, den Anteil der verbrauchten CPU- und RAM-Ressourcen in Prozent, die Laufzeit, die Priorität des Prozesses und in Echtzeitund

cpwd_admin list Check Point WatchDog Daemon, der alle Module des Appliances, ihre PID, den Status und die Anzahl der Starts anzeigt.

cpstat -f cpu os CPU-Nutzung, deren Anzahl und Verteilung der Prozessorzeit in Prozent

cpstat -f memory os Verwendung des virtuellen RAM, wie viel aktiv und frei verfügbar ist, und anderes

Es ist richtig zu bemerken, dass alle cpstat-Befehle mit dem Dienstprogramm cpvieweingesehen werden können. Dazu muss einfach der Befehl cpview aus einem beliebigen Modus in der SSH-Sitzung eingegeben werden.


ps auxwf eine lange Liste aller Prozesse, ihrer IDs, des belegten virtuellen Speichers und des RAMs, CPU

Eine andere Variante des Befehls:
ps -aF zeigt den ressourcenintensivsten Prozess

fw ctl affinity -l -a Verteilung der Kerne auf verschiedene Instanzen der Firewall, also die Technologie CoreXL

fw ctl pstat Analyse der RAM-Nutzung und allgemeine Kennzahlen zu Verbindungen, Cookies, NAT

free -m RAM-Puffer

Besondere Beachtung verdient der Befehl netsat und seine Variationen. Zum Beispiel, netstat -i kann helfen, das Monitoring der Pufferspeicher zu lösen. Der Parameter RX dropped packets (RX-DRP) in der Ausgabe dieses Befehls steigt normalerweise von selbst aufgrund der Drops illegitimer Protokolle (IPv6, falsche/unbeabsichtigte VLAN-Tags und andere). Sollte es Drops aus anderen Gründen geben, lohnt es sich, diese , um zu beginnen, die Ursachen zu ermitteln und zu verstehen, warum dieser Netzwerkinterface Pakete verwirft. Nachdem die Ursache identifiziert wurde, kann die Leistung des Appliances ebenfalls optimiert werden.

Wenn das Blade Monitoring aktiviert ist, können diese Parameter grafisch in SmartConsole angesehen werden, indem man auf das Objekt klickt und den Punkt „Geräte- & Lizenzinformationen“ wählt.
Es wird nicht empfohlen, das Blade Monitoring dauerhaft zu aktivieren, aber für einen Tag zum Testen ist es durchaus möglich.

Darüber hinaus können weitere Parameter für das Monitoring hinzugefügt werden, einer davon ist sehr nützlich — Bytes Throughput (Durchsatz des Appliances).

Wenn es ein anderes Monitoring-System gibt, zum Beispiel kostenlos , basierend auf SNMP, eignet es sich ebenfalls zur Identifizierung solcher Probleme.
2. „RAM-Leck“ im Laufe der Zeit
Es stellt sich oft die Frage, dass im Laufe der Zeit der Gateway oder der Management-Server immer mehr RAM verbraucht. Ich möchte beruhigen: Das ist eine normale Geschichte für Linux-ähnliche Systeme.
Durch das Betrachten der Ausgaben der free -m und cpstat -f memory os Befehle im Appliance aus dem Expertenmodus kann man alle Parameter zu RAM zählen und ansehen.
Tatsächlich steht derzeit auf dem Gateway verfügbarer Speicher Freier Speicher + Buffer-Speicher + Cache-Speicher = +-1,5 GB, wie üblich.
Wie das SR sagt, optimiert sich der Gateway/Management-Server im Laufe der Zeit und nutzt immer mehr Speicher, bis er ungefähr 80 % Nutzung erreicht und dann stoppt. Sie können das Gerät neu starten, und dann wird der Wert zurückgesetzt. 1,5 GB freier RAM reicht dem Gateway definitiv aus, um alle Aufgaben zu erledigen, und das Management erreicht selten solche Grenzwerte.
Die Ausgaben der erwähnten Befehle zeigen außerdem, wie viel von Ihnen Niedriger Speicher (RAM im User-Space) und Hoher Speicher (RAM im Kernel-Space) genutzt wird.
Kernel-Prozesse (einschließlich aktiver Module wie Check Point-Kernel-Module) verwenden nur Niedrigen Speicher. Benutzerprozesse können jedoch sowohl Niedrigen als auch Hohen Speicher nutzen. Darüber hinaus entspricht Niedriger Speicher etwa Gesamter Speicher.
Sich sorgen sollten Sie nur, wenn in den Logs Fehler auftreten, die besagen: „Module neustarten oder Prozesse werden beendet, um Speicher wegen OOM (Out of Memory) zurückzugewinnen“. In diesem Fall sollten Sie den Gateway neu starten und den Support kontaktieren, wenn der Neustart nicht hilft.
Eine vollständige Beschreibung finden Sie in und .
3. Optimierung
Im Folgenden finden Sie Fragen und Antworten zur Optimierung von CPU und RAM. Diese sollte man ehrlich beantworten und den Empfehlungen aufmerksam folgen.
3.1. Wurde das Appliance richtig ausgewählt? Gab es ein Pilotprojekt?
Trotz einer korrekten Größeneinschätzung könnte sich das Netzwerk einfach vergrößert haben, und die Hardware kann die Last nicht bewältigen. Eine zweite Möglichkeit wäre, dass gar keine Größeneinschätzung vorgenommen wurde.
3.2. Ist die HTTPS-Inspektion aktiviert? Wenn ja, wurde die Technologie nach Best Practice konfiguriert?
Bitte wenden Sie sich an den , wenn Sie unser Kunde sind, oder an .
Die Anordnung der Regeln in der HTTPS-Inspektionspolitik ist von großer Bedeutung für die Optimierung des Zugriffs auf HTTPS-Websites.
Empfohlene Anordnung der Regeln:
- Bypass-Regeln mit Kategorien/URLs
- Inspektionsregeln mit Kategorien/URLs
- Inspektionsregeln für alle anderen Kategorien

Ähnlich wie bei der Firewall-Politik sucht Check Point von oben nach unten nach Paketübereinstimmungen, daher sollten Bypass-Regeln besser oben platziert werden, da das Gateway keine Ressourcen aufwenden muss, um alle Regeln durchzugehen, wenn das Paket übersprungen werden soll.
3.3 Werden Address-Range-Objekte verwendet?
Objekte mit Adressbereichen, z. B. das Netz 192.168.0.0-192.168.5.0, beanspruchen erheblich mehr RAM als 5 Netzwerkobjekte. Insgesamt wird empfohlen, nicht verwendete Objekte in der SmartConsole zu löschen, da das Gateway und der Management-Server jedes Mal Ressourcen und vor allem Zeit aufwenden, um die Politik zu verifizieren und anzuwenden, wenn die Politik installiert wird.
3.4 Wie ist die Politik zur Bedrohungsvermeidung eingestellt?
Zunächst empfiehlt Check Point, IPS in ein separates Profil auszulagern und separate Regeln für dieses Blade zu erstellen.
Beispielsweise sieht der Administrator vor, dass der DMZ-Segment nur mit IPS geschützt werden muss. Daher sollte das Gateway keine Ressourcen für die Verarbeitung von Paketen anderer Blades aufwenden, und es ist notwendig, eine Regel speziell für dieses Segment mit einem Profil zu erstellen, das nur IPS aktiviert.
Bezüglich der Profileinstellung wird empfohlen, sie nach den besten Praktiken in diesem (Seiten 17-20).
3.5 Wie viele Signaturen sind im IPS-Überwachungsmodus eingestellt?
Es wird empfohlen, die Signaturen intensiv zu bearbeiten, indem nicht verwendete Signaturen deaktiviert werden (z. B. benötigen Signaturen für die Ausnutzung von Adobe-Produkten viel Rechenleistung, und wenn der Kunde diese Produkte nicht hat, macht es Sinn, die Signaturen zu deaktivieren). Danach sollte, wo immer möglich, von Überwachung zu Prävention gewechselt werden, da das Gateway Ressourcen aufwendet, um die gesamte Verbindung im Überwachungsmodus zu verarbeiten, im Präventionsmodus wird die Verbindung sofort abgelehnt und es werden keine Ressourcen für die vollständige Verarbeitung des Pakets aufgewendet.
3.6 Welche Dateien werden von den Blades für Bedrohungsemulation, Bedrohungsextraktion, Anti-Virus verarbeitet?
Es macht keinen Sinn, Dateien mit Erweiterungen zu emulieren und zu analysieren, die Ihre Benutzer nicht herunterladen oder die Sie in Ihrem Netzwerk als unnötig erachten (zum Beispiel können bat- und exe-Dateien leicht mit dem Content Awareness-Blade auf Firewall-Ebene blockiert werden, wodurch weniger Ressourcen am Gateway verbraucht werden). Darüber hinaus macht es keinen Sinn, im Threat Emulation-Einstellungsbereich ein Environment (Betriebssystem) für die Bedrohungseimulation in der Sandbox auszuwählen und Windows 7 zu wählen, wenn alle Benutzer mit Version 10 arbeiten.
3.7. Sind die Firewall-Regeln und die Regeln der Anwendungsebene gemäß den Best Practices angeordnet?
Wenn eine Regel viele Treffer (Übereinstimmungen) hat, sollte sie ganz oben platziert werden, während Regeln mit wenigen Treffern ganz unten stehen sollten. Es ist wichtig, sicherzustellen, dass sie sich nicht überschneiden und gegenseitig blockieren. Die empfohlene Architektur der Firewall-Richtlinie ist:

Erläuterungen:
First Rules – hier werden die Regeln mit den meisten Übereinstimmungen platziert.
Noise Rule – Regel zur Eliminierung von ungeklärtem Verkehr wie NetBIOS.
Stealth Rule – Verbot des Zugriffs auf Gateways und Managements für alle außer den in den Regeln zur Authentifizierung zu Gateway-Regeln angegebenen Quellen.
Clean-Up, Last und Drop Rules werden in der Regel zu einer Regel zusammengefasst, um alles zu verbieten, was zuvor nicht erlaubt war.
Die Best Practices sind beschrieben in .
3.8. Welche Einstellungen haben die von den Administratoren erstellten Dienste?
Wenn beispielsweise ein TCP-Dienst auf einem bestimmten Port erstellt wird, macht es Sinn, in den erweiterten Einstellungen des Dienstes die Option „Match for Any“ zu deaktivieren. In diesem Fall fällt dieser Dienst konkret unter die Regel, in der er aufgeführt ist, und nimmt nicht an Regeln teil, in denen in der Spalte Services Any steht.

Wenn wir über Dienste sprechen, sollte erwähnt werden, dass es manchmal notwendig ist, die Zeitüberschreitungen anzupassen. Diese Einstellung ermöglicht eine effizientere Nutzung der Gateway-Ressourcen, um TCP/UDP-Sitzungen für Protokolle, die keine lange Zeitüberschreitung benötigen, nicht unnötig lange zu halten. Beispielsweise habe ich im folgenden Screenshot die Zeitüberschreitung des domain-udp-Dienstes von 40 Sekunden auf 30 Sekunden geändert.

3.9. Wird SecureXL verwendet und wie hoch ist der Beschleunigungsprozentsatz?
Die Qualität der Arbeit von SecureXL kann mit Hauptbefehlen im Expertenmodus am Gateway überprüft werden. fwaccel stat und fw accel stats -s. Danach muss geklärt werden, welcher Verkehr beschleunigt wird und welche Templates (Vorlagen) noch erstellt werden können.
Standardmäßig sind die Drop-Vorlagen deaktiviert, deren Aktivierung wirkt sich positiv auf die Funktion von SecureXL aus. Gehen Sie dazu in die Gatewokeinstellungen und dann auf die Registerkarte Optimierungen:

Beim Betrieb im Cluster können zur Optimierung der CPU die Synchronisierung nicht kritischer Dienste wie UDP DNS, ICMP und anderer deaktiviert werden. Gehen Sie dazu in die Serviceneinstellungen → Erweitert → Synchronisierung der Verbindungen der Status-Synchronisation ist im Cluster aktiviert.

Alle Best Practices sind beschrieben in .
3.10. Wie wird CoreXL verwendet?
Die CoreXL-Technologie, die mehrere CPUs für Firewall-Instanzen (Firewall-Module) nutzt, hilft eindeutig dabei, die Leistung des Geräts zu optimieren. Zunächst zeigt der Befehl fw ctl affinity -l -a die verwendeten Firewall-Instanzen und die Prozesse, die den notwendigen SND (Modul zur Verteilung des Verkehrs auf die Firewall-Entitäten) zugewiesen sind. Wenn nicht alle Prozessoren beteiligt sind, können diese mit dem Befehl hinzugefügt werden cpconfig auf dem Gateway.
Eine gute Option ist auch, einen für die Aktivierung von Multi-Queue zu installieren. Multi-Queue löst das Problem, wenn die CPU mit SND zu einem hohen Prozentsatz ausgelastet ist, während Firewall-Instanzen auf anderen Prozessoren untätig bleiben. Dadurch hätte SND die Möglichkeit, viele Warteschlangen für eine NIC zu erstellen und verschiedene Prioritäten für verschiedene Verkehrsarten auf Kernel-Ebene festzulegen. Folglich würden die CPU-Kerne effektiver genutzt werden. Methoden sind ebenfalls beschrieben in .
Abschließend möchte ich sagen, dass dies bei weitem nicht alle Best Practices zur Optimierung der Leistung von Check Point sind, sondern die bekanntesten. Wenn Sie eine Überprüfung Ihrer Sicherheitsrichtlinie anfordern oder ein Problem in Verbindung mit Check Point lösen möchten, wenden Sie sich bitte an sales@tssolution.ru.
Vielen Dank für Ihre Aufmerksamkeit!
Quelle: habr.com
