OPNsense akzeptiert Zertifikat nicht

Hallo zusammen,

wir versuchen uns gerade an einer Neuintallation von LMN7 + OPNsense + Docker. Die Appliances stehen und die Erstkonfiguration wurde gemacht.

Uns ist aufgefallen, dass die Firewall nicht per SSH erreichbar ist. Versucht man in der OPNsense irgendeine Änderung unter System - Einstellungen - Verwaltung zu speichern, kommt folgender Fehler: Certificate linuxmuster - firewall is not intended for server use.

Woran kann das liegen? Kann man CA und Zertifikat nochmal neu erstellen lassen?

Danke schon mal und viele Grüße

Lars

Hallo Lars,

ist den das linuxmuster-setup auf dem Server beim INstallieren sauber durchgelaufen?

Da wird manchmal vergessen,d ass das Firewall root Passwort zu diesem Zeitpunkt
Muster!
sein muß: sonst schlägt das Einrichten der Firewall mangels Zugang fehl.

Wenn das ein ganz frisches System ist, dann würde ich nochmal die INstallation machen.
Wennes schon älter ist, dann würde ich das Script aus diesem Post mal laufen lassen:

Danach ist die OPNsense platt: aber wieder frisch und verbunden.

LG

Holger

Hallo Holger,

ja, das Setup lief sauber durch. Das root-Passwort stand auf Muster!

Seltsam ist, dass das Zertifikat zwar gelesen wird, aber nicht als Server-Zertifikat anerkannt wird:
image

Das Skript habe ich durchlaufen lassen, hat nichts geändert, was ja eigentlich auch klar ist, da die Zertifikate nicht neu erstellt wurden.

Gibt es evtl. doch einen Weg, die Zertifizierung für die FW nochmal anzustoßen bzw. selbst zu machen?

Ich würde ja auch die OPNsense neu installieren, befürchte da aber das gleiche Spiel…

LG

Lars

Habe jetzt ausgehend von Snapshots nochmal die Erstkonfiguration gemacht. Die läuft bis zum Schluss durch, nur die SSH-Verbindung zur Firewall am Ende scheitert:

