Update 123 OpenVPN Host Zertifikat RFC3280 nicht Regelkonform

Das schwierige Thema VPN!
bert
Posts: 104
Joined: August 5th, 2009, 10:01 am

Re: Update 123 OpenVPN Host Zertifikat RFC3280 nicht Regelkonform

Post by bert » September 14th, 2018, 9:04 pm

Ich hänge mich mal an.

>> Ich habe dieses Problem auch und habe definitiv auch kein Backup wieder eingespielt auf den Maschinen.

.. wie bei mir. Problem gelöst durch Copy & Paste in das config-file

ABER:

1.) Warum wurde dieses von den Updates nicht aktualisiert?

2.) Wie stelle ich sicher, dass das künftig nicht nochmals passiert?

3.) Wie prüfe ich, ob das Problem veralteter config-files für andere Subssysteme auch besteht?

==> Sollte nicht jedes Update das prüfen und ggf einen "Fehler/Hinweis" geben ("Folgende Dateien wurden nicht aktualisiert, weil diese scheinbar manuell geändert wurden ...")

Michael

baruch
Posts: 18
Joined: November 16th, 2014, 12:01 am

Re: Update 123 OpenVPN Host Zertifikat RFC3280 nicht Regelkonform

Post by baruch » September 15th, 2018, 2:38 am

Hallo zusammen,

Update 123 hat auch bei uns zu verschiedenen Schwierigkeiten geführt, die wichtigste und bisher ungelöste berührt OpenVPN. Wir haben 3 IPFire an zentralen Stellen gewerblich im Einsatz:

IPFire #1
läuft seit 2014 als VM unter Hyper-V, wurde seither regelmäßig geupdated, es fand auch eine Neuinstallation und jüngst der Wechsel von der 32 auf die 64 Bit Version statt (die 64 Bit Version lief zuvor nicht problemlos als VM unter Hyper-V), wobei stets die Konfiguration aus dem vorangegangenen Backup wiederhergestellt wurde. Seit Update 123 erhalten wir den Hinweis "Host Zertifikat ... nicht regelkonform".

Nach Austausch der /var/ipfire/ovpn/openssl/ovpn.cnf durch Copy & Paste wie beschrieben kann reproduzierbar auch nach Neustart leider KEIN neues Root/Host Zertifikat mehr erstellt werden: IPFire meldet "OpenSSL hat einen Fehler verursacht: 256".

Um das Problem zu lösen sehe ich aktuell nur eine vollständige Neuinstallation und manuelle Wiederherstellung der Einstellungen. Das ist zwar machbar, aber ich würde den Aufwand natürlich gern vermeiden.

IPFire #2
physische Installation (64Bit) auf APU2C4, seit Ende 2017 in Betrieb und seither regelmäßig geupdated. Ausgangspunkt der Konfiguration war die Einspielung des Backups von IPFire #1. Hier haben wir auch den Hinweis "Host Zertifikat ... nicht regelkonform", ein Update der ovpn.cnf habe ich nach den Erfahrungen mit IPFire #1 noch nicht versucht.

Eine Neuinstallation würde sich hier mangels Display und Betrieb im Rechenzentrum sehr schwierig gestalten, daher habe ich hier noch keinen praktikablen Lösungsansatz.

IPFire #3
IPFire Duo Box Business, vor zwei Wochen in Betrieb genommen: diese Maschine lies sich nicht problemlos vom ursprünglich installierten Update 121 (oder 122?) auf 123 updaten. Da die Box noch ganz "frisch" war, störte mich das aber nicht und wir haben erfolgreich eine Neuinstallation zur aktuellen Version durchgeführt. Diese Maschine läuft bisher fehlerfrei.

Der Übergang zu Update 123 war bei allen Installationen mit Schwierigkeiten behaftet, hat allerdings auch Verbesserungen gebracht, wie z.B. dass die Entropie jetzt auf #1 und #2 deutlich höher ist, als zuvor - hier hatten wir zwischenzeitlich sogar den Einsatz eines Hardware-Zufallszahlengenerators erwogen.

