FortiGate Config in TXT, CSV oder HTML exportieren

Firewall Policies sollen immer wieder dokumentiert werden. Um das Leben zu erleichtern, haben wir ein Perl-Script erstellt, das die FortiGate Konfiguration einliest und ein CSV File erstellt. Dieses CSV File enthält die Firewall Policies und die detaillierten Informationen der verwendeten Objekte.

Benutzer von Apple Numbers, LibreOffice und OpenOffice sind im Vorteil. Die können das CSV File importieren. Microsoft Excel kann das immer noch nicht. Wir haben deshalb das Script erweitert, dass auch HTML Files erzeugt werden können. Diese kann Excel importieren.

Dieses Script ist in Perl geschrieben. Auf Linux und MacOS ist Perl normalerweise vorinstalliert. Windows Benutzer müssen zuerst ⇒Perl installieren, dass sie dieses Script nutzen können.

Um ein CSV File zu erhalten, führen Sie den Befehl aus:

fortigate-extract.pl --config <fortigate-config.conf> --html [--debug]

DIe FortiGate Konfiguration erhalten Sie, wenn Sie auf Ihrer FortiGate einen Backup erstellen.

Um ein HTML File zu erhalten, wählen Sie die Option –html:

fortigate-extract.pl --config <fortigate-config.conf> --html [--debug]

Die CSV und HTML Varianten enthalten die wichtigsten Informationen der Policy, aber nicht alle Parameter. Wollen sie sich alle konfigurierten Parameter einer Policy anzeigen lassen, geben Sie die Konfiguration als TXT File aus:

fortigate-extract.pl --config <fortigate-config.conf> --txt [--debug]

 

Das Script liest ein Standard FortiGate Backup ein und erstellt ein einzelnes File mit dem Hostnamen wenn keine VDOMs verwendet werden.

<hostname>.csv

Beinhaltet die Konfiguration VDOMs, wird für jede VDOM ein einzelnes File erstellt:

<hostname>_<vdom>.csv

Beinhaltet die Konfiguration keine Firewall Policies, wird kein File erstellt.

Das Perl Script kann ohne Anpassung oder zusätzliche Module auf macOS oder Linux ausgeführt werden. Auf Windows benötigen Sie ActivePerl.

Hier ist das Script zum Download:

FortiGate Extract
FortiGate Extract
Version: 20180606-1330

2018.06.06Text Output, recursive entries for address and services
2018.06.03log information, background color html output
2018.06.02html output, Text::CSV no longer required
2018.05.29output to txt or csv
2018.05.26inital release