OPNsense Forum

International Forums => German - Deutsch => Topic started by: MBG on August 09, 2018, 11:50:38 am

Title: [SOLVED] DMZ mit öffentlichen IP's
Post by: MBG on August 09, 2018, 11:50:38 am
Halli Hallo liebe ITler :)

Ich bin seit neustem glücklicher Besitzer einer APU-Box und habe dort OPNsense installiert und konfiguriert.
Es läuft alles tip top! Und ich kann gar viel damit machen. Nur habe ich etwas noch nicht ganz herausgefunden...

Ich besitze ein öffentliches IP-Subnetz: 46.140.XXX.64/28

In dem IP-Subnetz ist einmal die Firewall und einmal ein paar virtuelle Server, die öffentlich sein müssen.

Momentan sind die Server im Netz ohne irgendeine physische Firewall... (Ist leider nicht die feine Englische :P)
Mein Plan war es, diese Server in ein DMZ zu packen und darüber öffentlich zu schalten.

Meine Lösung war folgende:
- Öffentliche IP's als VIP's in der Firewall anlegen
- Server ins DMZ packen (10.0.0.0/24)
- Port-Forward von der VIP auf den jeweiligen Server im DMZ

Nur stiess ich dort auf ein recht grosses Problem...

Ich kann ja nur pro Regel ein gewissen Port weiterleiten... Da ich aber auch Geräte von Freunden bei mir habe, wo ich nicht genau weiss welche Ports weitergeleitet werden müssen und das sich auch eventuell ändern kann und ich nicht die ganze Zeit Regeln erstellen, bearbeiten und löschen möchte, kam eine Frage auf.

Kann ich komplett alle Ports von einer VIP ins DMZ für einzelne Geräte weiterleiten? (Und dies ohne für jeden Port eine Regeln zu erstellen...)

Grüsse
Tony
Title: Re: DMZ mit öffentlichen IP's
Post by: JeGr on August 09, 2018, 01:48:18 pm
> - Öffentliche IP's als VIP's in der Firewall anlegen

Nicht schlecht ;) Als Alias IPs anlegen ist schonmal nicht verkehrt, da dein /28 sehr wahrscheinlich nicht geroutet wird, sondern du ein Gateway als WAN in dem Netz hast?

> - Server ins DMZ packen (10.0.0.0/24)

Ich würde zwar eher was in der Art 10.140.XXX/28 nehmen - das macht die Zuordnung zwischen Public und Private IP einfacher, aber whatever suits your needs :)

> - Port-Forward von der VIP auf den jeweiligen Server im DMZ

Nope, da ist dein Denkfehler. Du willst die einzelnen IPs nachdem was ich rauslese ja wirklich komplett auf eine interne IP verteilen. Also so als wäre der Rechner direkt public. Ergo ist das ein Job für 1:1 NAT.

> Kann ich komplett alle Ports von einer VIP ins DMZ für einzelne Geräte weiterleiten? (Und dies ohne für jeden Port eine Regeln zu erstellen...)

Jein. 1:1 NAT mappt erstmal komplett die externe IP die du als Alias IP konfiguriert hast auf die interne Adresse. Welche Ports dann erlaubt sind, definieren deine Firewall Regeln (auf dem WAN Interface, Destination ist dann aber die interne IP, nicht die externe, da die NAT VOR den Regeln greift). Wenn du Geräte von anderen hast in deiner DMZ, von denen du nicht weißt was sie tun (gruselige Vorstellung für mich) und die einfach komplett freigeben willst - wofür dann eine Firewall ;) Also wenn du sie nicht filtern willst und Regeln erstellen, dann kannst du sie auch direkt ins WAN hängen. Andernfalls musst du eben eine Firewall Regel anlegen wie oben gesagt und musst da eben definieren, welche Ports oder Protokolle erlaubt sind.

Würde mir zwar nie in die Tüte kommen, dass ich für irgendwen einfach alles aufmache, aber wie du möchtest. Ich würde ein oder zwei Aliase für Ports definieren (UDP und TCP z.B.) und würde dann eben mal ein paar übliche Verdächtige erlauben. Andernfalls - wofür dann überhaupt die Firewall davor :)
Title: Re: DMZ mit öffentlichen IP's
Post by: MBG on August 10, 2018, 08:21:28 am
Danke für deine Unterstüzung!

Nicht schlecht ;) Als Alias IPs anlegen ist schonmal nicht verkehrt, da dein /28 sehr wahrscheinlich nicht geroutet wird, sondern du ein Gateway als WAN in dem Netz hast?

Jup, der Gateway steht beim Provider.

Ich würde zwar eher was in der Art 10.140.XXX/28 nehmen - das macht die Zuordnung zwischen Public und Private IP einfacher, aber whatever suits your needs :)

