medikopter
Goto Top

Pfsense OpenVpn TLS Failure

Hallo zusammen,

ich habe ein Problem mit OpenVPN.

Server:
server

Ich bekomme in Client den Fehler :
client

In den Logs der Pfsense steht:
Firewall protokoll:
firewall log

OpenVPN Log:
openvpn log

und hier sind die Rules:
WAN
wan rule

OpenVPN
openvpn rule

Client Konfig
client config

Ich habe schon versucht neuzustarten und habe die VPN Server auch schon entfernt und neu aufgesetzt.
Leider führt das alles nicht zum gewünschten erfolg.

Wir haben eine Router Kaskade, dabei ist die Pfsense zum Exposed Host ernannt worden, wie man sieht in den Logs kommt der Traffic ja auch rein aber weiter nicht.

Bis letzte Woche ging es noch, allerdings hatte ich Urlaub und man sagte mir erst nach dem Urlaub das es nicht mehr geht. Also kann ich auch nicht mehr nachvollziehen was ich da angerichtet habe.

Vielen Dank für eure Hilfe, stehe echt auf dem Schlauch.
Wahrscheinlich ist es nur eine Kleinigkeit aber ich seh vor lauter Bäumen den Wald nicht.

Liebe Grüße

Content-ID: 375385

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

Ausgedruckt am: 21.11.2024 um 18:11 Uhr

AMD9558
AMD9558 29.05.2018 aktualisiert um 15:07:58 Uhr
Goto Top
Hi,

hast du dir schon mal folgende Lösungsansätze angescheut?

https://openvpn.net/index.php/open-source/faq/79-client/253-tls-error-tl ...

EDIT: Warum nutzt de denn den Port 443 für den OpenVPN Server? Hast du es denn auch schon mit dem Standardmäßigen Port (1194) von OpenVPN probiert?


VG
Yannik
medikopter
medikopter 29.05.2018 um 15:11:23 Uhr
Goto Top
Hi Yannik,

Ja habe ich schon gesehen, kann damit allerdings nichts anfangen.
Ich bin der Meinung das ich das schon alles überprüft habe, wie ja auf dem Bild zusehen ist, kommt auch Traffic auf dem Port rein und wird durchgelassen. An der Windows Firewall habe ich auch schon ausnahmen hinzugefügt, ohne Änderung.

Es funktioniert auf keinen Port, bis vor kurzen hat es ja noch funktioniert auch mit Port 443.

Danke trotzdem für deinen Lösungsansatz
aqui
aqui 29.05.2018 aktualisiert um 15:34:04 Uhr
Goto Top
Hilfreich wäre deine Client Konfig gewesen, denn vermutlich hast du dort vergessen:
remote-cert-tls server

In die Konfig zu setzen, kann das sein ?

Port 443 ist natürlich kontraproduktiv, denn dort arbeitet auch das HTTPS GUI der Firewall selber.
Wenn 443 dann sollte das zwingend auf UDP gesetzt sein.
Entsprechend natürlich sowohl in der OVPN Server als auch Client Konfig und...in der WAN Port Regel. (Letzteres ist ja glücklicherweise der Fall)
Exposed Host ist ebenso nicht gerade gut in einer Router Kaskade. Besser wäre hier dediziert den OVPN Port UDP 1194 (oder welchen immer du auch nutzt) dediziert auf den WAN Port der pfSense zu forwarden.

Das sind aber nur kosmetische Punkte die mit dem eigentlichen Fehler nichts zu tun haben.
Der liegt daran das du die Keys mit TLS Support generiert hast (easy-rsa vermutlich ?) der Client das aber nicht macht wegen des o.a. fehlenden Kommandos in dessen Konfig ?!
Oder andersrum du hast es ohne TLS gemacht, erzwingst das aber im Client.
medikopter
medikopter 29.05.2018 um 15:38:20 Uhr
Goto Top
Hallo aqui,

