ideathz
Goto Top

Dynamisches IPV6 Objekt in der Firewall

Hi,

ich beschäftige mich heute zum ersten Mal mit IPV6 und habe Verständnisprobleme wie ich meine Anforderungen umsetzen kann. Ich hoffe das ihr mir da weiterhelfen könnt face-smile

Anforderungen:
Ich möchte mein Reverse Proxy Server der bereits per IPV4 aus dem Internet erreichbar ist nun auch mit IPV6 ausstatten.

Rahmenbedingungen:
Meine Anforderungen beschränken sich auf meine private Umgebung. Über meinen Dienstleister in der Fa. habe ich eine Fortigate 40F günstig erhalten und habe meine virtualisierte Sophos XG abgelöst. Auf der Sophos XG waren meine Anforderungen noch nicht umgesetzt (Konnte kein IPV6 PD über PPPOE).

Was ich bereits umgesetzt hatte:
Über die Telekom erhalte ich per PPPOE eine IPV6 Netwerk Präfix von /56 Maske. Dieser Präfix ist leider Dynamisch und nicht statisch. Per Präfix Delegation segmentiere ich diese pro Interface/VLAN auf eine /64 Maske. Die Clients z. B. der Reverse Proxy bilden dann per Slaac Ihre IPV6 Adresse.

Damit erhält der Reverse Proxy 3x IPV6 Adressen:
- Globale
- Temporäre aufgrund des Privacy Extension Flag
- Link-Lokale

Auf dem Reverse Proxy ist für mein vorhaben ja die Globale IPV6 Adresse relevant. Diese Adresse registriere ich per DDNS Client bei meinen DDNS Provider. Auf der Fortigate habe ich entsprechend eine Firewall Policy gebaut, der eingehende Anfragen per HTTP und HTTPS erlauben. Der Zugriff von außen funktioniert auch problemlos.

Nun stelle ich mir aber die Frage, wie das IP Objekt auf der Firewall abgebildet wird, da der Präfix vom Provider dynamisch verteilt wird. Auf diesen habe ich leider keinen Einfluss. Beim nächsten Einwahl z. B. durch einen Neustart der Firewall kann sich die IP-Adresse vom Client verändern. Im Gegensatz zu IPV4, route ich direkt zum Server und kann die Interface Adresse der Firewall nicht als Destination Objekt nutzen.

Zurzeit sehe ich zwei Möglichkeiten, die mir beide aber nicht gefallen.
1. Ich füge der Firewall eine weitere IPV6 Adresse auf dem Interface hinzu und Natte auf den Server. Damit untergrabe ich jedoch die Konzepte von IPV6 nach meinen Verständnis. :D
2. Als Destination Objekte trage ich in der Firewall die FQDN vom DDNS ein und erhalte damit die aktuelle Adresse. Ein Dynamisches Objekt als Destination im Regelwerk habe ich jedoch etwas Bauchweh. :D

Config:
WAN Interface:
config system interface
    edit "wan"  
        set vdom "root"  
        set mode pppoe
        set type physical
        set role wan
        set snmp-index 1
        config ipv6
            set ip6-mode pppoe
            set dhcp6-prefix-delegation enable
            set autoconf enable
            config dhcp6-iapd-list
                edit 1
                    set prefix-hint ::/56
                    set prefix-hint-plt 0
                    set prefix-hint-vlt 0
                next
            end
        end
        set username $username
        set password $password
    next
end

DMZ Interface:
config system interface
    edit "VLAN 80"  
        set vdom "root"  
        set ip 10.1.80.254 255.255.255.0
        set allowaccess ping
        set alias "DMZ-1 Webserver"  
        set device-identification enable
        set role dmz
        set snmp-index 15
        config ipv6
            set ip6-mode delegated
            set ip6-allowaccess ping
            set ip6-send-adv enable
            set ip6-other-flag enable
            set ip6-upstream-interface "wan"  
            set ip6-delegated-prefix-iaid 1
            set ip6-subnet ::50:0:0:0:1/64
            config ip6-delegated-prefix-list
                edit 1
                    set upstream-interface "wan"  
                    set delegated-prefix-iaid 1
                    set subnet 0:0:0:50::/64
                next
            end
        end
        set interface "lan1"  
        set vlanid 80
    next