Zusammenfassend meine Frage an die Community:
Wie kann die Ursache für "OpenSSL hat einen Fehler verursacht: 256" näher eingekreist und gefixt werden?

Sehr beunruhigend finde ich, dass wir trotz penibler kontinuierlicher Sicherung der Maschinen entweder ein künftiges Update nicht mehr installieren zu können, weil OpenVPN dann den Dienst verweigern wird und als Alternative möglicherweise nur noch teils aufwändige manuelle Neuinstallationen als Option haben...

Noch ein Nachtrag: Diesen tread hier https://forum.ipfire.org/viewtopic.php? ... it=openvpn habe ich durchaus zur Kenntnis genommen, die Diskussion kommt aber m.E: hier nicht zum Tragen, da vor dem Versuch der Neuerstellung von Root/Host Zertifikaten die alten Zertifikate und alle Client-Verbindungen gelöscht worden waren.

Für jeden Hinweis schon jetzt herzlichen Dank,

baruch

bert
Posts: 104
Joined: August 5th, 2009, 10:01 am

Re: Update 123 OpenVPN Host Zertifikat RFC3280 nicht Regelkonform

Post by bert » September 15th, 2018, 10:02 am

baruch wrote:
September 15th, 2018, 2:38 am
Nach Austausch der /var/ipfire/ovpn/openssl/ovpn.cnf durch Copy & Paste wie beschrieben kann reproduzierbar auch nach Neustart leider KEIN neues Root/Host Zertifikat mehr erstellt werden: IPFire meldet "OpenSSL hat einen Fehler verursacht: 256".

Um das Problem zu lösen sehe ich aktuell nur eine vollständige Neuinstallation und manuelle Wiederherstellung der Einstellungen. Das ist zwar machbar, aber ich würde den Aufwand natürlich gern vermeiden.
Bei mir kam das nur beim Erstellen von Client-Zertifikaten und konnte gelöst werden:

https://forum.ipfire.org/viewtopic.php? ... 56#p116713

Im Nachgang fiel mir auf, dass in der neuen ovpn.conf ein Default-Wert für die maximale Gültigkeit vorgegeben ist. Den hatte ich bisher nicht, weil eben diese conf-Datei durch die Updates scheinbar nicht auf den letzten Stand gebracht wurde.
baruch wrote:
September 15th, 2018, 2:38 am
Sehr beunruhigend finde ich, dass wir trotz penibler kontinuierlicher Sicherung der Maschinen entweder ein künftiges Update nicht mehr installieren zu können, weil OpenVPN dann den Dienst verweigern wird und als Alternative möglicherweise nur noch teils aufwändige manuelle Neuinstallationen als Option haben...
Genau deswegen: https://forum.ipfire.org/viewtopic.php?f=17&t=15442

Bitte implementiert eine Art "Recovery".

Michael

ummeegge
Community Developer
Community Developer
Posts: 5001
Joined: October 9th, 2010, 10:00 am

Re: Update 123 OpenVPN Host Zertifikat RFC3280 nicht Regelkonform

Post by ummeegge » September 15th, 2018, 4:55 pm

Hallo zusammen,
baruch wrote:
September 15th, 2018, 2:38 am
wobei stets die Konfiguration aus dem vorangegangenen Backup wiederhergestellt wurde
die ovpn.cnf wurde mit einem der letzten Updates in den exclude File vom Backup geschrieben (wird nicht mehr in´s BackUP geschrieben), kann sein das du da eine ältere Version hattest wo die alte ovpn.cnf noch enthalten war, das sollte aber mittlerweile gefixt sein --> https://git.ipfire.org/?p=ipfire-2.x.gi ... heads/next .
baruch wrote:
September 15th, 2018, 2:38 am
Zusammenfassend meine Frage an die Community:
Wie kann die Ursache für "OpenSSL hat einen Fehler verursacht: 256" näher eingekreist und gefixt werden?
kannst du mal unter /var/log/httpd/error_log schauen ? Im Regelfall findet sich da ein Hinweis was den 256er erzeugt.
baruch wrote:
September 15th, 2018, 2:38 am
Eine Neuinstallation würde sich hier mangels Display und Betrieb im Rechenzentrum sehr schwierig gestalten, daher habe ich hier noch keinen praktikablen Lösungsansatz.
Ich denke auch nicht das dass nötig ist.
baruch wrote:
September 15th, 2018, 2:38 am
Sehr beunruhigend finde ich, dass wir trotz penibler kontinuierlicher Sicherung der Maschinen entweder ein künftiges Update nicht mehr installieren zu können, weil OpenVPN dann den Dienst verweigern wird und als Alternative möglicherweise nur noch teils aufwändige manuelle Neuinstallationen als Option haben...