Stimmt, darüber habe ich auch nachgedacht. Vorallem macht es Sinn, wenn ich später noch zusätzliche Subnetze hinzufüge... Dann kann man es so besser ordnen. Ich mache sowieso V-LANs wo dann alles schön geregelt wird.

Nope, da ist dein Denkfehler. Du willst die einzelnen IPs nachdem was ich rauslese ja wirklich komplett auf eine interne IP verteilen. Also so als wäre der Rechner direkt public. Ergo ist das ein Job für 1:1 NAT.

Was sollte denn dann bei der externen IP stehen? ???
Dort müsste ich ja ein Netz eintragen...

Also versteh ich das richtig:
Netz aufteilen (Zwei 29er Subnetze) und das letztere dort eintragen (Netzadresse oder IP der Firewall ???)?

Und BINAT oder NAT? ???

Jein. 1:1 NAT mappt erstmal komplett die externe IP die du als Alias IP konfiguriert hast auf die interne Adresse. Welche Ports dann erlaubt sind, definieren deine Firewall Regeln (auf dem WAN Interface, Destination ist dann aber die interne IP, nicht die externe, da die NAT VOR den Regeln greift). Wenn du Geräte von anderen hast in deiner DMZ, von denen du nicht weißt was sie tun (gruselige Vorstellung für mich) und die einfach komplett freigeben willst - wofür dann eine Firewall ;) Also wenn du sie nicht filtern willst und Regeln erstellen, dann kannst du sie auch direkt ins WAN hängen. Andernfalls musst du eben eine Firewall Regel anlegen wie oben gesagt und musst da eben definieren, welche Ports oder Protokolle erlaubt sind.

Würde mir zwar nie in die Tüte kommen, dass ich für irgendwen einfach alles aufmache, aber wie du möchtest. Ich würde ein oder zwei Aliase für Ports definieren (UDP und TCP z.B.) und würde dann eben mal ein paar übliche Verdächtige erlauben. Andernfalls - wofür dann überhaupt die Firewall davor :)

Ich hab ja nicht nur Geräte, die komplett durchgeroutet werden... Meine eigenen bekommen schon Regeln... Die die komplett durchgeroutet werden, sind dann in einem eigenen V-LAN, komplett abgeschottet von meinem eigentlichen Netz.

Es ist halt ein grosser Aufwand zuerst nur Port 22 (SSH) freizugeben und dann auf Anfrage immer mehr zu öffnen. Klar würde das gehen, sollte aber ja auch nicht der Sinn der Sache sein, wenn ich ne Virtuelle Maschine anbiete. Wenn man klar einen Service definiert, den man immer laufen lassen möchte, sieht das sowieso anders aus.  :P
Title: Re: DMZ mit öffentlichen IP's
Post by: JeGr on August 14, 2018, 12:43:23 pm
> Was sollte denn dann bei der externen IP stehen? ???

So wie ich deine Daten bislang verstehe müsste da

* entweder für jede einzelne deiner gewünschten IPs eine IP/32 (extern) und bei Source die interne IP/32 stehen
oder
* du trägst das externe Netz 46.140.XXX.64/28 da ein und als Source dann 10.140.XXX.64/28

Ich würde die untere Variante nehmen, denn dann hast du mit einer 1:1 Regel den gesamten Netbereich erschlagen und  welche IP tatsächlich(!) auf der Sense ankommt, steuerst du eh über die Alias IPs (wenn du dort die IP 46.140.x.66 bspw. nicht einträgst, wird sie gar nicht auf der Sense ankommen und dementsprechend auch nicht genattet). Aber somit weißt du dass beide /28er Bereiche gleich aufgeteilt sind.

Wenn deine Sense selbst aber von extern erreichbar sein soll, ist es vielleicht geschickter das nicht zu machen (da du so ja auch ihre eigene Adresse 1:1 durchnatten würdest) sondern wie in Punkt 1 mit einzelnen Adressen bzw. /32er Definitionen zu machen

PS: OK die 64 als Beispiel im Bild zu nutzen war jetzt doof, als Netzadresse - aber du weißt wie es gemeint ist :)
Title: Re: DMZ mit öffentlichen IP's
Post by: MBG on August 14, 2018, 04:22:54 pm
Gut ich muss wohl das obere Beispiel nehmen, da die Firewall selbst auch noch erreichbar sein sollte...

Also habe ich das richtig verstanden? ???

Jede IP die ich durchnaten möchte, muss ich ein eigenes 32-Netz definieren (zb. 46.140.191.77/32) und in der Externen Adresse eintragen.
Die interne Adresse (Source) ist die interne IP im DMZ des jeweiligen Servers (zb. 10.0.140.77/32).

