Central NAT table Fortigate

kennislevel 1 kennislevel 2 kennislevel 2 Technisch niveau Waddinxveen, 23 januari 2017 Waddinxveen, 23 januari 2017 Security Security

Bij een Fortigate zitten de Security Policy en NAT tabel in één en dezelfde Policy, maar wist U dat dit ook apart kan? De Central NAT table is een functionaliteit binnen Fortigate, die zeer makkelijk is en geweldig in gebruik. Helaas wordt deze functionaliteit vaak over het hoofd gezien, terwijl je hiermee een hoop vaak voorkomende problemen kunt oplossen m.b.t. de NAT functionaliteit. Afhankelijk van je werkwijze kan dit een enorm verschil maken, want als je gewend bent met een Checkpoint / Juniper SRX / Cisco ASA te werken, dan kan de standaard configuratiewijze van een FortiGate verwarrend zijn. Basiskennis van routing en NAT is wel vereist om het toe te kunnen passen in je eigen (of nieuwe) omgeving. Een bijkomend voordeel is dat je meer controle krijgt over source poorten in je NAT, maar dat is iets wat we hier niet bespreken.

Hoe ga je te werk?

Hoe werkt NAT normaal op een Fortigate?
Hieronder volgt eerst een voorbeeld van een configuratie waar expliciet binnenkomende en uitgaande regels toegepast worden, scroll verder naar beneden voor de Central NAT configuratie.
Overzichtsafbeelding van de Lab opstelling:
Overzichtsafbeelding van de Lab opstelling Voor het normale (interne) gebruik is een adresboek entry nodig voor elk device/subnet. Ga naar "Policy & Objects" en klik op "Addresses", en vervolgens op "+ Create New". Formulier entry device/subnet Daarna moet een VIP aangemaakt worden, om binnenkomende verbindingen te NATten van het Externe IP adres, naar het Interne IP adres van de server. Ga naar "Policy & Objects" en klik op "Virtual IPs", en vervolgens op "+ Create New". Formulier VIP aanmaken - deel 1 Onderstaand object is niet verplicht, maar wel makkelijk om overzicht te bewaren. Formulier VIP aanmaken - deel 2 Om in de Firewall het binnenkomende verkeer door te laten (en bovenstaande objecten te combineren), moet een Security policy regel aangemaakt worden. Ga naar "Policy & Objects" en klik op "IPv4 Policy", en vervolgens op "+ Create New". Formulier VIP aanmaken - deel 3 Om het uitgaande verkeer door te laten, maak je nog een IPv4 Policy regel aan en je configureert deze als volgt. Formulier uitgaand verekeer door laten Notitie: Je mag ook "Use Outgoing Interface Address" gebruiken. Als een 1-op-1 VIP object bestaat wordt het Source IP adres automatisch omgezet naar het VIP adres, in plaats van het Interface adres.
Uw IPv4 security policy is dan als volgt:
Optie: Use Outgoing Interface Address - deel 1 Hier is gedefinieerd dat vanaf internet naar Server1 mag worden verbonden over HTTP en dat Server1 naar buiten mag met HTTP, DNS en HTTPS. De server wordt over zijn eigen IP adres naar buiten geNAT.

Deze procedure betekent dat je voor elke server (of cliënt range) een aparte uitgaande regel moet maken als je duidelijkheid in wilt houden welke server met welk extern IP adres communiceert in je IPv4 security policy.
Optie: Use Outgoing Interface Address - deel 2 We doen hetzelfde voor de rest van de computers in het LAN netwerk. We gaan hier voor de netheid uit van een DHCP reeks van 192.168.1.10 tot 192.168.1.254. Eerst voegen we de clients toe aan het adresboek: Clients toevoegen vana het adresboek En vervolgens voegen we de uitgaande verbinding aan de IPv4 security policy toe: Verbinding aan de IPv4 security policy Uiteindelijk ziet IPv4 Policy er als volgt uit: Overzicht IPv4 Policy En de uiteindelijke test: de server kan het internet op, en het internet kan ook bij de server! De uiteindelijke test: de server kan het internet op Deze procedure is omslachtig bij gebruik van bijvoorbeeld 100 servers: dit komt neer op 100 policy regels voor uitgaande verbindingen, wat de IPv4 policy nogal rommelig maakt. Je kunt met Service groepen de complexiteit nog wat inperken, maar het is verre van ideaal. In de loop der tijd kan het op deze manier van configureren het overzicht verloren worden.