end


Firewall Policy (Die Fortigate habe ich im NGFW Mode laufen. Daher kann ich das Regelwerk auf Applikationen und deren Default Port beschränken):
config firewall security-policy
    edit 86
        set uuid a2cdl2öc-143f-21de-a315-a01c31c942de
        set name "Untrust -> Reverse Proxy App IPV6"  
        set srcintf "Untrust"  
        set dstintf "DMZ"  
        set srcaddr6 "Germany IPV6"  
        set dstaddr6 "Globale IPV6 Adresse des Reverse Proxy"  
        set action accept
        set schedule "always"  
        set logtraffic all
        set ips-sensor "default"  
        set application 15893 40568 41540 47013 || HTTP.BROWSER HTTPS.BROWSER SSL_TLSv1.2 SSL_TLSv1.3
    next
end


Evtl. waren das auch zu viele Informationen. Jedoch wird die Frage ggf. für euch etwas greifbarer. Falls die Informationen nicht ausreichen sollte, liefere ich gerne etwas nach face-smile


Vielen Dank für eure Unterstützung face-smile

Content-ID: 5841007771

Url: https://administrator.de/contentid/5841007771

Ausgedruckt am: 22.11.2024 um 01:11 Uhr

lcer00
lcer00 04.02.2023 um 20:46:57 Uhr
Goto Top
Hallo,

ich weiß jetzt nicht, wie das genau bei FortiGate läuft, aber kannst Du statt eines „IP-Objektes“ nicht ein „FQDN-Objekt“ mit dem DynDNS-Namen verwenden. Die Firewall müsste doch auch mit FQDNs umgehen können und diese aktualisieren?

Ansonsten müsste es doch per API geändert werden können. https://docs.fortinet.com/document/fortimail/6.0.4/rest-api-reference

Grüße

lcer
iDeathz
iDeathz 04.02.2023 um 21:58:18 Uhr
Goto Top
Hallo Icer,

vielen Dank für dein Vorschlag. Dasselbe hatte ich mir auch überlegt, jedoch sehe ich hier die Gefahr, dass mein DDNS Provider bzw. wer Zugriff auf die Administrationsebene des DDNS hat meine Firewallregel in gewisser Weise beeinflussen kann. Er kann theoretisch eine andere IP aus dem Subnetz im AAAA-Record hinterlegen. Damit könnte es passieren, dass meine anderen Clients auf einmal im Internet erreichbar sind. Da die Regeln auf Zonen basieren, wird dieser zumindest aber andere Zonen wie dem Internen Netz nicht erreichen können. Evtl. sehe ich das daher auch etwas zu kritisch :D

Habe gedacht, dass es für sowas Konzepte/RFC-Standards oder so gibt wie die Adresse dargestellt werden kann und ich diese bisher noch nicht gefunden habe :D -> (Nur eine Überlegung - z. B. [VariablePräfixInterface:50:A2:10:F2:D] oder so :D)


Bin für weitere Vorschläge oder gegen Argumentation offen face-smile
lcer00
lcer00 04.02.2023 um 22:29:49 Uhr
Goto Top
Hallo,

dann verwende deinen eigenen DDNS-Dienst z.B. https://www.tech-island.com/tutorials/webserver/eigener-dynamicdns-ddns- ...

Grüße

lcer
aqui
aqui 06.02.2023, aktualisiert am 08.02.2023 um 09:50:42 Uhr
Goto Top
Denkbar wäre auch lokale ULA Adressen (fd:...) für die Absender IP des Proxies und der Server zusätzlich zu verwenden. So hätte zumindestens der Proxy und die Server immer feste statische v6 Adressen mit denen sie sich lokal erreichen können
iDeathz
iDeathz 07.02.2023 um 21:26:04 Uhr
Goto Top
Hallo Ihr beiden,

Danke für eure Vorschläge. Ich schaue mir das am Wochenende mal wie ich das praktikabel umsetzen kann. 😊