FortiGate beveiliging verbeteren middels Local-in-Policy

FortiGate beveiliging verbeteren middels Local-in-Policy

De firewall policies op een FortiGate zijn er om verkeer dat door de firewall heen gaat te controleren en inspecteren. Om verkeer dat bestemd is voor de firewall zelf te controleren kan er gebruik gemaakt worden van Local-in-Policies. Verkeer dat voor de firewall zelf bedoeld is kan de administratieve toegang tot de firewall zijn voor beheerders, maar bijvoorbeeld ook BGP, IPSec VPN en SSL VPN verkeer.

De Local-in-Policies kunnen, afhankelijk van de software versie, alleen middels de CLI geconfigureerd worden. Door bepaalde instellingen toe te passen zal de FortiGate Local-in-Policies aanmaken. Wanneer er bijvoorbeeld onder de systeeminstellingen wordt aangegeven dat bepaalde interfaces als lokale NTP server gebruikt mogen worden. Dan wordt er door de FortiGate een Local-in-Policiy aangemaakt welke UDP poort 123 toestaat naar die interface toe. Deze door de FortiGate aangemaakte Local-in-Policies kunnen worden bekeken via de GUI, echter kunnen deze niet uitgezet, aangepast of verwijderd worden.

Er zijn nog een aantal zaken waar rekening mee gehouden moet worden bij het configureren van Local-in-Policies. Zo is de default action van een Local-in-Policiy ‘deny’. Wanneer verkeer toegestaan dient te worden moet dit dus expliciet aangegeven worden.

Daarnaast zijn het configureren van een inkomende interface, source en destination adressen, een schedule en services verplicht bij het creëren van een Local-in-Policy. Als source adres is het ook mogelijk om een ‘Geography address object’ te gebruiken. Op die manier kan de toegang tot de firewall beperkt worden tot een bepaald land of een bepaalde groep landen.

Ook iets om rekening mee te houden is dat er aparte Local-in-Policies zijn voor IPv4 en IPv6. Daarnaast worden hits op Local-in-Policies niet per standaard gelogd, dit moet apart worden aangegeven in de log settings.

Toepassing 1

In onderstaand voorbeeld wordt een Local-in-Policy gemaakt die alleen een VPN site-to-site connectie toestaat vanaf een specifiek aantal IP adressen. Als eerste worden de IP adressen van de remote locaties aangemaakt als adres object en worden deze in een groep gezet.

config firewall address
    edit “VPN-REMOTE-01”
        set comment “IP address of remote site 1”
        set subnet 100.98.98.98 255.255.255.255
    next
    edit “VPN-REMOTE-02”
        set comment “IP address of remote site 2”
        set subnet 100.99.99.99 255.255.255.255
    next
end

config firewall addrgrp
    edit “GRP-VPN-REMOTE”
        set member “VPN-REMOTE-01” “VPN-REMOTE-02”
        set comment “All IPs of remote sites”
    next
end

De configuratie van de Local-in-Policy ziet er dan als volgt uit.

config firewall local-in-policy
    edit 1
        set intf “wan1”
        set srcaddr “GRP-VPN-REMOTE”
        set dstaddr “all”
        set action accept
        set service “IKE” “ESP”
        set schedule “always”
        set comments “only allow IPSec VPN from remote sites”
    next
    edit 2
        set intf “any”
        set srcaddr “all”
        set dstaddr “all”
        set service “IKE” “ESP”
        set schedule “always”
    next
end

Toepassing 2

Een tweede mogelijk gebruik van Local-in-Policies is het extra beveiligen van de administratieve toegang tot FortiGate. Een veel gebruikte methode om te beperken vanaf welke IP adressen er ingelogd kan worden op een FortiGate is door het configureren van zogenaamde Trusted Hosts bij een administrator account.

Als aanvulling op deze ‘Trusted Hosts’ en als extra laag van beveiliging kan een Local-in-Policy aangemaakt worden welke beperkt vanaf welke source adressen de firewall te benaderen is. Hiermee kunnen configuratie fouten bij het aanmaken van nieuwe administrators bijvoorbeeld opgevangen worden en voorkomen worden dat de firewall opeens voor de hele wereld te benaderen is.

Ook hier worden eerst de IP adressen vanaf waar ingelogd moet kunnen worden op de firewall aangemaakt als adres object en deze worden vervolgens aan een groep toegevoegd.

config firewall address
    edit “BEHEER-IP-1”
        set comment “IP adres van lokale beheer PC-1”
        set subnet 10.10.10.10 255.255.255.255
    next
    edit “BEHEER-IP-2”
        set comment “IP adres van lokale beheer PC-2”
        set subnet 192.168.20.20 255.255.255.255
    next
    edit “BEHEER-IP-3”
        set comment “IP adres van remote beheer PC”
        set subnet 100.127.30.30 255.255.255.255
    next
end

config firewall addrgrp
    edit “GRP-BERHEER-IPs”
        set comment “IP adressen van beheer PCs”
        set member “BEHEER-IP-1” “BEHEER-IP-2” “BEHEER-IP-3”
    next
end

De configuratie van de Local-in-Policy ziet er dan als volgt uit.

config firewall local-in-policy
    edit 3
        set intf “wan1”
        set srcaddr “GRP-BERHEER-IPs”
        set dstaddr “all”
        set action accept
        set service “HTTPS” “SSH”
        set schedule “always”
    next
    edit 4
        set intf “any”
        set srcaddr “all”
        set dstaddr “all”
        set service “HTTPS” “SSH”
        set schedule “always”
    next
end

De services in de policies kunnen uiteraard naar behoefte worden aangepast. Wanneer onder de system settings bijvoorbeeld is geconfigureerd dat de administratieve HTTPS poort 8443 is, dan moet deze als service in de betreffende Local-in-Policies gebruikt worden.

Bovenstaand zijn slecht 2 voorbeelden van hoe Local-in-Policies gebruikt kunnen worden om een extra laag van beveiliging toe te voegen aan een FortiGate Firewall. Zoals aangegeven kan het op verschillende vormen van inkomend verkeer, bestemd voor de firewall, toegepast worden.

Vragen?

U kunt altijd contact met SolidBE opnemen mocht u een vraag hebben over een van de besproken onderwerpen (Firewall, Fortinet, TechTalk ) of wanneer u assistentie nodig heeft om netwerk- of security vraagstukken op te lossen. Wij helpen u graag bij de beheren van een veilige en solide ICT omgeving!

Auteur

Ruben is Network Engineer bij SolidBE

Scroll naar boven