------------------------------------------------------------------------------
#### linuxmuster-setup startet at 2021-12-17 15:46:53                     ####
------------------------------------------------------------------------------
Custom inifile /tmp/setup.ini given on cli, ignoring other arguments!
------------------------------------------------------------------------------
#### ini                                                                  ####
#### Reading /usr/share/linuxmuster/setupdefaults.ini .......... Success! ####
#### Reading /var/lib/linuxmuster/prepare.ini .................. Success! ####
#### Reading /var/cache/linuxmuster/custom.ini ................. Success! ####
#### * Domainname ............................................... jpp.lan ####
#### * Servername ................................................ server ####
#### * Server-IP .............................................. 10.32.1.1 ####
#### * Bitmask ....................................................... 12 ####
#### * DHCP range ............................. 10.32.255.1-10.32.255.254 ####
#### * Firewall IP .......................................... 10.32.1.254 ####
#### * Dockerhost IP .......................................... 10.32.1.3 ####
#### * Mailserver IP ........................................... not set! ####
#### Creating global binduser secret ........................... Success! ####
#### Writing setup ini file .................................... Success! ####
------------------------------------------------------------------------------
#### templates                                                            ####
#### Reading setup data ........................................ Success! ####
#### Processing config templates:                                         ####
#### * dhcpd.conf .............................................. Success! ####
#### * rsyncd.conf ............................................. Success! ####
#### * webui-sudoers ........................................... Success! ####
#### * smb.conf ................................................ Success! ####
#### * dhcpd.events.conf ....................................... Success! ####
#### * ntp.conf ................................................ Success! ####
#### * devices.csv ............................................. Success! ####
#### * dhcpd.devices.conf ...................................... Success! ####
#### * dhcpd.custom.conf ....................................... Success! ####
#### * nsswitch.conf ........................................... Success! ####
#### * dhcpd.apparmor.d ........................................ Success! ####
#### * dhcpd.subnets.conf ...................................... Success! ####
#### * cupsd.conf .............................................. Success! ####
#### * subnets.csv ............................................. Success! ####
#### * smb.conf.admin .......................................... Success! ####
#### Network setup ............................................. Success! ####
#### Adjusting server time .......................... 2021-12-17 15:47:03 ####
------------------------------------------------------------------------------
#### fstab                                                                ####
#### Modifying mount options for / ............................. Success! ####
#### Remounting / .............................................. Success! ####
------------------------------------------------------------------------------
#### ssl                                                                  ####
#### Reading setup data ........................................ Success! ####
#### Creating private CA key & certificate ..................... Success! ####
#### Creating private server key & certificate ..................Success! ####
#### Creating private firewall key & certificate ................Success! ####
#### Creating private mail key & certificate ....................Success! ####
#### Creating private docker key & certificate ..................Success! ####
#### Creating private opsi key & certificate ....................Success! ####
#### Ensure key and certificate permissions .................... Success! ####
------------------------------------------------------------------------------
#### ssh                                                                  ####
#### Reading setup data ........................................ Success! ####
#### Creating ssh keys:                                                   ####
#### * dsa host key ............................................ Success! ####
#### * dsa root key ............................................ Success! ####
#### * ecdsa host key .......................................... Success! ####
#### * ecdsa root key .......................................... Success! ####
#### * ed25519 host key ........................................ Success! ####
#### * ed25519 root key ........................................ Success! ####
#### * rsa host key ............................................ Success! ####
#### * rsa root key ............................................ Success! ####
#### Restarting ssh service .................................... Success! ####
#### * Processing ssh link to host 10.32.1.3 on port 22:                  ####
####   > Testing ssh connection ................................... Open! ####
####   > Establishing ssh connection ........................... Success! ####
####   > Deploying public key .................................. Success! ####
####   > Deploying ssl certs & key ............................. Success! ####
####   > Preparing docker ...................................... Success! ####
------------------------------------------------------------------------------
#### samba-provisioning                                                   ####
#### Stopping samba services ................................... Success! ####
#### Reading setup data ........................................ Success! ####
#### Generating AD admin password .............................. Success! ####
#### Provisioning samba ........................................ Success! ####
#### Provisioning krb5 ......................................... Success! ####
#### Enabling samba services ................................... Success! ####
#### Backing up samba .......................................... Success! ####
#### Provisioning sophomorix samba schema ...................... Success! ####
#### Fixing resolv.conf ........................................ Success! ####
#### Exchanging smb.conf ....................................... Success! ####
#### Starting samba ad dc service .............................. Success! ####
------------------------------------------------------------------------------
#### samba-users                                                          ####
#### Reading setup data ........................................ Success! ####
#### Backing up samba .......................................... Success! ####
#### Creating share for default-school ......................... Success! ####
#### Creating samba account for global-admin ................... Success! ####
#### Creating samba account for global-binduser ................ Success! ####
#### No expiry for administrative passwords .................... Success! ####
#### Creating ou for default-school ............................ Success! ####
#### Creating samba account for pgmadmin ....................... Success! ####
#### Creating samba account for dns-admin ...................... Success! ####
------------------------------------------------------------------------------
#### add-server                                                           ####
#### Reading setup data ........................................ Success! ####
#### Creating device entries for:                                         ####
#### * server ............................... 10.32.1.1 00:50:56:95:54:a5 ####
#### * firewall ........................... 10.32.1.254 00:50:56:95:2A:31 ####
#### * docker ............................... 10.32.1.3 00:50:56:95:60:DC ####
------------------------------------------------------------------------------
#### firewall                                                             ####
#### Reading setup data ........................................ Success! ####
#### Calculating radius secret ................................. Success! ####
#### Downloading firewall configuration:                                  ####
#### * Download finished successfully.                                    ####
#### * Backing up .............................................. Success! ####
#### * Reading current config .................................. Success! ####
#### * Reading certificates & ssh key .......................... Success! ####
#### * Creating xml configuration file ......................... Success! ####
#### * Saving api credentials .................................. Success! ####
#### Uploading firewall configuration:                                    ####
#### * Upload finished successfully.                                      ####
#### Creating web proxy sso auth config file                              ####
#### Installing extensions and rebooting firewall                         ####
#### Executing ssh command on 10.32.1.254:                                ####
#### * -> "chmod +x /tmp/fwsetup.sh"                                      ####
#### * SSH connection successfully established.                           ####
#### * Execution finished successfully.                                   ####
#### Executing ssh command on 10.32.1.254:                                ####
#### * -> "/tmp/fwsetup.sh"                                               ####
#### * SSH connection successfully established.                           ####
#### * Execution finished successfully.                                   ####
------------------------------------------------------------------------------
#### linbo                                                                ####
#### Reading setup data ........................................ Success! ####
#### Creating rsync secrets file ............................... Success! ####
#### Providing server ip to linbo start.conf files ............. Success! ####
#### Activating bittorrent tracker ............................. Success! ####
#### Activating linbo-bittorrent service ....................... Success! ####
#### Reconfiguring linbo (forking to background) ............... Success! ####
------------------------------------------------------------------------------
#### opsi                                                                 ####
#### Reading setup data ........................................ Success! ####
------------------------------------------------------------------------------
#### mail                                                                 ####
#### Reading setup data ........................................ Success! ####
Bundle certificate for webui
Run Sophomorix-UI to add permissions
* WebUI Setup Success!
------------------------------------------------------------------------------
#### final                                                                ####
#### Disabling service iscsid .................................. Success! ####
#### Disabling service dropbear ................................ Success! ####
#### Disabling service lxcfs ................................... Success! ####
#### Restarting apparmor service ............................... Success! ####
#### Writing school name to school.conf ........................ Success! ####
#### Starting device import .................................... Success! ####
#### Waiting for opnsense to come up                                      ####
#### Executing ssh command on 10.32.1.254:                                ####
#### * -> "exit"                                                          ####
#### * Unable to establish a SSH connection!                              ####
#### Executing ssh command on 10.32.1.254:                                ####
#### * -> "exit"                                                          ####
....

