Fortigate CLI Bulk Import + Bulk import commando’s

De Fortinet Fortigate is een firewall/router welke sterk in opkomst is wegens zijn veelzijdigheid en goede prijs/kwaliteit verhouding. Vandaag was ik aan het “spelen” met een Fortigate 100D en ik kwam hier een hele handige functie tegen welke me veel tijd heeft bespaard. De “Upload Bulk CLI Command File” onder “Config” – “Advanced” – “Scripts”.

Upload-bulk-CLI-command-file

Een van de taken was het aanmaken van 50 nieuwe adressen en deze toevoegen aan een adresgroep. Het handmatig aanmaken van deze adressen is eentonig en kost veel tijd. Via de CLI (Command Line Interface) kan het ook maar qua tijd maakt dit niet heel veel uit. Knippen en plakken werkt wel binnen de CLI maar over het algemeen is dit nogal buggy…en zo ook vanmiddag. Na het tweede plak commando stopte de CLI ermee.

CLI-Connection_failed

Door wat te Googelen kwam ik erachter dat veel mensen deze problemen ervaren en dat het veel beter zou moeten werken via de “Upload Bulk CLI Command File” optie. En inderdaad. Deze optie werkt superstabiel en heerlijk snel. Het enige wat je moet doen is een plat tekstbestand maken (in Notepad) waarin je exact de commando’s plaatst zoals je deze normaliter in de CLI zou intypen. Upload dit bestand en klaar!

Het maken van een Fortigate CLI Import bestand

Een Fortigate CLI Import bestand maken is aardig wat werk omdat je voor 1 item meerdere commando’s nodig hebt welke op separate regels moet komen. Maar het kan wel snel! Gebruik hiervoor de tovertools van Microsoft Word… het “zoeken en vervangen met jokertekens (reguliere expressie tekens)”.

Stel voor dat je de volgende adressen aan moet maken:
192.168.1.1
192.168.1.2
192.168.1.3

Deze adressen moeten aangemaakt worden met een x32 subnetmask en moeten gekoppeld worden aan interface “port10”. Het volledige commando voor het toevoegen van 1 IP adres ziet er zo uit:

config firewall address
edit 192.168.1.1
set subnet 192.168.1.1 255.255.255.255
set associated-interface port10
next

Wat je kunt doen om deze commando’s per IP adres te laten aanmaken is om in Microsoft Word elke IP adres op een eigen regel te vermelden. Vervolgens open je het “zoeken en vervangen” venster en schakel je “Jokertekens gebruiken” in.

Geef op dat je wilt zoeken naar:
(<*>).(<*>).(<*>).(<*>)

En dat wil je vervangen door:
edit 1.2.3.4^lset subnet 1.2.3.4 255.255.255.255^lset associated-interface port10^lnext

zoeken-vervangen-jokertekens

De uitkomst is dan voor alle 3 de IP adressen:

edit 192.168.1.1
set subnet 192.168.1.1 255.255.255.255
set associated-interface port10
next
edit 192.168.1.2
set subnet 192.168.1.2 255.255.255.255
set associated-interface port10
next
edit 192.168.1.3
set subnet 192.168.1.3 255.255.255.255
set associated-interface port10
next

See… it’s a bit of magic!

Met (<*>) zoekt u namelijk naar iedere willekeurige combinatie tussen de punten van het IP adres. Deze combinatie wordt opgeslagen in een variabele. De eerste (<*>) is variabele 1 en de (<*>) is variabele 2 etc.

In de “replace” regel roepen we deze waardes / variabelen weer aan door 1 (variabele 1) te gebruiken.

De ^l expressie betekend een nieuwe regel.

Door deze truck toe te passen kunnen we snel een configuratiebestand met commando’s opbouwen van slechts 1 IP lijst.

Voorbeelden van een paar Fortigate commando’s

Het toevoegen van een adres:

config firewall address
edit 192.168.1.1
set subnet 192.168.1.1 255.255.255.255
set associated-interface port10
next
end

Het toevoegen van een adres aan de “Interne_adressen” adresgroep

config firewall addrgrp
edit "Interne_adressen"
set member "192.168.1.1”
next
end

Het reserveren van een IP adres in DHCP

config system dhcp reserved-address
edit "computer200"
set ip 192.168.1.1
set mac 00:08:f3:aa:a2:11
next
end

Toevoegen firewall custom service

config firewall service custom
edit "RDP_3391"
set category "Remote_Access"
set tcp-portrange 3391
next
end

Aanmaken van een VIP regel

config firewall vip
edit "VIP_Regel_Poort_1200"
set extip 83.240.100.10
set extintf "wan1"
set portforward enable
set mappedip "192.168.1.1"
set extport 1200
set mappedport 1200
next
end

Later meer CLI commando’s! Als jullie een speciaal aspect via CLI willen configureren let me know!

Like this content?

If you found this article interesting or useful, consider supporting my work by buying me a coffee. It helps me continue creating valuable security content!

Buy me a coffee