das Kommando ist in der config vorhanden. Wir lassen uns über den Installer immer über den "Client Export" erstellen. Das Zertifikat legen wir beim erstellen von Benutzern in den Einstellungen selber an. Ich stelle oben ein Screen von der Client config rein.

Danke für die Anregungen für die änderungen an der Pfsense, ich werde das mit meinen Kollegen besprechen.
aqui
aqui 29.05.2018 um 15:40:07 Uhr
Goto Top
Nimm das testweise mal raus und checke das erneut...
Es liegt definitv an der TLS Authentisierung !
medikopter
medikopter 29.05.2018 aktualisiert um 18:53:49 Uhr
Goto Top
Leider ändert das nichts.

update:
18:53 Uhr ich habe zusätzlich im Pfsense Forum mal gefragt
orcape
orcape 29.05.2018 um 19:57:41 Uhr
Goto Top
Hi medikopter,
definitiv ein TLS-Fehler in der Konfiguration zwischen Server und Client....
Da ich Deine Server.conf. nicht kenne, aber Deine Client.conf., hier einmal zum Vergleich die Client.conf eines "funktionierenden OpenVPN-Tunnels", allerdings auf einem Linux-Client....
client
dev tun
proto udp
ca /etc/openvpn/ca.crt
cert /etc/openvpn/client.crt
key /etc/openvpn/client.key
persist-tun
persist-key
link-mtu 1430
cipher AES-256-CBC
auth SHA1
tls-client
tls-auth /etc/openvpn/ta.key 1
resolv-retry infinite
remote orcape.xxxdns.de 1196
verify-x509-name "ikarus" name  
ns-cert-type server
comp-lzo adaptive
Der Verweis auf einen ta.key1 z.B., auf der pfsense, wird dem Client wenig nützen, denn der ta.key1 sollte auch auf dem Client in irgendeinem Ordner liegen, auf den Du verweisen solltest. Zu sehen bei mir z.B. in...."tls-auth /etc/openvpn/ta.key 1"
Gruß orcape
aqui
aqui 30.05.2018 aktualisiert um 13:34:20 Uhr
Goto Top
18:53 Uhr ich habe zusätzlich im Pfsense Forum mal gefragt
Mit der pfSense an sich hat das nichts zu tun. Deine OVPN Konfig ist fehlerhaft !
Kollege @orcape hat ja alles dazu schon gesagt !

Im Grunde ganz einfach auf der pfSense. Hier nochmal die wichtigsten ToDos:
  • Ganz wichtig: Zuallererst im Cert Manager eine eigene CA erstellen und die Default CA (US) der pfSense löschen !!
  • Auf Basis dieser neuen eigenen CA ein neues pfSense Server Zertifikat erzeugen.
  • Das alte Default Server Zertifikat löschen !
  • pfSense WebGUI unter Advanced Settings auf das neue Server Zertifikat einstellen !
Details dazu auch hier.
Das ist SEHR wichtig, denn damit erzeugt man eine eigene Verschlüsselungs Sicherheit.
Wer das Default US Zertifikat verwendet handelt fahrlässig, denn das "kennt" natürlich die ganze Welt und ein OpenVPN VPN wäre damit logischerweise offen wie ein Scheunentor !

Dann macht man weiter mit der OpenVPN Server Einrichtiung die im Grunde eine simple Default Einrichtung ist die mit 3 Mausklicks erledigt ist:
Server aufsetzen:
ovpn2

VPN Schlüssel setzen:
ovpn3
ovpn4

Internen VPN Tunnel IP setzen:
ovpn5

Compression einstellen:
ovpn6

Route des lokalen FW LAN setzen die an die Clients übertragen werden muss:
ovpn7
Fertisch mit dem Server !!

Client Konfig:
Im User / Client Setup der pfSense legst du jetzt deine User an die du brauchst.
Dann über den User Konfig Export exportierst du von der pfSense die kompletten Userdaten als .zip Datei !
ovpn

In der ...clientxyz.ovpn Datei befindet sich deinen komplette Client Konfig:
dev tun
persist-tun
persist-key
cipher AES-256-CBC
ncp-ciphers AES-256-GCM:AES-128-GCM
auth SHA1
tls-client
client
resolv-retry infinite
remote 1.2.3.4 1194 udp
verify-x509-name "pfsense.medikopter.home.arpa" name
auth-user-pass auth.txt
pkcs12 pfSense-udp-1194-client1.p12
tls-auth pfSense-udp-1194-client1-tls.key 1
remote-cert-tls server
comp-lzo adaptive


Den Inhalt der .zip Datei brauchst du nur noch einfach in dein Client Konfig Verzeichnis kopieren und gut iss.
ACHTUNG:
Wenn du das Client Zertifikat mit einem Passwort versehen hast wie im Beispiel oben, dann musst du noch eine kleine Textdatei erzeugen (hier: auth.txt) die Username und Passwort enthält damit der VPN Connect automatisiert wird.
Siehe auch:
https://my.hostvpn.com/knowledgebase/22/Save-Password-in-OpenVPN-for-Aut ...

Fertisch. Das wars.
Eigentlich ist das alles in 10 Minuten erledigt. Unverständlich warum du damit so lange rumfrickelst ?!
medikopter
medikopter 30.05.2018 aktualisiert um 15:19:40 Uhr
Goto Top
Vielen dank für eure Tipps und tricks.

Die Anregungen von dir @aqui nehme ich gerne an. Allerdings
Zitat von @aqui:
Fertisch. Das wars.
Eigentlich ist das alles in 10 Minuten erledigt. Unverständlich warum du damit so lange rumfrickelst ?!

Es lag an der Pfsense!

Fehler gefunden! Ich habe das Standard Gateway geändert. Wir haben 2 Internet Anschlüsse WAN und WAN2. Der OpenVPN Server lauscht auf WAN, als Standard Gateway war jetzt WAN2 hinterlegt. Nach Änderung auf WAN als Standard Gateway konnte ich mich wieder ganz normal anmelden.

ps.: wir haben eigene Zertifikate face-smile
aqui
Lösung aqui 30.05.2018 aktualisiert um 16:46:05 Uhr
Goto Top
Das Client Zertifikat generiert man übrigens gleich automatisch wenn man die User im User Manager einrichtet:

ovpnuser

Dazu sollte man bei OVPN auf der pfSense auch IMMER gleich den OpenVPN Cert Export Manager aus der Packet Verwaltung installieren, der den Export erheblich vereinfacht !!! (Siehe Screenshot oben !)
OpenVPN Server installieren auf pfSense Firewall, Mikrotik. DD-WRT oder GL.inet Router

Es lag an der Pfsense!
Nein ! Die pfSense ist wie immer unschuldig !
Nach dem wie du es ja selber beschreibst lag der Fehler "zwischen den Kopfhörern" oder PEBKAC wie man so schön sagt ! face-monkey
Gut wenn nun alles klappt wie es soll...
Case closed.
orcape
orcape 30.05.2018 um 18:42:47 Uhr
Goto Top
@medikopter,
wenn Du uns hier "weiße Mäuse" einreden willst, von wegen es lag an der pfSense. face-wink
Wenn, dann hast Du damit sicher nur ein Teilproblem gelöst.
Definitiv funktioniert Dein Tunnel bei Deiner Client.conf nur, wenn Du auf dem Server die TLS-auth weg lässt.
Ohne den Verweis auf den Pfad, auf dem der ta-key1 auf dem Client zu finden ist, wird der Tunnel keine funktionierende TLS-auth machen.
Gruß orcape
aqui
aqui 31.05.2018 um 10:09:42 Uhr
Goto Top
Letztlich richtig ! Das falsche Gateway kann niemals einen TLS Auth Fehler im OpenVPN erzeugen. Das eine hat mit dem anderen nichts zu tun.
Aber nehmen wir mal hin das jetzt alles rennt wie es soll und das ist ja das Wichtigste face-smile