Das ganze geht bis zum Timeout, dann geht es weiter.

Komme hier nicht weiter, was können wir tun?

LG

Lars

Hallo Lars,

wo hast du den die Umgebung her?
Sind das die ova Dateien oder hast du einen Vanilla Install gemacht?
Wurde vor dem setup alles aktualisiert?
Welche Version hat den die OPN Sense?

Läuft die OPNsense zu dem Zeitpunkt? Kannst du dich per ssh von einer anderen console aus dort einloggen?

LG

Holger

Hallo zusammen,

Ich habe das ja jetzt erst gemacht und /usr/sbin/linuxmuster-opnsense-reset auf einer OPNsense 21.7.7 ausgeführt. Wenn man dann unter „System - Einstellungen - Verwaltung“ irgendeine Änderung machen möchte, scheitert das mit der Fehlermeldung die Lars beschrieben hat. D.h. das Zertifikat, welches das Linuxmuster Setup auf die OPNsense spielt wird von der Firewall nicht mehr anerkannt.

Ein Bug in OPNsense, oder dem Linuxmuster Setup?

Ich habe mir damit beholfen, auf der OPNsense eine neue CA zu erstellen (System - Sicherheit - Aussteller) und damit ein neues Zertifikat zu generieren (System - Sicherheit - Zertifikate).

Viele Grüße
Klaus

Hallo Lars,

das Setup von LMN funktioniert mit den aktuellen Versionen von Opnsense nicht mehr. Es kommt der Timeout am Ende und die Firewall wird nicht neu gestartet. Wenn der Neustart der Firewall manuell durchgeführt wird, dann befindet sich diese in einem undefinierten Zustand und weist Fehler auf.

Diese Fehler kann man manuell beheben, wenn man sie gefunden hat.
Als Workaround ist es sinnvoll, eine Version von Opnsense von Anfang 2020 zu installieren und damit das Setup durchzuführen. Anschließend kann die Firewall aktuallisiert werden.
Opensense - alte Versionen

Viele Grüße
Christian

1 „Gefällt mir“

Das erklärt alles. War eine Installation from scratch und somit natürlich alles aktuell. Wir haben inzwischen eine für unsere VM konvertierte ova der OPNsense genommen und damit hat es dann auch funktioniert. Jetzt wissen wir wenigstens, dass es keine falsche Einstellung war.

Vielen Dank für die Unterstützung und Klärung!

Liebe Grüße

Lars

So, jetzt alle Upgrades auf der FW durchgeführt mit dem Ergebnis, dass der selbe Fehler dann wieder auftritt, wohl weil die Versionsupdates mit einem neuen Public Key daher kommen…

Heißt das jetzt, die Firewall lieber nicht zu updaten? Und welche Auswirkungen hat das nicht akzeptierte Zertifikat, ausser dass man unter „Verwaltung“ nichts mehr ändern kann?

Und - blöde Frage - aber sollte die Firewall eigentlich als https-sicher erkannt werden, wenn man vorher auf dem Server das selbstsignierte Zertifikat akzeptiert hat? So ist sie jedenfalls auch „nicht sicher“.

Was heißt das alles später für einen FREERadius und dieWLAN-Clients?

SSH-Verbindung vom Server aus bringt „The authenticity of host ‚firewall.jpp.lan (10.32.1.254)‘ can’t be established.“ Nach Akzeptanz funktioniert die SSH-Verbindung aber.

Sorry für die vielen Fragen und viele Grüße

Lars

