Von Zeit zu Zeit ist es notwendig, die Logs einer FortiGates per CLI auszulesen. Dies kann beispielsweise dann von Nöten sein, wenn die FortiGate nur per CLI erreichbar ist oder der Inhalt eines Logs von einem Script ausgewertet werden soll.
Zum ausgeben der Logs auf dem CLI wie folgt vorgehen:
- SSH Verbindung zur FortiGate aufbauen (Seriell funktioniert auch, da sind jedoch einige unnötige Zeilenumbrüche im Logfile)
- Die Filter per Befehl konfigurieren (Siehe Beispiele weiter unten)
- Aufzeichnung in ein Logfile im SSH Client aktivieren
- Logs per Befehl
exec log display
ausgeben
- Aufzeichnung ins Logfile beenden und das erstellte Logfile auswerten
- SSH Verbindung beenden
Zu beachten:
- Die Datumsformate sind im amerikanischen Layout
- Alle Eingaben auf dem FortiGate sind CASE SENSITIVE
- Es werden maximal 1000 Zeilen ausgegeben.
Beispiele für Log Filter:
Authentifizierungs Events für einen Benutzer in einer Zeitspanne von einigen Tagen ausgeben:
exec log filter category 1 exec log filter field user username exec log filter field date 2019/02/08-2019/02/11 exec log display
Authentifizierungs Events für einen Benutzer in einer Zeitspanne von einigen Stunden an einem bestimmten Datum ausgeben:
exec log filter category 1 exec log filter field user username exec log filter field date 2019/02/11 exec log filter field time 15:22:00-15:23:00 exec log display
Vor der Ausgabe der Logs kann der Filter mit
exec log filter dump
angezeigt und überprüft werden.
Die Anzahl anzuzeigender Logeinträge kann mit
exec log filter view-lines 1000
festgelegt werden. Default ist 10, maximal sind 1000.
Nach der Ausgabe der Logs kann der Filter mit
exec log filter reset
zurückgesetzt werden.
Weitere Informationen und Inspirationen für eigene Filter sind auf dieser help.fortinet.com Webseite zu finden.
Folgende Filterkriterien können festgelegt werden:
category - Kategorie field - Einzelner Parameter aus dem Log free-style - Eine RegEx zur Suche ha-member - Welche Box des HA Clusters durchsucht werden soll device - Von welchem Gerät die Logs angezeigt werden dump - Zeige aktuelle Filtereinstellungen an max-checklines - Maximale Anzahl an Zeilen durchsucht werden sollen start-line - Ab welcher Zeile die Logs ausgegeben werden sollen view-line - Anzahl anzuzeigender Zeilen reset - Zurücksetzen des Filters
Die Kategorien welche zur Auswahl stehen sind:
0: traffic 1: event 2: utm-virus 3: utm-webfilter 4: utm-ips 5: utm-emailfilter 7: utm-anomaly 8: utm-voip 9: utm-dlp 10: utm-app-ctrl 12: utm-waf 15: dns 16: utm-ssh
Auch im HA Cluster gibt es ab und zu die Notwendigkeit, die Logs auf der Konsole auszugeben, welche HA relevante Themen betreffen. Glücklicherweise sind alle HA Logs in einer eigenen Sub-Kategorie abgelegt und können so ganz einfach gefiltert werden:
exec log filter category 1 exec log filter free-style "subtype = ha" exec log display
Weitere praktische Befehle im Umgang mit Logs
Backup aller memory-logs auf einen FTP server
execute backup memory alllogs ftp {ftp server}[:ftp port] FTP server IP or FQDN, can be attached with port. {Enter}|{user} FTP username may be needed. {passwd} FTP password.
Backup aller memory-logs auf einen TFTP server
execute backup memory alllogs tftp {ip} IP address of TFTP server.
Backup ausgewählter memory log files auf einen FTP server
execute backup memory log ftp {ftp server}[:ftp port] FTP server IP or FQDN, can be attached with port. {user} ftp username {passwd} FTP password. {string} , traffic, event, virus, webfilter, ips, emailfilter, anomaly, voip, dlp, app-ctrl, waf, dns, ssh
Backup ausgewählter memory log files auf einen TFTP server
execute backup memory log tftp {ip} IP address of TFTP server. {string} , traffic, event, virus, webfilter, ips, emailfilter, anomaly, voip, dlp, app-ctrl, waf, dns, ssh
Weitere Informationen zum Backup der Logs auf einen FTP Server sind zu finden unter diesem Link.