Netzwerkkonzept ok?

Started by astromeier, May 10, 2019, 09:05:25 PM

Previous topic - Next topic
Hallo allerseits!
Nachdem meine Sense super läuft und alles Böse wegsenst würde ich gerne mein Heimnetz auf LAN und OPT1 aufteilen.
Im Netzwerk werkelt im Moment ein Server mit folgenden Diensten:

  • NAS für Intranet mit SMB und NFS
  • HTTP und SSH für Intranet
  • Bridge für mehrere KVMs, die Cloud- und Webserverdienste für das öffentliche Internet beherbergen
Das alles läuft derzeit in einem einzigen internen Netz 192.168.1.0 über die LAN-Schnittstelle der Sense.
Die beiden NIC des Servers sind aktiv und über einen Switch mit LAN der Sense verbunden.
Die HTTP-Server der KVMs werden in der Sense per HaProxy und HTTPS-offloading bedient.

Das scheint mir etwas unsicher zu sein, da der Internet-Traffic und das Intranet im gleichen Subnet abgewickelt wird.

Nun würde ich gerne über die OPT1 Schnittstelle per Subnet-1 10.20.30.0 direkt an die erste NIC des Servers gehen und diese ausschliesslich an die Bridge für die KVMs binden. Für alle Dienste auf dem Server soll sie taub sein.

Über die zweite NIC des Servers würde ich gerne per Subnet-2 192.168.1.0 nur die Intranetdienste wie SSH und NAS laufen lassen und für den Server noch eine Internetverbindung für Updates. Sonst soll der Server für dieses SN2 vom Internet her nicht erreichbar sein.

Das Subnet-2 wird dann per Switch auf PCs und WLAN-APs verteilt.

Eine Skizze:

      +OPNsense+       +Switch-+
Cable |     LAN+---SN2-+       +--Intranet/PCs/Wifi-AP
Modem-+WAN     |       +-+-+-+-+
      |    OPT1+-+           |    +--Server------+
      +--------+ |           +----+NAS4Intranet  |
                 |                |              |
                 +-SN1------------+VMbridgeHTTP  |
                                  +--------------+



Was meint Ihr - würde dieses Konzept mehr Sicherheit bringen?
Stay secure!
Thomas

OPNsense 22.x / Qotom Q370G4 ram8G ssd256G

Moin, sorry meine Frage, aber für wen sind die dienste im internet angeboten, wer greift darauf mit was für geräten darauf zu? Bitte mal mehr informationen.
Ich brauche mehr hintergrund informationen.
Meine Fragen die ich mir auch gestellt habe.
1. für wen und was braucht er den direkten ssh zugang im internet?
2. was läuft genau auf dem http-dienst, was wird da angeboten.
3. wieviel leute und was für geräte greifen darauf zu (ist es ein unternehmen, ist es privat)?
Bevor ich meine Ideen wie man es umsetzen kann/könnte, möchte ich erstmal die begründungen hören.
Internet: Willy.tel Down: 1Gbit/s, UP: 250Mbit/s Glasfaser  |
Router/Firewall: pfSense+ 23.09  |
Hardware: Netgate 6100

Quote from: micneu on May 11, 2019, 12:46:04 AM
1. für wen und was braucht er den direkten ssh zugang im internet?
Üblicherweise verwendet man das als Tunnel (SOCKS Proxy) oder als Transportprotokoll für zum Beispiel GIT. Würde mir mal so neben Standardaufgaben wie den Server mal rebooten weil irgendwas nicht mehr get (und man im Urlaub ist) einfallen.
Ich glaube allerdings nicht, dass er das tun möchte. Ich denke eher das er aus seinem LAN den SSH Port eines Servers im LAN erreichen will (braucht keine Config, da die FW hier nicht involviert ist).
Quote from: micneu on May 11, 2019, 12:46:04 AM
2. was läuft genau auf dem http-dienst, was wird da angeboten.
Ist an sich unerheblich. Wichtig ist wie die Routing-Entscheidung am Load Balancer getroffen wird (üblcherweise Host- oder URL-Präfix-Basiert) und wie mit TLS umgeganen werden soll. Wenn man auch nicht mehr als das braucht, ist es auch unerheblich welches Plugin man dafür verwendet, da das sowohl HAProxy als auch nginx können. Unterschiede bei den Plugins gibts dann eher bei den Funktionen für fortgeschrittene Benutzer (HAProxy kann eine detailliertere Routenfindung vornehmen und läuft better im HA-Betrieb während nginx mehr Sicherheitsfeatures hat). Da bereits ein HAProxy da ist, sollte das ohnehin schon laufen und da wird man vermutlich nur die IP-Adressen anpassen müssen.

