OpenVPN Sicherheit drastisch erhöht - Probleme mit dem Zugriff aufs Netz und Internet

Status
Für weitere Antworten geschlossen.

BenneX

Benutzer
Mitglied seit
26. Jan 2014
Beiträge
17
Punkte für Reaktionen
0
Punkte
1
Hallo Leute,

da mir die standard Sicherheitsoptionen von OpenVPN bei weitem nicht ausreichen habe ich die Sicherheit der Konfiguration deutlich erhöht.
Unter anderem durch DH4096, AES-256 Cipher, TLS Auth, RSA-SHA512 und einen vernüftigen TLS cipher mit TLS Version 1.2.

Da das GUI von OpenVPN auf dem DSM bei weitem nicht diese Optionen bereitstellt, arbeite ich über SSH.
Die Verbindung von Client zu Server klappt auch reibungslos. Das Problem ist folgendes:

Der Server kann aufgerufen werden, jedoch zu keinem Rechner im Netzwerk dahinter.
Auf den Clients kommt keine Verbindung zum Internet zustande.

Meine config stehen wie folgt aus:

Server
Rich (BBCode):
port 9000  																			
proto udp  																			

dev tun    																		
	
server 10.8.0.0 255.255.255.0													
	
push "route 192.168.178.0 255.255.255.0" 											
push "route 10.8.0.0 255.255.255.0" 				     							
	 
keepalive 10 120 																

cipher AES-256-CBC 																

comp-lzo 																		

max-clients 5 																	

user nobody   																	
group nobody 																		

persist-key 																
persist-tun 																

status /volume1/Backup/OpenVPNServer/openvpn-Status.log 					

;log /volume1/Backup/OpenVPNServer/openvpn-Log.log 						
verb 4 														

client-to-client 																

dh /var/packages/VPNCenter/etc/openvpn/keys/dh4096.pem
ca /var/packages/VPNCenter/etc/openvpn/keys/ca.crt
cert /var/packages/VPNCenter/etc/openvpn/keys/DS214.crt
key /var/packages/VPNCenter/etc/openvpn/keys/DS214.key
tls-auth /var/packages/VPNCenter/etc/openvpn/keys/ta.key 	

reneg-sec 300	

crl-verify /volume1/Backup/OpenVPNkeys/crl.pem 	
auth RSA-SHA512 			
tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384 
tls-version-min 1.2 	
prng sha512
auth-nocache 		


mode server

Client
Rich (BBCode):
dev tun


client 

remote xxx 9000

redirect-gateway

;pull

proto udp

script-security 2

ca ca.crt
cert UserOpenVPN.crt
key UserOpenVPN.key
tls-auth ta.key

comp-lzo

reneg-sec 0

cipher AES-256-CBC
auth RSA-SHA512
tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384

tls-version-min 1.2

auth-nocache

verify-x509-name xxx name

;log C:\\Users\\Benjamin\\Desktop\\log.log
verb 4

Weiß jemand von Euch Rat? Ich weiß leider nicht mehr weiter ...

Viele Grüße,
BenneX
 

MMD*

Gesperrt
Mitglied seit
26. Okt 2014
Beiträge
403
Punkte für Reaktionen
2
Punkte
24
Hallo, sieht soweit ok aus.

Auf Windows OpenVPN starten als Admin.
Ist dein Windows rechner im heimische LAN?
Wen ja, dann versuche es mal "von draussen"
 

BenneX

Benutzer
Mitglied seit
26. Jan 2014
Beiträge
17
Punkte für Reaktionen
0
Punkte
1
Hallo MMD,

danke für Deine Antwort.

Ich habe OpenVPN als Administrator gestartet, auch auf Linux als root habe ich das selbe Fehlerbild.
Beides aus einem externen Netz.

Hier nochmal das Problem zusammengefasst:
Sobald die Verbindung steht, funktioniert das Internet auf den Clients nicht mehr und
trotz "PUSH Route" in der Server Config, kann ich mich NUR mit dem Server verbinden und
keinen Rechnern dahinter (z.B. FritzBox). Den Server kann ich jedoch über die TunnelIP (10.8.0.1) und auch über die Heimnetz-Lan-IP erreichen (192.168.178.21)!

Bei meinen Recherchen bin ich auf folgenden Befehl gestoßen:
Rich (BBCode):
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
Dieser liefert mir auf der Diskstation jedoch nur
Rich (BBCode):
iptables v1.4.21: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.