Hallo Lars,

ich kann nicht auf alle Fragen antworten.

nein: auch das „neue“ Zertifikat ist selbstsigniert. Das hat dann auch nix mit dem Server zu tun: es ist dein Browser, der dem Zertifikat nicht vertraut.
Dort kannst du es speichern: dann ist die Meldung weg.

nix: der Freeradius der OPNSense funktioniert sowiso nciht so wie wir das brauchen, weswegen wir einen extra Freeradius verwenden. Manche haben den im Docker und manche auf dem Server installiert.
Freeradius sollte durch ein selbst signiertes Zertifikat abgesichert sein.
Dieses sollte extra für diesen Zweck erstellt werden. Ab Android 11 kann es sein, dass man auf dem Client die zum Erstellen des Zertifikats verwendete CA importiert (siehe hier: Domain angeben bei Android 11 unifi Enterprise WPA2 - #15 von tjordan )
Das wird auch bei zukünftigen iOS Versionen notwendig sein.

das liegt daran, dass es schonmal eine Verbindung zur OPNsense gab und die OPNSense nun aber als „nicht mehr die alte“ erkannt wird (Fingerprint ist anders) deswegen wird gewarnt. Wenn du das einmal akzeptierst, dann ist die neue die aktuelle und vertraute Verbindung: das soll also so sein.

LG

Holger

Guten Morgen,

ich bin auch schon über das Problem mit dem Zertifikat gestolpert, weil ich die ssh-Anmeldung per Passwort in der Opnsense unter „Verwaltung“ deaktivieren wollte, was wegen dem Zertifikatsproblem nicht ging. Das Problem ist allerding bekannt: die Problembeschreibung samt Lösung gibt es hier : [SOLVED] Certificate check wrong result?

Funktionell gibt es in der lmn erst Mal keine Einschränkungen, außer man möchte eben irgendetwas an den Einstellungen der Opnsense unter „Verwaltung“ ändern.

Ich verwende das Plugin Acme-Client auf der Opnsense und lasse mir da per DNS-Challlenge ein Wildcardzertifikat für meine Domain ausstellen, das ich überall verwende, eben auch für die Weboberfläche der Sense…damit ist das Problem gegessen.

VG Dominik

Hallo Dominik,

danke für den Hinweis!

Holger @baumhof ich denke, da sollte man das Linuxmuster Setup dahingehend verbessern, daß das SSL Zertifikat entsprechend generiert wird, so daß es auch in Verwendung mit der OPNsense gültig ist.

Ich weiß jetzt nicht, in welche Hände das gehört, darum wende ich mich an Dich.

Viele Grüße
Klaus

Hallo Klaus,

ich leite es weiter

LG

Holger

Hallo,

das Problem gibt es nicht nur bei Neuinstallationen. Ich habe seit 3 Jahren eine alte opnSense, lass es mal eine 20er sein, am laufen gehabt. Um die automatische Proxy-Entdeckung (WPAD) nutzen zu können hatte ich in System->Einstellungen->Verwaltung das Protokoll von HTTPS auf HTTP umgestellt damit das wpad.dat-Script abgerufen werden kann.
So seit im Dezember letzten Jahres habe ich alle opnSense-Aktualisierungen nach und nach eingespielt und bin jetzt auf Version 24.1. Letzte Woche musste ich linuxmuster-import-subnets durchführen und stellte fest dass das Script die neuen Routen nicht in die Firewall hinzufügt (das Script hängt dann). Ich wollte dann die Firewall wieder auf HTTPS umstellen und dort kam dann der Fehler mit dem „linuxmuster - firewall“-Zertifikat. Habe dann ein configctl webgui restart renew auf der firewall-Console durchgeführt und konnte mit dem dadurch neu angelegten selbstsignierten Zertifikat wieder auf HTTPS umstellen. Anschließend hab ich dann linuxmuster-import-subnets wieder erfolgreich durchführen können und die neuen Routen wurden hinzugefügt.

Wo wird denn das „linuxmuster - firewall“-Zertifikat erstellt? Passiert das nur bei einer Neuinstallation oder gibt es die Möglichkeit das manuell aufzurufen?

Ich habe mir das Zertifikat unter „/etc/linuxmuster/ssl/firewall.fullchain.pem“ angeschaut, und dieses hat überhaupt keine KeyUsage weder extendedKeyUsage Felder, die aber lt. [SOLVED] Certificate check wrong result? nötig wären. Im neu erzeugten selbstsignierten Zertifikat sind KeyUsage und ExtendedKeyUsage vorhanden.

Greets

Chris