May 11, 2019, 10:13:52 AM #3 Last Edit: May 11, 2019, 10:18:07 AM by astromeier
Hallo und schon mal vielen Dank für eure Antworten!
Sorry - ich habe mich wohl unklar ausgedrückt:
Im IntrAnet laufen SSH und Http für interne Serverwartung und interne Webseite.
Die internen Webseite ist eher Spielwiese und Linkspage für die Dateidienste.
Das Netzwerk ist ein Familiennetzwerk mit max. 8 Nutzern. Die Geräte sind Macs, Linux- und Windows-PCs und
Android- sowie iPhone-Handys.

Für das öffentliche InTERnet laufen die Dienste auf KVMs über eine Bridge. Das sind:
Unsere Familien-Nextcloud, ein öffentliches Wiki und einige Homepages. Die Besucherzahlen sind eher gering.
Diesen Part möchte ich in ein eigenes Netzwerk isolieren.
Der HaProxy verteilt die Anfragen präfixbasiert und macht noch HTTPS-Offloading, damit ich keine interne Zertifikatsverwaltung machen muss.
Für externen Zugriff auf das Heimnetz aus dem Internet (Urlaub etc.) habe ich einen Open-VPN Tunnel eingerichtet.
Stay secure!
Thomas

OPNsense 22.x / Qotom Q370G4 ram8G ssd256G

Quote from: astromeier on May 11, 2019, 10:13:52 AM
Im IntrAnet laufen SSH und Http für interne Serverwartung und interne Webseite.
Die internen Webseite ist eher Spielwiese und Linkspage für die Dateidienste.

Dann würde ich mal sagen, du musst für das nix spezielles machen, da du im LAN direkt mit dem Server kommunizieren kannst und nicht über die FW gehst. Daher würde ich sagen, dass das einzige was hier auf der OPNsense Sinn macht, ein DNS override im Unbound ist, damit du FQDNs hast. "lanserver.test" wäre da zum Beispiel verwendbar. DNS-Einträge brauchst du zum Beispiel auch, wenn du zwischen den Servern E-Mails austauschen willst.

Quote from: astromeier on May 11, 2019, 10:13:52 AM
Das Netzwerk ist ein Familiennetzwerk mit max. 8 Nutzern. Die Geräte sind Macs, Linux- und Windows-PCs und
Android- sowie iPhone-Handys.

Das ist meinem Netz ähnlich (verwende ein kleies APU board).
Für die Updates kannst du dir auch überlegen, ob du nicht noch den Proxy dazwischen schaltest für pkg, deb und rpm Pakete.
Außerdem kannst du leichter ne ACL im Proxy implementieren. So kannst du zum Beispiel die Server nur mit den Spiegelservern sowie den Updateservern der Software kommunizieren lassen. Dafür musst du allerdings ne custom ACL im Proxy hinzufügen (terminal / SSH).

Quote from: astromeier on May 11, 2019, 10:13:52 AM
Unsere Familien-Nextcloud, ein öffentliches Wiki und einige Homepages. Die Besucherzahlen sind eher gering.
Wenn die in Standardverzeichnissen liegen und leicht gefunden werden, musst du halt mit Brute Force Attacken rechnen.

Quote from: astromeier on May 11, 2019, 10:13:52 AM
Diesen Part möchte ich in ein eigenes Netzwerk isolieren.
Ist ne gute Idee.

Quote from: astromeier on May 11, 2019, 10:13:52 AM
Der HaProxy verteilt die Anfragen präfixbasiert und macht noch HTTPS-Offloading, damit ich keine interne Zertifikatsverwaltung machen muss.
Ist sicher die bequemste methode, das direkt auf der FW zu machen. Bei Größeren Netzen könnte es sein, dass man das schon mehrstufig machen muss. Frank und ich warten übrigens schon drauf, unsere Plugins TLS 1.3 kompatibel zu bekommen. Mit dem alten Release war noch nicht jede SW mit der neuen Version von OpenSSL kompatibel.