Viele Grüße,
BenneX

/e

vorab lade ich das TUN Modul mit folgendem Befehl in den Kernel:
Rich (BBCode):
insmod /lib/modules/tun.ko
 
Zuletzt bearbeitet:
Mitglied seit
10. Jan 2014
Beiträge
393
Punkte für Reaktionen
0
Punkte
0
Und wenn du mal ein
insmod /lib/modules/iptable_nat.ko
machst?
 

fpo4711

Benutzer
Mitglied seit
26. Mai 2010
Beiträge
2.772
Punkte für Reaktionen
1
Punkte
0
Hallo,

da dürfte Dir noch einiges an Modulen fehlen. Helfen kann auch ein Blick in das Startstript von OpenVPN im Serverpaket.

Oder aber noch viel einfacher. Du legst Dir eine openvpn.conf.user im Verzeichnis /usr/syno/etc/packages/VPNCenter/openvpn (Hoffe der Pfad ist jetzt aus dem Kopf richtig) mit deinen speziellen Einstellungen an. Dann kannst Du dir das ganze manuelle laden von Modulen und anlegen vom tun-Device sparen. Das kann die DS für dich machen. Und das überlebt dann auch ein Update.

Gruß Frank
 

BenneX

Benutzer
Mitglied seit
26. Jan 2014
Beiträge
17
Punkte für Reaktionen
0
Punkte
1
Hallo,

die Möglichkeit mit der conf.user ist natürlich sehr komfortabel und war mir neu, jedoch kann ich mit dieser Option kein Passwort für das Server Zertifikat nutzen.
Der Tipp mit dem Start Script war Gold wert, danke dafür! Jetzt läuft alles prächtig!

Für jeden der vor dem selben Problem steht oder in Zukunft stehen wird:

Wer OpenVPN von Hand auf seiner Diskstation ausführen möchte, muss folgendes tun:

Auf dem Server muss Ip Forwarding aktiviert werden (wenn auch das Netz dahinter erreichbar werden soll), das funktioniert mit
Rich (BBCode):
echo 1 > /proc/sys/net/ipv4/ip_forward

Falls nicht vorhanden muss das Nat Device erstellt werden
Rich (BBCode):
mkdir -m 755 /dev/net
mknod /dev/net/tun c 10 200

Anschließend müssen alle benötigten Module mit dem Befehl geladen werden
Rich (BBCode):
insmod /lib/module/*****MODULNAME*****
Die Module (File exists Meldung stellt kein Problem dar, einfach mit dem nächsten weiter machen)
Rich (BBCode):
x_tables.ko ip_tables.ko iptable_filter.ko nf_conntrack.ko nf_defrag_ipv4.ko nf_conntrack_ipv4.ko nf_nat.ko
iptable_nat.ko ipt_REDIRECT.ko xt_multiport.ko xt_tcpudp.ko xt_state.ko ipt_MASQUERADE.ko tun.ko

Jetzt muss abschließend noch die Weiterleitung der Pakete ins Internet realisiert werden, falls ihr den gesamten Traffic der Clients über den Server laufen lassen wollt.
Rich (BBCode):
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
Hier muss natürlich 10.8.0.0 an eure Situation angepasst werden, eventuell auch der Netzwerkadapter.

Wenn Ihr nun OpenVPN über das Terminal anschmeißt, sollte es laufen. Mit screen könnt ihr den Prozess weiterlaufen lassen, auch wenn ihr das Terminal Fenster schließt.

Viele Grüße,
BenneX!
 

Frogman

Benutzer
Mitglied seit
01. Sep 2012
Beiträge
17.485
Punkte für Reaktionen
8
Punkte
414
Warum ich mich jetzt immer noch frage, warum Du das nicht - wie Frank im Post über Deinem erwähnt hast - das Serverpaket machen läßt und dafür die Konfig mit Deinen Ergänzungen garnierst...
 

BenneX

Benutzer
Mitglied seit
26. Jan 2014
Beiträge
17
Punkte für Reaktionen
0
Punkte
1
Damit kann ich leider Serverseitig das Zertifikat nicht mit einer Passphrase schützen, da es keine Möglichkeit gibt das Passwort einzugeben.

Grüße,
BenneX.
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat