servusli1
Goto Top

Opnsense zweifaktor-Authentifizierung (2FA)

Hallo zusammen

Mit vielen Tipps und Tricks welche ich hier im Forum gefunden habe und natürlich den sensationellen Turtorials von @aqui, konnte ich mir eine top-opnsense zusammenbauen face-smile

Nun komme ich zum nächsten Part.
Mein Netzwerk ist theoretisch aus dem Internet über eine Domain erreichbar. Da ich quasi eine semi-statische IP-Adresse von meinem Provider Swisscom habe (seit 5 Jahren immer noch die selbe IP), habe ich bei meinem Mailhosting-Provider ein CNAME to A-Record auch die "statische" IP gemacht. Für VPN funktioniert das einwandfrei. face-smile

Um die Sicherheit auf meiner opnsense zu erhöhen - theoretisch wäre ja der Zugriff über die Domain möglich - habe ich die zweifaktor-Authentifizierung aktiviert. Der Token wird mit Hilfe der Google-Authenticator-App generiert, auch das funktioniert tadellos. face-smile

Nun habe ich gelesen, dass über die Shell der root-Zugriff auch ohne 2FA funktionieren soll.
Unter System > Settings > Administration habe ich den Authentifizierungs-Server auf den von mir erstellten 2FA-Server konfiguriert. Über das GUI funktionier der Zugang mit Token. Per Shell bekomme ich keinen root-Zugang mit oder ohne Token. Aktiviere ich aber local Database dazu, funktioniert der root-Zugang per Shell.

Was muss ich einstellen, damit ich auf dem GUI nur mit 2FA einlogen kann aber Shell quasi mein Notfall-Zugang ist?

opnsense schreibt, dass man den root-User nicht zwingend nutzen soll für die Shell. Man soll mit einem andere User in die Shell und per sudo su root-Rechte vergeben. Wie kann ich einen anderen User in die "wheel"-Gruppe speichern?
Soweit ich das verstanden habe, ist die wheel-Gruppe von der 2FA ausgenommen und man hat per Shell einen Notfall-Zugang.

Ist es denn auch möglich per Shell temporär die 2FA zu deaktivieren? Wenn ja, mit welchem Befehl?

Content-ID: 6590356046

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

Ausgedruckt am: 05.11.2024 um 02:11 Uhr

Drohnald
Drohnald 31.03.2023 um 16:45:02 Uhr
Goto Top
Hi,

Unabhängig von der 2-FA Geschichte: Warum soll die Firewall selbst überhaupt aus dem Internet erreichbar sein?
VPN Port(s) reichen doch völlig aus.

Gruß
Drohnald
6247018886
6247018886 31.03.2023 aktualisiert um 16:49:45 Uhr
Goto Top
Moin.
Hinterlege für SSH einen public key , und logge dich per SSH via PubliKey Verfahren ein. Interactive Auth mit ChallengeResponse und PublicKey sind zwei separate Verfahren, und die kann man beide im SSH-Daemon zulassen.
Die Kiste selbst würde ich per SSH persönlich nur aus dem internen Netz erreichbar machen und nicht öffentlich.

Cheers briggs
servusli1
servusli1 31.03.2023 um 16:56:49 Uhr
Goto Top
@Drohnald die Firewall ist nicht aus dem Internet erreichbar.

@6247018886 kannst du mir bitte auf die Sprünge helfen und mir erklären wie ich das machen muss?
Ich bin kein IT-Spezialist, habe aber eine IT-Affinität. Lerne gerne dazu und gebe mein erlerntes Wissen auch weiter face-smile
6247018886
6247018886 31.03.2023 aktualisiert um 17:34:14 Uhr
Goto Top
kannst du mir bitte auf die Sprünge helfen und mir erklären wie ich das machen muss?
Na denn, kein Thema.

Auf ner Büchse ein Private/Public Key-Pair generieren. Entweder mit Passwort oder ohne, it's your choice.
ssh-keygen -t ed25519 -f mykey.pem
Dann den Public Key in der OPNSense für den User in die AuthorizedKeys importieren (Public Key wurde abgelegt unter mykey.pem.pub)

screenshot

Login dann mit dem private key

ssh -i mykey.pem userABC@X.X.X.X

Fertsch.
servusli1
servusli1 31.03.2023 um 17:44:27 Uhr
Goto Top
@6247018886
Das klappt ja mal super face-smile Dankeschön

Wie kann ich im Worst Case per Shell die 2FA deaktivieren?
6247018886
6247018886 31.03.2023 aktualisiert um 18:14:18 Uhr
Goto Top
Wozu, hast das hast du ja mit PubkicKey-Auth schon umgangen, du musst ja erst mal Shell-Zugriff haben bevor du was ändern kannst 😉. Könnte man es ohne, wäre 2FA ja witzlos.
Wenn du es trotzdem willst schau dich selbst mal auf der Shell in der Config um (bin jetzt unterwegs), dazu muss man i.d.R. nur den Auth-Provider für den jeweiligen Dienst von TOTP auf die integrierte USER-DB umstellen, kommt aber drauf an für welchen Dienst du 2FA deaktivieren willst, denn das kann man für die diverse Dienste umstellen.
servusli1
servusli1 31.03.2023 aktualisiert um 18:24:03 Uhr
Goto Top
@6247018886
Dann werde ich mich da mal schlau machen.
Es geht nur darum, dass ich im Notfall auf das opnsense GUI komme wenn zB mein Smartphone zickt oder warum auch immer...
Danke für die Hilfe 🙂

Aber für einen Hilkfreichen Input wie man den Auth-Provider per Shell temporär ändern kann wäre ich trotzdem dankbar face-smile
the.other
the.other 31.03.2023 um 23:12:58 Uhr
Goto Top
Moinsen,
Keine Ahnung wie es bei opnsense aussieht, unter pfsense 2.6 zumindest wird ein einfaches Menü mit der Option Password reset angeboten. Dabei wird auch ein ggf vorhandener auth-server (radius) gegen die lokale Datenbank mit eben dem default Account getauscht, sodass die 2fa wegfällt.
Da die beiden Systeme ja nicht soooo unterschiedlich zu sein scheinen, gibt es sicherlich eine sehr ähnliche Lösung...
6247018886
6247018886 02.04.2023 aktualisiert um 17:00:05 Uhr
Goto Top
Hab's gerad mal gecheckt. Auf der OPNSense im Shell Menü einfach die Nummer 3) Reset the root password wählen, dann bekommt man die Option zur Deaktivierung der 2FA angeboten, wie @th30ther schreibt.

Ansonsten kann man auch die config.xml (Pfad: /conf/config.xml) tweaken, indem man in folgendem Abschnitt den 2FA Provider entfernt und nur noch "Local Database" drin stehen lässt:

screenshot

Und danach auf der Shell einmal folgenden Befehl ausführt
opnsense-shell reload
Schon ist die 2FA für das WebGUI deaktiviert.

Cheers briggs