# [OT] Sicherster Standpunkt für ein OpenVPN Server (LAN oder

## linpacman

Hallo

Ich habe ein kleines Verständnisproblem, wo man einen Openvpn Server am besten laufen lassen sollte, welcher übers Internet erreichbar sein soll.

Die erste Möglichkeit wäre in auf einer Maschine in der DMZ. Das klingt jetzt schön und gut und man könnte denken, daß ein eventueller Angreifer, der in den Server einbricht, von dort aufgrund der Firewall im Gateway nicht weiter bis ins LAN kommt. Wenn nun aber auf diesem System der Openvpn Server läuft und alle Connections, welche aus dem Subnetz der VPN Clients kommen, in der Firewall passieren dürfen um damit ins Lan zu kommen, dann könnte ein Angreifer doch theoretisch neue Zertifikate für den VPN Server einspielen und hätte dann selbst Vollzugriff ins Lan.

So gesehen wäre die DMZ umgangen, was ja irgendwo nicht Sinn der Sache sein kann.

Die zweite Möglichkleit wäre die Installation des VPN Servers nicht in der DMZ, sondern auf einem Rechner im Lan. Dann wäre oben beschriebenes Szenario nicht möglich, dafür müsste der VPN Port aus dem Web direkt ins Lan geforwardet werden, womit wieder eine Schwachstelle besteht, daß ein Angreifer bei einer Sicherheitslücke im VPN Server in dessen Rechner einbrechen könnte und damit dann sofort im Lan ist.

So erscheint keine der beiden Möglichkeiten optimal aber ich vermute einen Denkfehler meinerseits an irgendeiner Stelle, da VPN Zugänge ja nun in vielen Unternehmen etc. eingesetzt werden und das würde bei so gravierenden Sicherheitsbedenken sicher nicht der Fall sein.

Ich bin über alle hilfreichen Hinweise zu dem Thema dankbar.

+[OT], da zu allgemein --slick

----------

## toskala

wenn du eh ne dmz hast, dann steckste das ding da rein. falls du erst ne dmz aufsetzen müsstest dann lass es sein und stell das ding so in dein lan. es gibt keine 100% sicherheit. wenn dein zugangspunkt kompromittiert ist, dann biste so oder so gekniffen. (meine 2cent)

achja, edit:

also deine überlegungen an sich waren schon korrekt. die dmz ist halt ein guter mechanismus wenn du mailserver oder webserver etc. da reinstellst die nicht als gateway zu deinen clients funktionieren. von dem her ist so ein zugangspunkt immer ein "problem".

----------

## mkr

Ich würde den Server ins LAN stellen. (Oder das VPN gleich auf dem Router terminieren.)

Grund: Normalerweise dürfen von der DMZ keine Verbindungen ins LAN aufgebaut werden. Da Du dies für VPN aber brauchen würdest (Du willst ja über VPN auf die Rechner im LAN zugreifen), müsstest Du die DMZ quasi "öffnen". Dies ist ein Sicherheitsrisiko.

Ein VPN-Server ist nicht sonderlich gefährdet, solange man die VPN-Software aktuell hält. Auf dem Server sollte aber wenn möglich nur VPN laufen, nicht noch Mail, Web, Bittorrent etc.

----------

## linpacman

Die DMZ existiert schon und auf diesem Server laufen bereits einige Dienste, welche von aussen erreichbar sind. Auf dieser Maschine könnte ich den OpenVPN Server ebenfalls installieren.

Ins LAN sind von aussen zur Zeit keine Ports geöffnet. Ich denke, es wäre aber die sicherste Lösung, den OpenVPN Server auf einem Server im LAN zu installieren und dann nur den VPN Port von aussen ins LAN zu routen.

Die Angriffsfläche sollte dann kleiner sein, als bei dem Server in der DMZ, welcher mehrere Dienste nach aussen bereitstellt.

Spricht sonst irgendetwas gegen den OpenVPN Server im LAN?

----------

## think4urs11

 *linpacman wrote:*   

> Ich denke, es wäre aber die sicherste Lösung, den OpenVPN Server auf einem Server im LAN zu installieren und dann nur den VPN Port von aussen ins LAN zu routen.

 

Falsch!

Durchgriffe durch die Firewall direkt ins LAN zuzulassen ist immer eine schlechte Idee.

Bildlich gesprochen läßt du damit Verbindungen von der 'roten Zone' (dem Internet) in die 'grüne Zone' (dein LAN).

Verbindungen aus einer extern erreichbaren DMZ ins LAN zuzulassen ist immer ein (nur bedingt umgehbares) Sicherheitsrisiko.