Ich weiss gerade nicht was du genau meinst. Wenn du die Ankündigung von OpenVPN meinst --> https://community.openvpn.net/openvpn/w ... -cert-type dann kann ich das verstehen, da (nicht nur hierzu) gibt es eine sehr schlechte User Resonanz zu, soweit ich das aber sehe gibt es keine andere alternative wie diese hier beschriebene...
bert wrote:
September 15th, 2018, 10:02 am
Im Nachgang fiel mir auf, dass in der neuen ovpn.conf ein Default-Wert für die maximale Gültigkeit vorgegeben ist. Den hatte ich bisher nicht, weil eben diese conf-Datei durch die Updates scheinbar nicht auf den letzten Stand gebracht wurde.
Da ist aber eigentlich nie was geändert worden --> https://git.ipfire.org/?p=ipfire-2.x.gi ... heads/next .

UE
Image
Image

Alternarivende
Posts: 186
Joined: April 4th, 2013, 4:30 pm

Re: Update 123 OpenVPN Host Zertifikat RFC3280 nicht Regelkonform

Post by Alternarivende » September 16th, 2018, 10:48 am

Kann man schon in etwa abschätzen wann die alten Verbindungen dann nicht mehr funktionieren werden? Sprechen wir hier von Monaten oder Jahren?

Ich habe ca. 40 Geräte im Einsatz und müsste dafür die ein oder andere Reise planen um das umzustellen.

Ich nehme mal an das es keine Möglichkeit gibt diese Umstellung online oder per Skript oä. durchzuführen?), korrekt?

Kleine Offtopic Frage am Rande: Ist Strongswan vielleicht eine Alternative, auf die man warten könnte?

ummeegge
Community Developer
Community Developer
Posts: 5001
Joined: October 9th, 2010, 10:00 am

Re: Update 123 OpenVPN Host Zertifikat RFC3280 nicht Regelkonform

Post by ummeegge » September 16th, 2018, 12:35 pm

Hi,
Alternarivende wrote:
September 16th, 2018, 10:48 am
Kann man schon in etwa abschätzen wann die alten Verbindungen dann nicht mehr funktionieren werden? Sprechen wir hier von Monaten oder Jahren?
eher Monate, hier --> https://community.openvpn.net/openvpn/m ... ease%202.5 findest du den aktuellen Status.
Alternarivende wrote:
September 16th, 2018, 10:48 am
Ich nehme mal an das es keine Möglichkeit gibt diese Umstellung online oder per Skript oä. durchzuführen?), korrekt?
Du kannst dir z.b. eine IPSec Verbindung aufmachen und von da aus das OpenVPN WUI verwalten.
Alternarivende wrote:
September 16th, 2018, 10:48 am
Kleine Offtopic Frage am Rande: Ist Strongswan vielleicht eine Alternative, auf die man warten könnte?
Auf Strongswan brauchst du nicht zu warten da IPFire Stronswan schon lange Zeit --> https://planet.ipfire.org/post/ipfire-2 ... -ipsec-vpn nutzt.


UE
Image
Image

bert
Posts: 104
Joined: August 5th, 2009, 10:01 am

Re: Update 123 OpenVPN Host Zertifikat RFC3280 nicht Regelkonform

Post by bert » September 17th, 2018, 8:21 am

Zur Klärung, warum es den COPY-PASTY-Fix von ovpn.cnf braucht:

Ich habe hier noch eine Kiste Stand 119 laufen. Komplett neu installiert Anfang 2015 (so meine Erinnerung). Hier schaut die Datei so aus:

Code: Select all

[ server ]

# JY ADDED -- Make a cert with nsCertType set to "server"
basicConstraints		= CA:FALSE
nsCertType			= server
nsComment			= "OpenSSL Generated Server Certificate"
subjectKeyIdentifier		= hash
authorityKeyIdentifier		= keyid,issuer:always
Die Datei auf Github schaut so aus:

Code: Select all

[ server ]

# JY ADDED -- Make a cert with nsCertType set to "server"
basicConstraints		= CA:FALSE
nsCertType			= server
nsComment			= "OpenSSL Generated Server Certificate"
subjectKeyIdentifier		= hash
authorityKeyIdentifier		= keyid,issuer:always 
extendedKeyUsage               = serverAuth
keyUsage                       = digitalSignature, keyEncipherment
Der Rest ist identisch. Paßt das so?

(Anm:

Code: Select all

default_days			= 999999
- wenn das drin steht, wie kann es dann sein, dass das Feld "Gültig bis (days):" beim Erzeugen eines Client-Zertifikates leer ist und der Fehler https://forum.ipfire.org/viewtopic.php? ... is#p116713 auftritt?

Michael

Alternarivende
Posts: 186
Joined: April 4th, 2013, 4:30 pm

Re: Update 123 OpenVPN Host Zertifikat RFC3280 nicht Regelkonform

Post by Alternarivende » September 17th, 2018, 8:49 am

baruch wrote:
September 15th, 2018, 2:38 am
Zusammenfassend meine Frage an die Community:
Wie kann die Ursache für "OpenSSL hat einen Fehler verursacht: 256" näher eingekreist und gefixt werden?
kannst du mal unter /var/log/httpd/error_log schauen ? Im Regelfall findet sich da ein Hinweis was den 256er erzeugt.
Ich antworte mal darauf da ich soeben beim ersten umzustellenden Client dieselbe Fehlermeldung erhalten habe.

Folgendes sagt die LOG:

Code: Select all

writing new private key to '/var/ipfire/ovpn/ca/cakey.pem'
-----
unable to find 'distinguished_name' in config
problems making Certificate Request
140519359213760:error:0E06D06A:configuration file routines:NCONF_get_string:no c                                                                                                                                                             onf or environment variable:crypto/conf/conf_lib.c:272:

ummeegge
Community Developer
Community Developer
Posts: 5001
Joined: October 9th, 2010, 10:00 am

Re: Update 123 OpenVPN Host Zertifikat RFC3280 nicht Regelkonform

Post by ummeegge » September 17th, 2018, 9:46 am

Erstmal Hallo zusammen,
bert wrote:
September 17th, 2018, 8:21 am
Zur Klärung, warum es den COPY-PASTY-Fix von ovpn.cnf braucht:

Ich habe hier noch eine Kiste Stand 119 laufen. Komplett neu installiert Anfang 2015 (so meine Erinnerung). Hier schaut die Datei so aus:

Code: Select all

[ server ]

# JY ADDED -- Make a cert with nsCertType set to "server"
basicConstraints		= CA:FALSE
nsCertType			= server
nsComment			= "OpenSSL Generated Server Certificate"
subjectKeyIdentifier		= hash
authorityKeyIdentifier		= keyid,issuer:always
das liegt daran das die neue ovpn.cnf erst mit Core 120 gekommen ist --> https://git.ipfire.org/?p=ipfire-2.x.gi ... 54c63ba7ab .
bert wrote:
September 17th, 2018, 8:21 am
Die Datei auf Github schaut so aus:

Code: Select all

[ server ]

# JY ADDED -- Make a cert with nsCertType set to "server"
basicConstraints		= CA:FALSE
nsCertType			= server
nsComment			= "OpenSSL Generated Server Certificate"
subjectKeyIdentifier		= hash
authorityKeyIdentifier		= keyid,issuer:always 
extendedKeyUsage               = serverAuth
keyUsage                       = digitalSignature, keyEncipherment
Der Rest ist identisch. Paßt das so?
Nein, da fehlt der [ usr_cert ] Eintrag. Hier --> https://git.ipfire.org/?p=ipfire-2.x.gi ... 6716e96f85 findest du den kompletten Diff.
bert wrote:
September 17th, 2018, 8:21 am
(Anm:

Code: Select all

default_days			= 999999
- wenn das drin steht, wie kann es dann sein, dass das Feld "Gültig bis (days):" beim Erzeugen eines Client-Zertifikates leer ist und der Fehler https://forum.ipfire.org/viewtopic.php? ... is#p116713 auftritt?
Du darfst ROOT und HOST Zertifikat nicht mit dem Client Zertifikat verwechseln. ROOT und HOST haben beide schon immer die OpenSSL Max. Dauer von '999999' Tagen gehabt. Wenn du im WUI mal auf den Info Button klickst (egal ob für ROOT oder HOST Zertifikat) findest du das unter 'Validity' --> 'Not After', da steht dann was vom Jahre ~ 4755 was den '999999' Tagen entspricht.
Zu deinem geposteten Problem in dem anderen Topic ( https://forum.ipfire.org/viewtopic.php? ... is#p116713 ), das neue OpenSSL akzeptiert bei der Client Erstellung bei "Gültig bis:" kein leeres Feld mehr und ist somit ein "Require" was mit Core 123 --> https://git.ipfire.org/?p=ipfire-2.x.gi ... 6023018c16 bzw. --> https://git.ipfire.org/?p=ipfire-2.x.gi ... d780710366 gefixt wurde.
Alternarivende wrote:
September 17th, 2018, 8:49 am
Folgendes sagt die LOG:

Code: Select all

writing new private key to '/var/ipfire/ovpn/ca/cakey.pem'
-----
unable to find 'distinguished_name' in config
problems making Certificate Request
140519359213760:error:0E06D06A:configuration file routines:NCONF_get_string:no c                                                                                                                                                             onf or environment variable:crypto/conf/conf_lib.c:272:
Check bitte mal das deine ovpn.cnf auch korrekt ist (siehe oben) oder kopier sie dir komplett von hier rüber --> https://git.ipfire.org/?p=ipfire-2.x.gi ... ds/core123 .

UE
Image
Image

Alternarivende
Posts: 186
Joined: April 4th, 2013, 4:30 pm

Re: Update 123 OpenVPN Host Zertifikat RFC3280 nicht Regelkonform

Post by Alternarivende » September 17th, 2018, 9:52 am

ummeegge wrote:
September 17th, 2018, 9:46 am

Check bitte mal das deine ovpn.cnf auch korrekt ist (siehe oben) oder kopier sie dir komplett von hier rüber --> https://git.ipfire.org/?p=ipfire-2.x.gi ... ds/core123 .

UE
Das habe ich getan, die alte Datei habe ich geleert und mit diesem Inhalt ersetzt. Dennoch die Fehlermeldung.

Edit: Ich habe die Datei jetzt auch zur Sicherheit noch mal mit diff verglichen. Das stimmt soweit.

ummeegge
Community Developer
Community Developer
Posts: 5001
Joined: October 9th, 2010, 10:00 am

Re: Update 123 OpenVPN Host Zertifikat RFC3280 nicht Regelkonform

Post by ummeegge » September 17th, 2018, 10:09 am

Die Fehlermeldung sagt das er die OpenSSL conf bzw. die Umgebungsvariable nicht finden kann. Was mir auf die Schnelle einfallen würde, hast du hierfür einen Editor verwendet ? Wenn ja lad dir den File mal direkt von Github auf den Fire

Code: Select all

wget https://raw.githubusercontent.com/ipfire/ipfire-2.x/master/config/ovpn/openssl/ovpn.cnf
und verschieb ihn nach /var/ipfire/ovpn/openssl .
Permissions

Code: Select all

ll /var/ipfire/ovpn/openssl/ovpn.cnf
und Name sollten

Code: Select all

rw-r--r-- 1 nobody nobody 2709 Oct 13  2017 /var/ipfire/ovpn/openssl/ovpn.cnf
sein.

UE
Image
Image

Alternarivende
Posts: 186
Joined: April 4th, 2013, 4:30 pm

Re: Update 123 OpenVPN Host Zertifikat RFC3280 nicht Regelkonform

Post by Alternarivende » September 17th, 2018, 11:42 am

Habe ich gemacht, leider dieselbe Meldung.

ummeegge
Community Developer
Community Developer
Posts: 5001
Joined: October 9th, 2010, 10:00 am

Re: Update 123 OpenVPN Host Zertifikat RFC3280 nicht Regelkonform

Post by ummeegge » September 17th, 2018, 4:23 pm

OK, ein paar Fragen. Auf welchem Core bist du gerade ?
Kannst du mal folgende Kommandos posten ?

Code: Select all

openssl x509 -text -in /var/ipfire/ovpn/certs/servercert.pem | grep -B4 'Signature Algorithm'

Code: Select all

md5sum /srv/web/ipfire/cgi-bin/ovpnmain.cgi
Hast du in einem der Felder Sonderzeichen beim Erstellen des Client Zertifikats verwendet ?

Kann den Fehler hier weder auf upgedaten noch auf frisch installierten Versionen reproduzieren.

UE
Image
Image

Alternarivende
Posts: 186
Joined: April 4th, 2013, 4:30 pm

Re: Update 123 OpenVPN Host Zertifikat RFC3280 nicht Regelkonform

Post by Alternarivende » September 18th, 2018, 5:39 am

Guten Morgen,
ich bin auf U123, geupdated von 114 auf einem IPFire Business.

Code: Select all

openssl x509 -text -in /var/ipfire/ovpn/certs/servercert.pem | grep -B4 'Signature Algorithm'
x509: Cannot open input file /var/ipfire/ovpn/certs/servercert.pem, No such file or directory

Code: Select all

md5sum /srv/web/ipfire/cgi-bin/ovpnmain.cgi
15106df4a0421a6ee1af4afd979de0e9  /srv/web/ipfire/cgi-bin/ovpnmain.cgi
Wenn Bindestriche als Sonderzeichen zählen, dann ja, ansonsten nur Buchstaben. Ich teste es aber gleich mal ohne Bindestriche.

Edit:
Der DynDNS Hostname enthält auch Bindestriche, muss ich den ggf. auch anpassen?

ummeegge
Community Developer
Community Developer
Posts: 5001
Joined: October 9th, 2010, 10:00 am

Re: Update 123 OpenVPN Host Zertifikat RFC3280 nicht Regelkonform

Post by ummeegge » September 18th, 2018, 9:05 am

Guten Morgen,
du schreibst hier
Alternarivende wrote:
September 17th, 2018, 8:49 am
Ich antworte mal darauf da ich soeben beim ersten umzustellenden Client dieselbe Fehlermeldung erhalten habe.
von einem Client was sich für mich nach Client generieren angehört hatte, nach diese Meldung
Alternarivende wrote:
September 18th, 2018, 5:39 am

Code: Select all

openssl x509 -text -in /var/ipfire/ovpn/certs/servercert.pem | grep -B4 'Signature Algorithm'
x509: Cannot open input file /var/ipfire/ovpn/certs/servercert.pem, No such file or directory
gibt es aber noch kein Host Zertifikat. Die Prüfsumme für die ovpnmain.cgi ist OK, wenn du sicher bist das die ovpn.cnf auch up-to-date ist dann lösche nochmal das X509 und erstelle es neu. Setzte während dessen mal ein

Code: Select all

tail -f /var/log/httpd/error_log
ab und poste das Resultat.

Hab jetzt einiges probiert um deinen Fehler irgendwie nachzustellen was aber leider (eher zum Glück ;) hier nicht klappt.

Bindestriche sollte gehen, beim DDNS denke ich auch das es geht aber das kannst du ja relativ leicht mittels Ping und/oder durch den grün markierter Eintrag nach einem Update im WUI sehen.

UE
Image
Image

Post Reply