Müssen dadurch noch irgendwelche Firewallregeln gemacht werden?
Title: Re: DMZ mit öffentlichen IP's
Post by: JeGr on August 14, 2018, 04:38:55 pm
> Jede IP die ich durchnaten möchte, muss ich ein eigenes 32-Netz definieren (zb. 46.140.191.77/32) und in der Externen Adresse eintragen.
> Die interne Adresse (Source) ist die interne IP im DMZ des jeweiligen Servers (zb. 10.0.140.77/32).

Sieh es weniger als "Netz", sondern mehr als einzelne IP mappen. Aber ja, jede IP die du in der DMZ haben willst, packst du in ein BiNat Setting. Damit wird die IP dann umgeschrieben von 46.140.191.77 auf die interne 10.140.191.77 bspw. Dann brauchst du unter Regeln auf dem WAN natürlich noch was, was Traffic erlaubt, da bist du dann aber frei zu entscheiden, was rein darf und was nicht :) In der Regel aber darauf achten, dass Destination der Regel nicht 46.x.x.x ist, sondern da NACH NAT gefiltert wird die 10.140.191.x

Hoffe das bringt dich deinem Ziel näher :)
Title: Re: DMZ mit öffentlichen IP's
Post by: MBG on August 14, 2018, 04:50:09 pm
Wir sind nahe dran... Nur noch eine kurze Denkfrage, dann hab ich es glaube ich :P

In der Regel aber darauf achten, dass Destination der Regel nicht 46.x.x.x ist, sondern da NACH NAT gefiltert wird die 10.140.191.x

Meinst du das so wie im Bild (Beispiel wo einfach alles durch kann (klar sollte das nicht so drin stehen :P))?

Title: Re: DMZ mit öffentlichen IP's
Post by: JeGr on August 16, 2018, 03:38:37 pm
Aye, eben so.
Title: Re: DMZ mit öffentlichen IP's
Post by: MBG on August 17, 2018, 02:07:31 pm
Gut das läuft alles tippi toppi eigentlich...

Eigentlich aus diesem Grund:
- Von extern funktioniert
- Von einem internen Computer aus nicht...

Woran kann das liegen?

Die Einstellungen (1:1 NAT und WAN-Rule) hab ich so gesetzt.

Meine erste Idee war die Schnittstellenkonfiguration des WAN-Interfaces (siehe Bild)
Liegt es eventuell daran?

PS: Das Problem hab ich übrigens auch, wenn ich ein Portforward von einer VIP mache... Sollte das Netz eventuell doch aufgeteilt werden?  ???
Title: Re: DMZ mit öffentlichen IP's
Post by: JeGr on August 17, 2018, 02:24:30 pm
Was soll denn das Problem mit dem WAN Interface sein?

> - Von einem internen Computer aus nicht...

Und WAS genau läuft von "einem" internen Computer aus nicht?
Title: Re: DMZ mit öffentlichen IP's
Post by: MBG on August 17, 2018, 02:29:22 pm
Also das Routing zu den restlichen öffentlichen IP's funktioniert aus dem LAN nicht, wenn diese IP's auf der OPNSense konfiguriert wurden...

Extern sind sie erreichbar.

Aber stimmt, mit dem WAN-Interface sollte dies eigentlich kein Problem machen...
Auch wenn die VIP's ein CIDR von 32 haben...

Was lustig ist, dass ich die IP pingen kann und der traceroute geht...
HTTP zum Beispiel nicht, obwohl die Firewall nichts blockiert...

Müssen extra Regeln fürs LAN gemacht werden?
Das LAN sollte doch im any in der Ziel bzw. Quellenabgabe enthalten sein oder nicht?
Title: Re: DMZ mit öffentlichen IP's
Post by: MBG on August 21, 2018, 07:46:14 pm
Hey Leute...

Ich weiss langsam echt nicht mehr weiter...
Ich hab alles Mögliche getestet, aber nichts bringt mir Aufschluss...

Momentan folgende Situation:
- VIP in der Firewall angelegt
- NAT-Portfard auf die VIP (Weitergeleitet zu einer IP im DMZ) für HTTP (tcp/80)

Mache ich von einem externen Client (z.B. Handy im Mobilnetz) einen HTTP Request funktioniert der Port-Forward.
Mache ich den selben Request, wenn ich im LAN hinter der Firewall bin, funktioniert dies nicht... Ich bekomme da eine Zeitüberschreitung...

Ping-Test an die IP funktioniert.
Telnet auf Port 80 ist eine Zeitüberschreitung.
Porttest direkt von der Firewall schlägt auch fehl...

Der Request einscheint nicht einmal im Firewall-Log...
Es ist total komisch...
Title: Re: DMZ mit öffentlichen IP's
Post by: MBG on August 21, 2018, 07:53:51 pm
Habe es hinbekommen, mit einer ausgehenden NAT-Reflektion...

Gut zu wissen!


Nun alle Probleme behoben :P