Bildlich gesprochen sind das Verbindungen von 'gelb' zu 'grün' - du kannst den Maschinen in der DMZ nie so trauen wie deinen internen. (Jeweils gleich gut administrierte Maschinen vorausgesetzt)

Verbindungen sollten immer ausgehend von einer höher gesicherten Zone in eine niedriger gesicherte Zone aufgebaut werden und niemals andersrum. Im Falle z.B. eines VPN-Gateway geht das natürlich nicht, hier mußt du gesonderte Maßnahmen treffen.

 *linpacman wrote:*   

> Die Angriffsfläche sollte dann kleiner sein, als bei dem Server in der DMZ, welcher mehrere Dienste nach aussen bereitstellt.

 

Die Angriffsfläche ist dann am kleinsten wenn du nach dem Motto arbeitest '1 Service -> 1 Server' - je einfacher die Konfig einer Maschine desto leichter läßt es sich auch abdichten.

Das 'Problem' bei einem VPN-Server ist ja u.a. auch die Tatsache das du nicht siehst was da im VPN auf dich zukommt (weil verschlüsselt). Von daher wäre die beste Plazierung für ein VPN-Gateway zwischen zwei DMZ.

Das extern erreichbare Interface kommt in deine 'externe' DMZ wo auch die anderen extern erreichbaren Maschinen stehen.