Quote from: astromeier on May 11, 2019, 10:13:52 AM
Für externen Zugriff auf das Heimnetz aus dem Internet (Urlaub etc.) habe ich einen Open-VPN Tunnel eingerichtet.

Ist sicher die beste Möglichkeit

May 11, 2019, 10:28:57 PM #5 Last Edit: May 11, 2019, 10:41:07 PM by astromeier
Fabian, herzlichen Dank!
Wg. DNS: Da hab ich ein PiHole im Einsatz - aber noch nicht oben erwähnt.

QuoteFür die Updates kannst du dir auch überlegen, ob du nicht noch den Proxy dazwischen schaltest für pkg, deb und rpm Pakete.
Außerdem kannst du leichter ne ACL im Proxy implementieren. So kannst du zum Beispiel die Server nur mit den Spiegelservern sowie den Updateservern der Software kommunizieren lassen. Dafür musst du allerdings ne custom ACL im Proxy hinzufügen (terminal / SSH).
Das wär noch ne Idee - schaunmermal!

QuoteWenn die in Standardverzeichnissen liegen und leicht gefunden werden, musst du halt mit Brute Force Attacken rechnen.
Da haste aber recht! Ich hab sehr phantasievolle Verzeichnisnamen und fail2ban im Einsatz ;-)

Inzwischen habe ich die beiden Netzwerke eingerichtet und es funktioniert sogar ;-)

Nur die VM der Cloud kommt nicht mehr an ihren NFS-share für die Daten. Da muss ich wohl noch an den Netzwerkeinstellungen des Hypervisors schrauben. Als alles in dem 192er Netzwerk war liefs...
Die NFS-Serverfreigaben auf dem Hypervisor habe ich an die neuen Adressen angepasst.
Von allen VMs (NIC/Bridge im 10er Netz) kann ich auch den Host (NIC im 192er Netz) nicht mehr anpingen - den Rest des 192er Netzwerks kann ich aber erreichen... Ich denke, ich muss von der Bridge weg und ein MAC-VLAN einrichten...

Und das neue Netzwerk WAN<->VMs will ich noch mehr einsperren - im Moment kann man von dort (VMs) noch auf das komplette alte (LAN 192er) zugreifen.

Aber vielen Dank euch allen!
Stay secure!
Thomas

OPNsense 22.x / Qotom Q370G4 ram8G ssd256G

Wegen dem NFS: Da könnte es Bugs in manchen Implementierungen geben, wodurch du das ggf. nicht mit Stateful packet inspection lösen kannst. Im schlimmsten Fall must du den Rückkanal separat freigeben und in beiden Regeln State tracking deaktivieren.

Um das rauszufinden, musst du allerdings im Wireshark mitlesen.

Hallo Fabian - das Problem ist leider umfangreicher:
Von den VMs kann ich beide Netzwerke durchpingen - ausser den Host selbst.
Auch ssh geht neben smb und nfs nicht.
Bin gerade am sniffen - irgendwie gehen die Pakete für den Host im neuen 10er-netz nicht aus der Bridge heraus.
Liegt wohl am quemu...
Im WWW gibt es einige Beiträge, die per macVlan im Host beide Netzwerke bridgen - aber das mag ich (noch) nicht....
Stay secure!
Thomas

OPNsense 22.x / Qotom Q370G4 ram8G ssd256G

s'funzt!!!

Gaaanz andere Baustelle:
Ich hatte bisher das Datenverzeichnis für die Cloud auf dem Host als NFS in der Cloud VM gemountet.

Das Problem kam dann nach der Aufteilung in zwei Netzwerke - Die VMs sehen ihren Host nimmer (warum auch immer)

Jetzt habe ich das Host-Verzeichnis als 9P virtio share gemountet.

Stay secure!
Thomas

OPNsense 22.x / Qotom Q370G4 ram8G ssd256G

Update:
Nach Permission-Problemen mit dem 9P share habe ich auf ein RAW-Image gewechselt, das in der VM als Platte gemountet ist. Jetzt ist alles gut...
Stay secure!
Thomas

OPNsense 22.x / Qotom Q370G4 ram8G ssd256G