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:
2018.06.06 | Text Output, recursive entries for address and services |
2018.06.03 | log information, background color html output |
2018.06.02 | html output, Text::CSV no longer required |
2018.05.29 | output to txt or csv |
2018.05.26 | inital release |