Das interne Interface (also das wo die ganzen Userverbindungen 'rauskommen' steckst du in eine weitere DMZ und konfigurierst die FW entsprechend der Useranforderungen was die dürfen können.

Ob du das ganze nun mit einer Firewall abbildest mit 4 Interfaces (intern/extern/DMZ 'ext'/DMZ 'int') oder aber mit 2 getrennten ist eine Geschmacks- bzw. Preisfrage.

----------

## linpacman

Vielen Dank für die ausführliche Darstellung. Das macht bei entsprechender Dimension des Netzes sicher alles Sinn, allerdings möchte ich das Ganze nur privat nutzen und da sollte sich der Aufwand natürlich in Grenzen halten. Ich sehe es genauso, daß es am besten ist, auf einer Maschine sowenig wie möglich Dienste laufen zu lassen, allerdings kommt es hier nicht in Frage, für den OpenVPN, welcher von einem User, später vielleicht auch von 2-3 Usern genutzt wird, eine extra Maschine aufzustellen.

Wo wäre deiner Meinung nach unter diesen Voraussetzungen der OpenVPN am besten plaziert, sprich installiert?

----------

## think4urs11

mhh bei beschränkter Hardwaremenge könntest du mit virtuellen Maschinen arbeiten.

Also z.B. auf deinem DMZ-Server eine virtuelle Maschine 'OpenVPN' einrichten.

Ich mach das zuhause genauso mit Proxy/Mailserver etc. wobei ich bis jetzt noch keine Notwendigkeit für einen VPN-Server habe.

----------

## linpacman

Beschränkte Hardware ist nicht das Problem aber ich habe inzwischen genug Maschinen laufen und irgendwo muß man denn auch mal eine Grenze setzen, was vor allem die Stromkosten angeht.

Mit der virtuellen Maschine wäre noch eine gute Möglichkeit. Welche (freie) Software setzt du dafür ein und gibt es auch keine Möglichkeit, vom Hostsystem auf das virtuelle System zuzugreifen? Ansonsten wäre das Ganze für meinen Einsatzzweck natürlich wieder an der Sache vorbei.

----------

## ph03n1x

DMZ ist besser, weil du da den zugriff auf's LAN einschrenken kannst, bsp. nur zugriff auf server nicht auf's ganze subnet, wie wenn du ihn im lan hast. Ausser du lässt das im lan nochmal über eine router laufen, aber dann macht's bald keinen sinn mehr...

 :Smile: 

----------

## ank666

 *linpacman wrote:*   

> Welche (freie) Software setzt du dafür ein und gibt es auch keine Möglichkeit, vom Hostsystem auf das virtuelle System zuzugreifen?

 

Da fallen mir spontan UML und XEN ein...

----------

## mkr

 *linpacman wrote:*   

> Mit der virtuellen Maschine wäre noch eine gute Möglichkeit. Welche (freie) Software setzt du dafür ein und gibt es auch keine Möglichkeit, vom Hostsystem auf das virtuelle System zuzugreifen?

 

Linux VServer soll gut sein. Es ist im Gegensatz zu Lösungen wie VMWare keine Emulation eines kompletten Systems, sondern mehrere System teilen sich den gleichen Kernel. Die Prozesse der verschiedenen Systeme sind jedoch voneinander getrennt und ein VServer bekommt nichts von den anderen VServern auf dem gleichen Host mit.

Vorteil: kein Performanceverlust, da keine Hardware emuliert werden muss

Nachteil: alle Maschinen laufen mit dem gleichen Kernel, man kann also weder auf einem Guest mal eben einen neuen Kernel testen, noch andere Betriebssysteme installieren

Zu Deiner 2. Frage: Vom Hostsystem aus kann man bei allen mir bekannten Virtualisierungslösungen auf die Guests zugreifen. Deshalb sollte auf dem Host auch nur die Virtualisierungssoftware laufen und keinesfalls Netzwerkdienste.

----------

## linpacman

Vielen Dank für alle Tips. Ich werde mir nun überlegen, wie ich die Sache am besten angehe.

----------

## norbert

Wofuer brauchst Du den OpenVPN Server? Willst Du Zugriff auf das gesamte LAN haben oder spezielle Dienste?

Ich habe OpenVPN auf dem Gateway mitlaufen als einzigen von innen und aussen erreichbaren Dienst. Das tun0 hat eine eigene IP  und Netznamen und nur die Dienste, die ich brauche sind an diese gebunden. Ansonsten ist das ganze Routing des unverscluesselten Verkehrs mit iptables von und zu diesen tun0 blockiert. Wenn ich mit dem Notebook im Lan bin, wird auch das VPN genutzt und ich muss keine Netzwerkanpassungen vornehmen.

Was die Virtualisierung angeht, scheint Xen ziehmlich brauchbar zu sein. 

Nur dumm wenn man vergisst, die Zertifikate rechtzeitig zu erneueren und dann in Asien sitzt wie ich gerade....

----------

## linpacman

Eigentlich wollte ich schon Zugriff aufs gesamte LAN haben, wobei das sicherheitstechnisch sicher nicht die beste Entscheidung ist. Ich werde sehen, welche Dienste ich in der Praxis wirklich unterwegs benötige und dann sicherlich auch nur Zugriff auf diese Dienste freigeben.

Du schreibst, daß du OpenVPN auf dem Gateway laufen hast. Findet man da in den Logs ähnlich viele Loginversuche wie auf dem ssh Standardport 22 oder hält sich das noch in Grenzen?

PS: Wo nun gerade einen OpenVPN Nutzer diesen Beitrag verfolgt: Hast du der Config auf dem Client sowie auf dem Server auch user und group auf nobody gesetzt? Wenn ja, wie klappt bei der das beenden des VPN Clients? Bei mir gibt es den Fehler, daß das Zurücksetzen der default route nicht klappt. Ich vermute, daß dies an den eingeschränkten Rechten (nobody, nogroup) liegt aber irgendeine Lösung muß es dafür ja geben.

----------

## norbert

Ich habe den Zugriff innerhalb des VPN fuer mich auf ssh, http/https, smtp und imaps beschraenkt, einfach deshalb, weil ich grundsaetzlich sehr restrektiv vorgehe. Ist aber manchmal unbequem. Mir fehlt nur noch ein brauchbarer NFS Ersatz mit einfacher Konfiguration.

Bisher (Juni + Juli) hatte ich keine Zugriffsversuche auf den OpnVPN Port. Allerdings werde ich mich bei Gelegenheit noch mit Port Knocking beschaeftigen. Dar war letztens mal ein interressanter Artikel in der ct oder ix dazu.

Die Fragen mit der Konfig kann ich leider nicht beantworten. Bin aber am 27. Aug. wieder in zu Hause und werde mal nachsehen. Ggf. mich bitte daran erinnern.

----------

## linpacman

Den Artikel zum Port Knocking in der ct vor einiger Zeit habe ich auch gelesen; eine sehr interessante Sache, allerdings meine ich mich an einen ziemlich gravierenden Haken an der Sache zu erinnern aber genaueres weiß ich dazu leider auch nicht mehr.

Wenn du wieder zuhause bist, kannst du ja mal deine Server und Client Config posten. Ich habe außerdem noch das Problem, wenn ich mich per Modem einwähle und dann die VPN Verbindung aufbaue, dann läuft im Prinzip alles bis auf die Verbindung zu meinem NFS Server. Die Verbindung lässt sich fehlerfrei aufbauen, allerdings ist nahezu kein Datentransfer möglich. Ich vermute das Problem im Zusammenhang mit der Größe der MTU und/oder der Fragmente. Ich habe schon verschiedene Werte ausprobiert aber bisher ohne Erfolg, der Transfer bricht auf Null ein und teilweise erhalte ich Fehlermeldungen vom NFS Client bezüglich der Fragment Größe.

----------

## norbert

user und group habe ich in der Config nicht geändert. Werde dazu mal die Dokus durchforsten müssen. 

Übrigens scheint sich mit der Version 2.0.1 noch vieles in Bezug auf die Konfig geändert zu haben.

----------

