Fortinet FortiManager: objecten en configuratie onderdelen kopiëren tussen ADOMs

kennislevel 1 kennislevel 2 kennislevel 2 Technisch niveau Waddinxveen, 21 november 2016 Waddinxveen, 21 november 2016 Security Security

Maak je gebruik van Fortinet 's FortiManager oplossing om je FortiGate 's te beheren? Dan kan het zijn dat je in een situatie komt dat je objecten en configuraties wil kopiëren tussen twee ADOMs. Binnen de GUI van de FortiManager heb je die optie niet. Je kunt echter in de CLI van de FortiManager méér dan in de GUI.

Zo is er bijvoorbeeld een commando om objecten te kopiëren binnen twee ADOMs.

Hoe ga je te werk?

Login de cli van de FortiManager: vmfwm001 # execute fmpolicy ?
vmfwm001 # execute fmpolicy
check-upgrade-object      Check/upgrade objects by syntax.
clone-adom-object         Clone ADOM object to another ADOM.
copy-adom-object          Copy adom object.
install-config            Install config to remote device.
print-adom-database       Print adom database configuration.
print-adom-object         Print adom object.
print-adom-package        Print adom package.
print-device-database     Print device database configuration.
print-device-object       Print device object.
print-prov-database       Export profile configuration.
print-prov-templates      Print provisioning templates.
promote-adom-object       Promote ADOM object to global.
upload-print-log          Upload the latest print cmd result log
Hier zien we twee opties die schijnbaar hetzelfde doen, maar.... met een klein verschil.

clone-adom-object kopieert een object tussen 2 Adom's
copy-adom-object kopieert een object binnen dezelfde Adom.

Binnen de FortiManager configuratie database heeft alles een OID (Object Indentifier). Dat is een uniek nummer voor elk object, policy, profiel enz. Deze OID's worden weergegeven voor elke object-naam wanneer we het vraagteken (?) gebruiken om erachter te komen wat voor input dit specifieke commando vraagt. (Als er geen OID voor de object-naam staat, dan moet je de object-naam zelf gebruiken.)
vmfwm001 # execute fmpolicy clone-adom-object ?
<adom>       adom name
103          FortiCarrier
11439        Fortigate54
3            root
(Ons commando vraagt hier naar de Adom-naam, maar verwacht de OID als input.) vmfwm001 # execute fmpolicy clone-adom-object 3 ?
id           <category name>
1104         "adom options"
1472         "antivirus mms-checksum"
1216         "antivirus notification"
1420         "antivirus profile"
474          "application custom"
1028         "application list"
1512         "certificate template"
1521         "device profile fortianalyzer"
1522         "device profile fortiguard"
1539         "device profile fortisandbox"
1511         "device profile settings"
335          "dlp filepattern"
337          "dlp fp-sensitivity"
1038         "dlp sensor"
1504         "dynamic certificate local"
800          "dynamic interface"
1631         "dynamic multicast interface"
1509         "dynamic vpntunnel"
1337         "endpoint-control profile"
1543         "extender-controller extender"
140          "firewall address"
141          "firewall address6"
142          "firewall addrgrp"
179          "firewall addrgrp6"
1213         "firewall carrier-endpoint-bwl"
1203         "firewall gtp"
428          "firewall identity-based-route"
172          "firewall ippool"
420          "firewall ippool6"
enz.
Stel dat we een firewall adres willen kopiëren: aan de hand van de lijst hebben we OID 140 nodig. vmfwm001 # execute fmpolicy clone-adom-object 3 140 ?
<object name> copy source object name

Available objects for category [firewall address] in adom [root] are
---------------
SSLVPN_TUNNEL_ADDR1
all
none
apple
dropbox.com
Gotomeeting
icloud
itunes
android
skype
enz.
We zien hier direct de eerste tekortkoming van het commando: we hebben alleen de opties 'alles in één keer kopiëren', of één object per keer. Er is geen optie om specifieke objecten tegelijkertijd te selecteren.

Ons volledige commando zou er zo uit komen te zien:
vmfwm001 # execute fmpolicy clone-adom-object 3 140 skype 3 skype En zoals je óók kunt zien: we kunnen geen objecten kopiëren tussen twee ADOMs met verschillende firmware versies.

We kunnen dus wel tussen twee 5.2 ADOMs objecten kopiëren, maar niet van bijvoorbeeld van 5.2 naar 5.4, daarvoor moeten we ons commando's gaan scripten, en dat doen we zo:

!!! LET OP!!! WE GAAN HIER IN DE ADOM ZELF CONFIGUREREN. WANNEER WE HIER EEN FOUT MAKEN, IS ER GEEN WEG TERUG! HET IS DAN OOK HEEL BELANGRIJK OM EERST EEN VOLLEDIGE BACK-UP TE MAKEN!!!!

Door gebruik te maken van het "print" commando kun je verschillende configuratie onderdelen van de database in "set" vorm printen, en op die manier je script samenstellen. Sommige onderdelen van de configuratie komen overeen met fortigate cli-commando's maar niet allemaal. Het is dus afhankelijk van wat je wil configureren. Hetzelfde "firewall address" object ziet er bijvoorbeeld als volgt uit, en is gelijk aan een FortiGate configuratie.
vmfwm001 # execute fmpolicy print-adom-object 3 140 skype
Dump object [skype] of category [firewall address] in adom [root]:
---------------
config firewall address
edit "skype"
set uuid 7a596144-8209-51e5-e37d-b6b104f4901f
set type fqdn
set fqdn "*.messenger.live.com"
next

end
Wil je bijvoorbeeld een FortiManager specifieke configuratie (b.v. VPN-console) kopiëren tussen ADOMs dan ziet dat er heel anders uit.

Aan de hand van de output kunnen we nu de objecten selecteren die we willen en in een script toevoegen.

Selecteer "New Script" >> "CLI Script" en kies voor uitvoeren op "Policy Package, ADOM Database"

Wanneer je op "Run script" klikt, kun je selecteren op welke ADOM je het script wil uitvoeren.

Op dezelfde wijze kun je hiermee bijvoorbeeld een complete "Policy Package" met bijbehorende objecten kopiëren tussen twee ADOMs. Je moet dan wel eerst alle objecten die in de "Policy Package" vermeld zijn aanmaken, en daarna de "Policy Package" aanmaken.

Als je script "failed" kun je in de log zien waarom dat gebeurt. Tussen firmware versies kunnen commando's zijn veranderd. Dat is ook precies de reden waarom je niet gebruik kunt maken van het cli "clone" commando. Pas je script dan ook aan, waar nodig. Als je script "failed" zonder specifieke reden kan het ook zijn dat die "te lang" is. Maak in dat geval meerdere scripts aan en verdeel je configuratie. Denk er ook aan dat je bijvoorbeeld eerst de "firewall objecten" moet aanmaken, voordat je een "Policy Package" kan opvoeren.

Wilt u hulp van een gecertificeerd Fortinet expert?

Contact

SolidBE B.V.
Maarten Schoutenstraat 19
2741 SV Waddinxveen

KVK 51248794
NL 82 3170 846 B01
NL07 RABO 0157 5353 98