Gelukkig hebben Fortigates een functionaliteit genaamd "Central NAT Table". Hiermee worden dit soort configuraties een stuk overzichtelijker. Je hebt dan in feite een losse tabel die specifiek voor uitgaande NAT, en één voor binnenkomende NAT bedoeld is. Je hoeft de NAT instellingen dan niet meer in de Security policy te verwerken.

Hoe zet je Central NAT table aan in FortiOS 5.2.x?
Het bouwen van Central NAT table in FortiOS 5.2.x is afgeraden, omdat de configuratie dan niet meer volledig upgrade-baar is naar FortiOS 5.4. Veel delen van je Central NAT configuratie zullen verloren gaan na een upgrade. Als je dit toch wilt implementeren kunnen wij je daarbij assisteren.

Hoe zet u Central NAT table aan in FortiOS 5.4.x?
In FortiOS 5.4.x is het verstandigst om vóór een firewall implementatie al te bepalen of je Central NAT table gaat gebruiken, want het ombouwen van een bestaande configuratie kan in veel gevallen een enorme uitdaging zijn. Hier gaan we uit van de eerder gemaakte configuratie en we laten zien hoe je deze omzet naar een Central NAT table configuratie. Als je je bestaande configuratie wel gaat ombouwen, zorg er in ieder geval voor dat je een configuratie revisie maakt. Zo heb je een backup van een werkende situatie!
Nogmaals de indeling van deze opstelling:
Test opstelling Om je "normale" configuratie klaar te maken voor Central NAT table, moeten alle policy regels van NAT ontdaan worden. In alle regels met NAT ingeschakeld, zet je NAT op uit. De VIP adressen zet je om naar de interne IP adressen van de server.
Daarna moet Central NAT table aangezet worden via de Commandline:
login as: admin
FortiGate-VM64 # conf system settings
FortiGate-VM64 (settings) # set central-nat enable
FortiGate-VM64 (settings) # end
FortiGate-VM64 #
Waarschuwing: Als er nog IPv4 security policy regels van je huidige configuratie zijn die nog "NAT enabled" hebben, zal de Fortigate niet doorgaan met het doorvoeren van de Central NAT table! In de foutmelding zal staan welke security policy regels nog NAT hebben ingeschakeld.
Wanneer de bovenstaande wijziging is gedaan krijg je 2 nieuwe menu opties onder Policy en Objects:
Central NAT table aanzetten resultaat - deel 1 Central NAT table aanzetten resultaat - deel 2 We gaan naar de Central SNAT en daar voegen we de volgende policy toe voor Server1: Central SNAT policy toevoegen - Server1 En ook de policy voor Server2: Central SNAT policy toevoegen - Server2 En ook voor de Clients: Central SNAT policy toevoegen - Clients Uiteindelijk zult uw Central NAT regels als volgt eruit zien: Overzicht Central NAT regels De Security policy maken is nu in zekere zin simpeler: je hoeft hier geen VIP adressen of IPPools meer toe te wijzen, aangezien alles in de Central NAT table staat. Eerst maken we de binnenkomende regel voor Server1 weer compleet. Dus moet NAT weer aangezet worden op de policy regel. Let op, je hoeft alleen NAT weer aan te zetten, het VIP object is ook niet meer zichtbaar in de objecten lijst! Je moet nu gebruik maken van de private (Echte) IP adressen van de servers, de vertaling van buiten naar binnen staat nu dus alleen in de "DNAT & Virtual IPs" tabel. Afbeelding NAT actief De uitgaande regels kunnen we nu gaan aanpassen. De oude regels kunnen we uitzetten of verwijderen: Oude regels uitzetten of verwijderen We kunnen nu een nieuwe regel maken waar al het bovenstaande in 1 regel staat: Een nieuwe regel Na het verwijderen van de oude regels, ziet uiteindelijk ziet uw security policy er als volgt uit: Security policy resultaat Nu zullen Server1, Server2 en de clients over dezelfde Security policy regel naar buiten gaan, maar verschillende Externe IP adressen gebruiken! Zoals je ziet: een groot verschil m.b.t. IPv4 Security policy complexiteit! In feite is de Central NAT table functionaliteit op versie 5.4 een complete afscheiding van de NAT tabel van de security policy.

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