Web App Firewall Protokolle
Die Web App Firewall generiert Protokollmeldungen für die Nachverfolgung der Konfiguration, den Richtlinienaufruf und Details zu Verstößen gegen Sicherheitsüberprüfungen.
Wenn Sie die Protokollaktion für Sicherheitsprüfungen oder Signaturen aktivieren, enthalten die daraus resultierenden Protokollmeldungen Informationen über die Anforderungen und Antworten, die die Web App Firewall beim Schutz Ihrer Sites und Anwendungen beobachtet hat. Die wichtigsten Informationen sind die Maßnahmen, die die Web App Firewall ergriffen hat, wenn eine Signatur oder eine Verletzung der Sicherheitsüberprüfung festgestellt wurde. Für einige Sicherheitsüberprüfungen kann die Protokollnachricht nützliche Informationen liefern, z. B. den Standort des Benutzers oder ein erkanntes Muster, das eine Verletzung ausgelöst hat. Ein übermäßiger Anstieg der Anzahl von Nachrichten über Verstöße in den Protokollen kann auf einen Anstieg böswilliger Anfragen hinweisen. In der Meldung werden Sie darauf hingewiesen, dass Ihre Anwendung möglicherweise angegriffen wird, um eine bestimmte Sicherheitsanfälligkeit auszunutzen, die durch den Schutz der Web App Firewall erkannt und vereitelt wird.
Hinweis:
Wenn Sie die Protokolle der NetScaler Web App Firewall von den Systemprotokollen trennen möchten, müssen Sie einen externen SYSLOG-Server verwenden.
NetScaler (Native) Formatprotokolle
Die Web App Firewall verwendet standardmäßig die NetScaler-Formatprotokolle (auch als native Formatprotokolle bezeichnet). Diese Protokolle haben dasselbe Format wie die von anderen NetScaler-Funktionen generierten. Jedes Protokoll enthält die folgenden Felder:
- Zeitstempel. Datum und Uhrzeit, an dem die Verbindung hergestellt wurde.
- Schweregrad. Schweregrad des Protokolls.
- Modul. NetScaler-Modul, das den Protokolleintrag generiert hat.
- Event-Typ. Art des Ereignisses, wie Unterschriftenverletzung oder Verletzung der Sicherheitsüberprüfung.
- Ereignis-ID. Dem Ereignis zugewiesene ID.
- Client-IP. IP-Adresse des Benutzers, dessen Verbindung protokolliert wurde.
- Transaktions-ID. ID, die der Transaktion zugewiesen wurde, die das Protokoll verursacht hat.
- Sitzungs-ID. ID, die der Benutzersitzung zugewiesen wurde, die das Protokoll verursacht hat.
- Botschaft. Die Protokollnachricht. Enthält Informationen zur Identifizierung der Signatur oder Sicherheitsüberprüfung, die den Protokolleintrag ausgelöst hat.
Sie können nach jedem dieser Felder oder einer beliebigen Kombination von Informationen aus verschiedenen Feldern suchen. Ihre Auswahl ist nur durch die Funktionen der Tools begrenzt, die Sie zum Anzeigen der Protokolle verwenden. Sie können die Web App Firewall-Protokollmeldungen in der GUI beobachten, indem Sie auf den NetScaler Syslog-Viewer zugreifen, oder Sie können manuell eine Verbindung zur NetScaler-Appliance herstellen und über die Befehlszeilenschnittstelle auf Protokolle zugreifen, oder Sie können in die Shell wechseln und die Protokolle direkt aus /var/log/folder
verfolgen.
Beispiel einer Protokollmeldung im nativen Format
Jun 22 19:14:37 <local0.info> 10.217.31.98 06/22/2015:19:14:37 GMT ns 0-PPE-1 :
default APPFW APPFW_cross-site scripting 60 0 : 10.217.253.62 616-PPE1 y/3upt2K8ySWWId3Kavbxyni7Rw0000
pr_ffc http://aaron.stratum8.net/FFC/login.php?login_name=abc&passwd=
12345&drinking_pref=on&text_area=%3Cscript%3E%0D%0A&loginButton=ClickToLogin&as_sfid=
AAAAAAWEXcNQLlSokNmqaYF6dvfqlChNzSMsdyO9JXOJomm2v
BwAMOqZIChv21EcgBc3rexIUcfm0vckKlsgoOeC_BArx1Ic4NLxxkWMtrJe4H7SOfkiv9NL7AG4juPIanTvVo
%3D&as_fid=feeec8758b41740eedeeb6b35b85dfd3d5def30c Cross-site script check failed for
field text_area="Bad tag: script" <blocked>
<!--NeedCopy-->
Common Event Format (CEF) -Protokolle
Die Web App Firewall unterstützt auch CEF-Protokolle. CEF ist ein offener Protokollverwaltungsstandard, der die Interoperabilität sicherheitsrelevanter Informationen von verschiedenen Sicherheits- und Netzwerkgeräten und -anwendungen verbessert. Mit CEF können Kunden ein allgemeines Ereignisprotokollformat verwenden, sodass Daten einfach erfasst und für die Analyse durch ein Unternehmensverwaltungssystem aggregiert werden können. Die Protokollnachricht ist in verschiedene Felder unterteilt, sodass Sie die Nachricht einfach analysieren und Skripte schreiben können, um wichtige Informationen zu identifizieren.
Analysieren der CEF-Protokollnachricht
Neben Datum, Zeitstempel, Client-IP, Protokollformat, Appliance, Unternehmen, Build-Version, Modul- und Sicherheitsüberprüfungsinformationen enthalten die CEF-Protokollmeldungen der Web App Firewall die folgenden Details:
- src — Quell-IP-Adresse
- spt — Quell-Portnummer
- Anfrage — URL anfragen
- act — action (zum Beispiel blockiert, transformiert)
- msg — message (Meldung zur beobachteten Verletzung der Sicherheitsüberprüfung)
- Offset — stellt die Bytes vom Anfang der Datei dar.
- cn1 — Ereignis-ID
- cn2 — HTTP-Transaktion-ID
- cs1 — Profilname
- cs2 — PPE ID (zum Beispiel PPE1)
- cs3 — Sitzungs-ID
- cs4 — Schweregrad (zum Beispiel INFO, ALERT)
- cs5 — Ereignisjahr
- cs6 - Kategorie “Signatur-Verstoß”
- method — Methode (zum Beispiel GET/POST)
Betrachten Sie beispielsweise die folgende Protokollnachricht im CEF-Format, die generiert wurde, als ein Verstoß gegen die Start-URL ausgelöst wurde:
Jun 12 23:37:17 <local0.info> 10.217.31.98 CEF:0|Citrix|NetScaler|NS11.0
|APPFW|APPFW_STARTURL|6|src=10.217.253.62 spt=47606 method=GET
request=http://aaron.stratum8.net/FFC/login.html msg=Disallow Illegal URL. cn1=1340
cn2=653 cs1=pr_ffc cs2=PPE1 cs3=EsdGd3VD0OaaURLcZnj05Y6DOmE0002 cs4=ALERT cs5=2015
act=blocked
<!--NeedCopy-->
Die obige Nachricht kann in verschiedene Komponenten unterteilt werden. Weitere Informationen finden Sie in der Tabelle mit den CEP-Protokollkomponenten.
Beispiel für eine Anforderungsprüfung Verletzung im CEF-Protokollformat: Anforderung ist nicht blockiert
Jun 13 00:21:28 <local0.info> 10.217.31.98 CEF:0|Citrix|NetScaler|NS11.0|APPFW|
APPFW_FIELDCONSISTENCY|6|src=10.217.253.62 spt=761 method=GET request=
http://aaron.stratum8.net/FFC/login.php?login_name=abc&passwd=
123456789234&drinking_pref=on&text_area=&loginButton=ClickToLogin&as_sfid
=AAAAAAWIahZuYoIFbjBhYMP05mJLTwEfIY0a7AKGMg3jIBaKmwtK4t7M7lNxOgj7Gmd3SZc8KUj6CR6a
7W5kIWDRHN8PtK1Zc-txHkHNx1WknuG9DzTuM7t1THhluevXu9I4kp8%3D&as_fid=feeec8758b4174
0eedeeb6b35b85dfd3d5def30c msg=Field consistency check failed for field passwd cn1=1401
cn2=707 cs1=pr_ffc cs2=PPE1 cs3=Ycby5IvjL6FoVa6Ah94QFTIUpC80001 cs4=ALERT cs5=2015 act=
not blocked
<!--NeedCopy-->
Beispiel für eine Verletzung der Antwortprüfung im CEF-Format: Antwort wird transformiert
Jun 13 00:25:31 <local0.info> 10.217.31.98 CEF:0|Citrix|NetScaler|NS11.0|APPFW|
APPFW_SAFECOMMERCE|6|src=10.217.253.62 spt=34041 method=GET request=
http://aaron.stratum8.net/FFC/CreditCardMind.html msg=Maximum number of potential credit
card numbers seen cn1=1470 cn2=708 cs1=pr_ffc cs2=PPE1
cs3=Ycby5IvjL6FoVa6Ah94QFTIUpC80001 cs4=ALERT cs5=2015 act=transformed
<!--NeedCopy-->
Beispiel für eine Verletzung der anforderungsseitigen Signatur im CEF-Format: Anfrage ist blockiert
Jun 13 01:11:09 <local0.info> 10.217.31.98 CEF:0|Citrix|NetScaler|NS11.0|APPFW|
APPFW_SIGNATURE_MATCH|6|src=10.217.253.62 spt=61141 method=GET request=
http://aaron.stratum8.net/FFC/wwwboard/passwd.txt msg=Signature violation rule ID 807:
web-cgi /wwwboard/passwd.txt access cn1=140 cn2=841 cs1=pr_ffc cs2=PPE0
cs3=OyTgjbXBqcpBFeENKDlde3OkMQ00001 cs4=ALERT cs5=2015 cs6=web-cgi act=blocked
<!--NeedCopy-->
Beispiel für einen Verstoß gegen die Antwortprüfung im CEF-Format für einen Offset:
Jan 24 10:00:00 <local0.warn> 10.175.4.47 CEF:0|Citrix|NetScaler|NS13.0|APPFW|APPFW_XML_ERR_NOT_WELLFORMED|4|src=5.31.100.129 spt=20644 method=GET request=https://wifiuae.duwifi.ae/publishApplications/en/5dafe3e74fa8015599009bc1/images/fallback_photo.svg msg=XML Format check failed: Message is not a well-formed XML.Error string is 'unclosed token'. Offset:-517597 cn1=547290214 cn2=974226675 cs1=WIFI_UAE_AppFw cs2=PPE0 cs4=ERROR cs5=2023 act=blocked
<!--NeedCopy-->
In diesem Beispiel trat die XML_ERR_NOT_WELLFORMED-Verletzung aufgrund von auf unclosed token
. Dieser Verstoß liegt an der Position 517597 vom Anfang der Datei an.
Protokollieren der Geolocation in den Verstoßmeldungen der Web App Firewall
Die Protokolldetails identifizieren den Ort, von dem Anforderungen stammen, und helfen Ihnen, die Web App Firewall für die optimale Sicherheitsstufe zu konfigurieren. Um Sicherheitsimplementierungen wie Ratenbegrenzungen zu Bypass, die auf den IP-Adressen der Clients beruhen, können Malware oder nicht autorisierte Computer die Quell-IP-Adresse in Anfragen ständig ändern. Durch die Identifizierung der spezifischen Region, aus der Anfragen kommen, kann festgestellt werden, ob die Anfragen von einem gültigen Benutzer oder einem Gerät stammen, das versucht, Cyberangriffe zu starten. Wenn beispielsweise eine übermäßig große Anzahl von Anfragen aus einem bestimmten Bereich eingeht, kann leicht festgestellt werden, ob sie von Benutzern oder einem Schurkencomputer gesendet werden. Die Geolokalisierungsanalyse des empfangenen Datenverkehrs kann nützlich sein, um Angriffe wie Denial-of-Service-Angriffe (DoS) abzuwehren.
Die Web App Firewall bietet Ihnen die Möglichkeit, die integrierte NetScaler-Datenbank zu verwenden, um die Speicherorte zu identifizieren, die den IP-Adressen entsprechen, von denen böswillige Anfragen stammen. Sie können dann ein höheres Sicherheitsniveau für Anfragen von diesen Sites erzwingen. NetScaler-Standardsyntaxausdrücke (PI) bieten Ihnen die Flexibilität, standortbasierte Richtlinien zu konfigurieren, die zusammen mit der integrierten Standortdatenbank verwendet werden können, um den Firewallschutz anzupassen und so Ihren Schutz vor koordinierten Angriffen zu stärken, die von betrügerischen Clients in einer bestimmten Region ausgeführt werden.
Sie können die integrierte NetScaler-Datenbank oder eine andere Datenbank verwenden. Wenn die Datenbank keine Standortinformationen für die bestimmte Client-IP-Adresse enthält, zeigt das CEF-Protokoll die Geolocation als unbekannte Geolocation an.
Hinweis:
Die Geolocation-Protokollierung verwendet das Common Event Format (CEF). Standardmäßig sind
CEF logging
undGeoLocationLogging
AUS. Sie müssen beide Parameter explizit aktivieren.
Beispiel für eine CEF-Protokollnachricht mit Geolokationsinformationen
June 8 00:21:09 <local0.info> 10.217.31.98 CEF:0|Citrix|NetScaler|NS11.0|APPFW|
APPFW_STARTURL|6|src=10.217.253.62 geolocation=NorthAmerica.US.Arizona.Tucson.*.*
spt=18655 method=GET request=http://aaron.stratum8.net/FFC/login.html
msg=Disallow Illegal URL. cn1=77 cn2=1547 cs1=test_pr_adv cs2=PPE1
cs3=KDynjg1pbFtfhC/nt0rBU1o/Tyg0001 cs4=ALERT cs5=2015 act=not blocked
<!--NeedCopy-->
Beispiel einer Protokollnachricht mit Geolocation= Unknown
June 9 23:50:53 <local0.info> 10.217.31.98 CEF:0|Citrix|NetScaler|NS11.0|
APPFW|APPFW_STARTURL|6|src=10.217.30.251 geolocation=Unknown spt=5086
method=GET request=http://aaron.stratum8.net/FFC/login.html msg=Disallow Illegal URL.
cn1=74 cn2=1576 cs1=test_pr_adv cs2=PPE2 cs3=PyR0eOEM4gf6GJiTyauiHByL88E0002
cs4=ALERT cs5=2015 act=not blocked
<!--NeedCopy-->
Konfigurieren der Protokollaktion und anderer Protokollparameter mithilfe der Befehlsschnittstelle
So konfigurieren Sie die Protokollaktion für eine Sicherheitsüberprüfung eines Profils über die Befehlszeile
Geben Sie an der Eingabeaufforderung einen der folgenden Befehle ein:
set appfw profile <name> SecurityCheckAction ([log] | [none])
unset appfw profile <name> SecurityCheckAction
Beispiele
set appfw profile pr_ffc StartURLAction log
unset appfw profile pr_ffc StartURLAction
So konfigurieren Sie die CEF-Protokollierung über die Befehlszeile
Die CEF-Protokollierung ist standardmäßig deaktiviert. Geben Sie an der Eingabeaufforderung einen der folgenden Befehle ein, um die aktuelle Einstellung zu ändern oder anzuzeigen:
set appfw settings CEFLogging on
unset appfw settings CEFLogging
sh appfw settings | grep CEFLogging
So konfigurieren Sie die Protokollierung der Kreditkartennummern über die Befehlszeile
Geben Sie an der Eingabeaufforderung einen der folgenden Befehle ein:
set appfw profile <name> -doSecureCreditCardLogging ([ON] | [OFF])
unset appfw profile <name> -doSecureCreditCardLogging
So konfigurieren Sie die Geolocation-Protokollierung über die Befehlszeile
-
Verwenden Sie den Befehl set, um GeoLocationLogging zu aktivieren. Sie können die CEF-Protokollierung gleichzeitig aktivieren. Verwenden Sie den Befehl unset, um die Geolocation-Protokollierung zu deaktivieren. Der Befehl show zeigt die aktuellen Einstellungen aller Web App Firewall-Parameter an, es sei denn, Sie schließen den Befehl grep ein, um die Einstellung für einen bestimmten Parameter anzuzeigen.
set appfw settings GeoLocationLogging ON [CEFLogging ON]
unset appfw settings GeoLocationLogging
sh appfw settings | grep GeoLocationLogging
-
Geben Sie die Datenbank an
add locationfile /var/netscaler/inbuilt_db/Citrix_netscaler_InBuilt_GeoIP_DB.csv
Oder
add locationfile <path to database file>
Anpassen der Web App Firewall-Protokolle
Standardformat-Ausdrücke (PI) geben Ihnen die Flexibilität, die in den Protokollen enthaltenen Informationen anzupassen. Sie haben die Möglichkeit, die spezifischen Daten, die Sie erfassen möchten, in die von der Web App Firewall generierten Protokollmeldungen aufzunehmen. Wenn Sie beispielsweise die AAA-TM-Authentifizierung zusammen mit den Sicherheitsüberprüfungen der Web App Firewall verwenden und die URL, auf die zugegriffen wird, die den Verstoß gegen die Sicherheitsüberprüfung ausgelöst hat, den Namen des Benutzers, der die URL angefordert hat, die Quell-IP-Adresse und den Quellport, von dem aus der Benutzer die Anfrage gesendet hat, wissen möchten, können Sie kann die folgenden Befehle verwenden, um benutzerdefinierte Protokollmeldungen anzugeben, die alle Daten enthalten:
> sh version
NetScaler NS12.1: Build 50.0013.nc, Date: Aug 28 2018, 10:51:08 (64-bit)
Done
<!--NeedCopy-->
> add audit messageaction custom1 ALERT 'HTTP.REQ.URL + " " + HTTP.REQ.USER.NAME + " " + CLIENT.IP.SRC + ":" + CLIENT.TCP.SRCPORT'
Warning: HTTP.REQ.USER has been deprecated. Use AAA.USER instead.
Done
<!--NeedCopy-->
> add appfw profile test_profile
Done
<!--NeedCopy-->
> add appfw policy appfw_pol true test_profile -logAction custom1
Done
<!--NeedCopy-->
Konfigurieren der Syslog-Richtlinie, um Web App Firewall-Protokolle zu trennen
Die Web App Firewall bietet Ihnen die Möglichkeit, die Sicherheitsprotokollmeldungen der Web App Firewall zu isolieren und in eine andere Protokolldatei umzuleiten. Dies kann wünschenswert sein, wenn die Web App Firewall viele Protokolle generiert, wodurch es schwierig wird, andere NetScaler-Protokollmeldungen anzuzeigen. Sie können diese Option auch verwenden, wenn Sie nur die Web App Firewall-Protokollmeldungen anzeigen möchten und die anderen Protokollmeldungen nicht sehen möchten.
Um die Web App Firewall-Protokolle in eine andere Protokolldatei umzuleiten, konfigurieren Sie eine Syslog-Aktion, um die Web App Firewall-Protokolle an eine andere Protokolleinrichtung zu senden. Sie können diese Aktion verwenden, wenn Sie die Syslog-Richtlinie konfigurieren und global für die Verwendung durch Web App Firewall binden.
Hinweise:
Um Richtlinien der Web App Firewall global zu binden, können Sie den globalen Bindungsparameter “APPFW_GLOBAL” in den Befehlen “bind audit syslogGlobal” und “bind audit nslogGlobal” konfigurieren. Die global gebundenen Überwachungsprotokollrichtlinien können Protokollmeldungen im Protokollierungskontext der Web App Firewall auswerten.
Sie können Web Application Firewall-Protokolle nicht von einem lokalen Audit- oder SYSLOG-Server trennen, der auf NetScaler ausgeführt wird. Die Verwendung der Local2-Protokollfunktion führt dazu, dass sowohl Web Application Firewall- als auch IP-Reputation-Protokolle in derselben Protokolldatei empfangen werden.
Beispiel:
-
Wechseln Sie zur Shell und bearbeiten Sie mit einem Editor wie vi die Datei /etc/syslog.conf. Fügen Sie einen neuen Eintrag hinzu, um local2.* zu verwenden, um Protokolle an eine separate Datei zu senden, wie im folgenden Beispiel gezeigt:
local2.\* /var/log/ns.log.appfw
-
Starten Sie den Syslog-Prozess neu. Sie können den Befehl grep verwenden, um die Syslog-Prozess-ID (PID) zu identifizieren, wie im folgenden Beispiel gezeigt:
root@ns\# **ps -A | grep syslog**
1063 ?? Ss 0:03.00 /usr/sbin/syslogd -b 127.0.0.1 -n -v -v -8 -C
root@ns# **kill -HUP** 1063
-
Konfigurieren Sie über die Befehlszeilenschnittstelle entweder erweiterte oder klassische SYSLOG-Richtlinien mit Aktion und binden Sie sie als globale Web App Firewall-Richtlinie. Citrix empfiehlt Ihnen, die erweiterte SYSLOG-Richtlinie zu konfigurieren.
Erweiterte SYSLOG-Richtlinienkonfiguration
add audit syslogAction sysact1 1.1.1.1 -logLevel ALL -logFacility LOCAL2
add audit syslogPolicy syspol1 true sysact1
bind audit syslogGlobal -policyName syspol1 -priority 100 -globalBindType APPFW_GLOBAL
Klassische SYSLOG-Richtlinienkonfiguration
add audit syslogAction sysact1 1.1.1.1 -logLevel ALL -logFacility LOCAL2
add audit syslogPolicy syspol1 ns_true sysact1
bind appfw global syspol1 100
-
Alle Verstöße gegen die Sicherheitsüberprüfung der Web App Firewall werden jetzt in die Datei
/var/log/ns.log.appfw
umgeleitet. Sie können diese Datei verkürzen, um die Verstöße gegen die Web App Firewall anzuzeigen, die während der Verarbeitung des laufenden Datenverkehrs ausgelöst werden.root@ns# tail -f ns.log.appfw
Hinweise:
Wenn Sie Protokolle an eine andere Protokolldatei auf der lokalen NetScaler Appliance senden möchten, können Sie auf dieser lokalen NetScaler Appliance einen Syslog-Server erstellen. Fügen Sie
syslogaction
zu der eigenen IP hinzu und konfigurieren Sie den ADC so, als würden Sie einen externen Server konfigurieren. Der ADC fungiert als Server zum Speichern Ihrer Logs. Zwei Aktionen können nicht mit derselben IP und demselben Port hinzugefügt werden. Insyslogaction
ist der Wert von IP standardmäßig auf127.0.0.1
und der Wert von Port auf514
festgelegt.Wenn Sie die Syslog-Richtlinie so konfiguriert haben, dass die Protokolle an eine andere Protokolleinrichtung umgeleitet werden, werden die Web App Firewall-Protokollmeldungen nicht mehr in der
/var/log/ns.log
Datei angezeigt.
Senden der Application Firewall-Meldungen an einen separaten SYSLOG-Server
Um die Application Firewall-Meldungen an einen separaten SYSLOG-Server zu senden, müssen Sie die folgenden Schritte ausführen:
-
Ein sicheres Dienstprogramm zur Dateiübertragung wie WinSCP
-
Ein Dienstprogramm zum Öffnen einer SSH-Konsole für die Appliance wie PuTTY
Die folgenden Schritte sind erforderlich, um die Application Firewall-Meldungen an einen separaten SYSLOG-Server zu senden:
-
Melden Sie sich über WinSCP bei der NetScaler-Appliance an.
-
Aktualisieren Sie die Datei /etc/syslog.conf und fügen Sie der Datei folgende Zeile hinzu:
local5.* /var/log/appfw.log
-
Führen Sie den folgenden Befehl über die Befehlszeilenschnittstelle aus, um die syslog PID neu zu starten:
kill –HUP <PID>
-
Führen Sie den folgenden Befehl über die Befehlszeilenschnittstelle aus, um eine Syslog-Aktion wie sysact1 hinzuzufügen:
add audit syslogAction sysact1 127.0.0.1 -logLevel ALL -logFacility LOCAL5
-
Führen Sie den folgenden Befehl aus, um die syspol1-Richtlinie hinzuzufügen, die den sysact1-Server verwendet:
add audit syslogPolicy syspol1 ns_true sysact1
Oder fügen Sie erweiterte Syslog-Richtlinien hinzu:add audit syslogPolicy syspol1 true sysact1
-
Führen Sie den folgenden Befehl aus, um die Anwendungs-Firewall-Richtlinie zu binden und sicherzustellen, dass sie in der Datei ns.conf gespeichert ist:
bind appfw global syspol1 100
Oder führen Sie den folgenden Befehl aus, um die Advanced Syslog-Richtlinie zu binden:
bind audit syslogGlobal -policyName syspol1 -priority 100 -globalBindType APPFW_GLOBAL
Alle Verstöße gegen die Sicherheitsüberprüfung der Anwendungsfirewall werden an /var/log/appfw.log
umgeleitet und werden nicht mehr in ns.log
angezeigt. Sie können jetzt den Befehl tail ausführen und die neuesten Einträge in der anzeigen /var/log/appfw.log
.
Web App Firewall-Protokolle anzeigen
Sie können die Protokolle anzeigen, indem Sie den Syslog-Viewer verwenden oder sich bei der NetScaler-Appliance anmelden, eine UNIX-Shell öffnen und den UNIX-Texteditor Ihrer Wahl verwenden.
So greifen Sie mit der Befehlszeile auf die Protokollmeldungen zu
Wechseln Sie zur Shell und schließen Sie die ns.logs im Ordner /var/log/ an, um auf die Protokollmeldungen zuzugreifen, die sich auf Verstöße gegen die Sicherheitsüberprüfung der Web App Firewall beziehen:
Shell
tail -f /var/log/ns.log
Sie können den vi-Editor oder einen beliebigen Unix-Texteditor oder ein Textsuchwerkzeug verwenden, um die Protokolle nach bestimmten Einträgen anzuzeigen und zu filtern. Sie können den Befehl grep
beispielsweise verwenden, um auf die Protokollmeldungen zuzugreifen, die sich auf die Kreditkartenverletzungen beziehen:
tail -f /var/log/ns.log | grep SAFECOMMERCE
So greifen Sie mit der GUI auf die Protokollmeldungen zu
Die GUI enthält ein nützliches Tool (Syslog Viewer) zur Analyse der Logmeldungen. Sie haben mehrere Optionen für den Zugriff auf den Syslog Viewer:
- Um Protokollmeldungen für eine bestimmte Sicherheitsüberprüfung eines Profils anzuzeigen, navigieren Sie zu Web App Firewall > Profile, wählen Sie das Zielprofil aus und klicken Sie auf Sicherheitsprüfungen. Markieren Sie die Zeile für die Zielsicherheitsprüfung und klicken Sie auf Protokolle. Wenn Sie direkt von der ausgewählten Sicherheitsüberprüfung des Profils auf die Protokolle zugreifen, filtert es die Protokollmeldungen heraus und zeigt nur die Protokolle an, die sich auf die Verletzungen für die ausgewählte Sicherheitsüberprüfung beziehen. Der Syslog-Viewer kann Web App Firewall-Protokolle im nativen Format und im CEF-Format anzeigen. Damit der Syslog-Viewer jedoch die zielprofilspezifischen Protokollmeldungen herausfiltern kann, müssen die Protokolle beim Zugriff über das Profil im CEF-Protokollformat vorliegen.
- Sie können auch auf den Syslog Viewer zugreifen, indem Sie zu NetScaler > System > Auditing navigieren. Klicken Sie im Abschnitt Überwachungsmeldungen auf den Link Syslog-Meldungen, um den Syslog-Viewer anzuzeigen, in dem alle Protokollmeldungen angezeigt werden, einschließlich aller Protokolle von Verstößen gegen die Sicherheitsüberprüfung der Web App Firewall für alle Profile. Die Protokollmeldungen sind nützlich für das Debuggen, wenn während der Anforderungsverarbeitung mehrere Verstöße gegen die Sicherheitsüberprüfung ausgelöst werden können.
- Navigieren Sie zu Web App Firewall > Richtlinien > Auditing. Klicken Sie im Abschnitt Überwachungsmeldungen auf den Link Syslog-Meldungen, um den Syslog-Viewer anzuzeigen, in dem alle Protokollmeldungen einschließlich aller Protokolle von Sicherheitsüberprüfungen für alle Profile angezeigt werden.
Der HTML-basierte Syslog Viewer bietet die folgenden Filteroptionen, um nur die Protokollmeldungen auszuwählen, die für Sie von Interesse sind:
-
Datei— Die aktuelle Datei
/var/log/ns.log
ist standardmäßig ausgewählt, und die entsprechenden Meldungen werden im Syslog Viewer angezeigt. Eine Liste anderer Protokolldateien im /var/log-Verzeichnis ist in einem komprimierten.gz-Format verfügbar. Um eine archivierte Protokolldatei herunterzuladen und zu dekomprimieren, wählen Sie die Protokolldatei aus der Dropdown-Liste aus. Die Protokollmeldungen, die sich auf die ausgewählte Datei beziehen, werden dann im Syslog-Viewer angezeigt. Um die Anzeige zu aktualisieren, klicken Sie auf das Aktualisierungssymbol (ein Kreis aus zwei Pfeilen). -
Modullistenfeld—Sie können das NetScaler-Modul auswählen, dessen Protokolle Sie anzeigen möchten. Sie können es auf APPFW für Web App Firewall-Protokolle setzen.
-
Listenfeld Ereignisart—Dieses Feld enthält eine Reihe von Kontrollkästchen zur Auswahl des Ereignistyps, an dem Sie interessiert sind. Um beispielsweise die Protokollmeldungen zu den Signaturverletzungen anzuzeigen, können Sie das Kontrollkästchen APPFW_SIGNATURE_MATCH aktivieren. In ähnlicher Weise können Sie ein Kontrollkästchen aktivieren, um die für Sie interessante Sicherheitsüberprüfung zu aktivieren. Sie können mehrere Optionen auswählen.
-
Schweregrad—Sie können einen bestimmten Schweregrad auswählen, um nur die Protokolle für diesen Schweregrad anzuzeigen. Lassen Sie alle Kontrollkästchen leer, wenn Sie alle Protokolle sehen möchten.
Um auf die Protokollmeldungen der Sicherheitsüberprüfung der Web App Firewall für eine bestimmte Sicherheitsüberprüfung zuzugreifen, filtern Sie, indem Sie in der Dropdown-Liste für Modul APPFW auswählen. Der Event-Typ zeigt eine Vielzahl von Optionen an, um Ihre Auswahl weiter zu verfeinern. Wenn Sie beispielsweise das Kontrollkästchen APPFW_FIELDFORMAT aktivieren und auf die Schaltfläche Übernehmen klicken, werden im Syslog Viewer nur Protokollnachrichten im Zusammenhang mit den Sicherheitsüberprüfungsverletzungen für Feldformate angezeigt. Wenn Sie die Kontrollkästchen APPFW_SQL und APPFW_STARTURL aktivieren und auf die Schaltfläche Übernehmen klicken, werden im Syslog-Viewer nur Protokollmeldungen zu diesen beiden Verstößen gegen die Sicherheitsüberprüfung angezeigt.
Wenn Sie den Cursor in die Zeile für eine bestimmte Protokollnachricht setzen, werden mehrere Optionen wie Module, EventType, EventIDoderMessage unter der Protokollnachricht angezeigt. Sie können eine dieser Optionen auswählen, um die entsprechenden Informationen in den Protokollen hervorzuheben.
Highlights
- Unterstützung des CEF-Protokollformats— Die CEF-Protokollformat-Option bietet eine praktische Option zum Überwachen, Analysieren und Analysieren der Web App Firewall Protokollmeldungen, um Angriffe zu erkennen, konfigurierte Einstellungen zu optimieren, um Fehlalarme zu verringern und Statistiken zu sammeln.
- Option zum Anpassen der Protokollnachricht— Sie können erweiterte PI-Ausdrücke verwenden, um Protokollmeldungen anzupassen und die Daten, die Sie sehen möchten, in die Protokolle aufzunehmen.
- Segregieren Sie Web App Firewall-spezifische Protokolle— Sie haben die Möglichkeit, anwendungsfirewall-spezifische Protokolle zu filtern und in eine separate Protokolldatei umzuleiten.
- Remote-Protokollierung— Sie können die Protokollmeldungen an einen Remote-Syslog-Server umleiten.
- Geolocation-Protokollierung— Sie können die Web App Firewall so konfigurieren, dass sie die Geolocation des Bereichs einschließt, von dem aus die Anforderung empfangen wird. Eine eingebaute Geolokationsdatenbank ist verfügbar, aber Sie haben die Möglichkeit, eine externe Geolokationsdatenbank zu verwenden. Die NetScaler-Appliance unterstützt statische IPv4- und IPv6-Geolokationsdatenbanken.
-
Informationsreiche Protokollnachricht— Im Folgenden finden Sie einige Beispiele für die Art der Informationen, die je nach Konfiguration in die Protokolle aufgenommen werden können:
- Eine Web App Firewall-Richtlinie wurde ausgelöst.
- Ein Verstoß gegen die Sicherheitsüberprüfung wurde ausgelöst.
- Eine Anfrage wurde als missgebildet angesehen.
- Eine Anfrage oder die Antwort wurde blockiert oder nicht blockiert.
- Anforderungsdaten (wie SQL- oder Cross-Site-Scripting-Sonderzeichen) oder Antwortdaten (wie Kreditkartennummern oder sichere Objektzeichenfolgen) wurden transformiert.
- Die Anzahl der Kreditkarten in der Antwort überschritt das konfigurierte Limit.
- Die Kreditkartennummer und der Kreditkartentyp.
- Die in den Signaturregeln konfigurierten Protokollzeichenfolgen und die Signatur-ID.
- Geolokationsinformationen über die Quelle der Anfrage.
- Maskierte (X) Benutzereingaben für geschützte vertrauliche Felder.
Maskieren Sie sensible Daten mit einem Regex-M
Die erweiterte Richtlinienfunktion (PI) REGEX_REPLACE
in einem Protokollausdruck (gebunden an ein Web Application Firewall (WAF) -Profil) ermöglicht es Ihnen, sensible Daten in WAF-Protokollen zu maskieren. Sie können die Option verwenden, um Daten mithilfe eines Regex-Musters zu maskieren und ein Zeichen oder ein Zeichenfolgenmuster bereitzustellen, um die Daten zu maskieren. Sie können die PI-Funktion auch so konfigurieren, dass sie das erste Vorkommen oder alle Vorkommen des Regex-Musters ersetzt.
Standardmäßig bietet die GUI-Schnittstelle die folgende Maske:
- SSN
- Kreditkarte
- Kennwort
- Benutzername
Maskieren Sie sensible Daten in Web Application Firewall-
Sie können sensible Daten in WAF-Protokollen maskieren, indem Sie den erweiterten Richtlinienausdruck REGEX_REPLACE
in dem an ein WAF-Profil gebundenen Protokollausdruck konfigurieren.
Um sensible Daten zu maskieren, müssen Sie die folgenden Schritte ausführen:
- Hinzufügen eines Web Application Firewall-Profils
- Binden Sie einen Protokollausdruck an das WAF-Profil
Hinzufügen eines Web Application Firewall-Profils
Geben Sie in der Befehlszeile Folgendes ein:
add appfw profile <name>
Beispiel:
Add appfw profile testprofile1
Binden eines Protokollausdrucks mit dem Web Application Firewall-Profil
Geben Sie in der Befehlszeile Folgendes ein:
bind appfw profile <name> -logExpression <string> <expression> –comment <string>
Beispiel:
bind appfw profile testProfile -logExpression "MaskSSN" "HTTP.REQ.BODY(10000).REGEX_REPLACE(re!\b\d{3}-\d{2}-\d{4}\b!, “xxx”, ALL)" -comment "SSN Masked"
Maskieren Sie sensible Daten in Web Application Firewall-Protokollen über die NetScaler-GUI
- Erweitern Sie im Navigationsbereich Sicherheit > NetScaler Web App Firewall > Profile.
- Klicken Sie auf der Seite Profile auf Bearbeiten.
- Navigieren Sie auf der Seite NetScaler Web App Firewall Profile zum Abschnitt Erweiterte Einstellungen und klicken Sie auf Erweiterte Protokollierung.
-
Klicken Sie im Abschnitt Erweitertes Logging auf Hinzufügen.
-
Legen Sie auf der Seite Create NetScaler Web App Firewall Extended Log Binding die folgenden Parameter fest:
- Name. Name des Protokollausdrucks.
- Aktiviert. Wählen Sie diese Option um sensible Daten zu maskieren.
- Log-Maske. Wählen Sie die zu maskierten Daten aus.
- Expression. Geben Sie den erweiterten Richtlinienausdruck ein, mit dem Sie sensible Daten in WAF-Protokollen maskieren
- Kommentare. Kurze Beschreibung der Maskierung sensibler Daten.
- Klicken Sie auf Erstellen und Schließen.
In diesem Artikel
- NetScaler (Native) Formatprotokolle
- Common Event Format (CEF) -Protokolle
- Protokollieren der Geolocation in den Verstoßmeldungen der Web App Firewall
- Konfigurieren der Protokollaktion und anderer Protokollparameter mithilfe der Befehlsschnittstelle
- Konfigurieren der Syslog-Richtlinie, um Web App Firewall-Protokolle zu trennen
- Senden der Application Firewall-Meldungen an einen separaten SYSLOG-Server
- Web App Firewall-Protokolle anzeigen
- Highlights
- Maskieren Sie sensible Daten mit einem Regex-M