RasPi4 / Bitwarden RS / Nginx - kein SSL Zertifikat erstellbar

H3llF15H

Vice Admiral
Registriert
Juni 2009
Beiträge
7.129
Hallo allerseits!

Kurz vorweg:
  • ich bin Laie in der Linux-Welt
  • habe bis dato keinen großen BErührungspunkte mit Portweiterleitungen zu tun
  • und Englisch beherrsche ich so gut wie gar nicht, sodass es mir schwer fällt Lösungen aus englischsprachigen Texten zu erarbeiten
Habt also bitte etwas Nachsicht ;)


Mein Plan ist es derzeit einen RasPi4 für Bitwarden RS aufzusetzen - nach DIESER Anleitung. Nun bin ich an Punkt 2.3 angekommen und möchte das SSL-Zertifikat anlegen. Und hier kommt es zum Problem.
  • Gehe ich vor wie in der Anleitung beschrieben bekomme ich einen "internal error" - siehe Screen 01
  • Versuche ich es über SSL Certificates bekomme ich die Meldung aus Screen 02.
Error: Command failed: /opt/certbot/bin/certbot certonly --non-interactive --config "/etc/letsencrypt.ini" --cert-name "npm-27" --agree-tos --email "meine-email@hallo.com" --preferred-challenges "dns,http" --domains ".ddns.net"
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator webroot, Installer None
An unexpected error occurred:
There were too many requests of a given type :: Error creating new order :: too many failed authorizations recently: see https://letsencrypt.org/docs/rate-limits/
Please see the logfiles in /var/log/letsencrypt for more details.

at ChildProcess.exithandler (node:child_process:326:12)
at ChildProcess.emit (node:events:369:20)
at maybeClose (node:internal/child_process:1067:16)
at Process.ChildProcess._handle.onexit (node:internal/child_process:301:5)

Liegt das Problem evtl. an den nicht vorhandenen Portweiterleitungen? Hier bräuchte ich detailliertere Unterstützung (an den Ports aus der Anleitung habe ich nichts geändert und sie beim Standard belassen).

Habt Ihr sonst noch Anhaltspunkte, die man prüfen kann / soll / muss. Oder vielleicht einen anderen Weg wie man das SSL-Problem lösen kann?

Gerne stelle ich euch weitere Informationen zur Verfügung, wenn Ihr sie benötigt.

Vielen Dank für Eure Unterstützung!

Schöne Grüße,

Sebastian
 

Anhänge

  • Screen 01.png
    Screen 01.png
    37,3 KB · Aufrufe: 329
  • Screen 02.png
    Screen 02.png
    67,7 KB · Aufrufe: 325
H3llF15H schrieb:
unexpected error occurred:
There were too many requests of a given type :: Error creating new order :: too many failed authorizations recently: see
Warte mal ein paar Stunden.
Und mach mal die dns challenge aus. Da hast du nicht genug Kontrolle drüber
 
  • Gefällt mir
Reaktionen: Arc Angeling, Der Lord, H3llF15H und eine weitere Person
Letsencrypt erlaubt nur eine begrenzte Anzahl von Versuchen zur Authentifizierung auf ihren Produktivservern, anschließend wir man für einige Zeit gesperrt.
Ich weiß nicht, ob das in der GUI geht, aber es gibt die "--dry-run" Option um seine Konfiguration zu testen, ohne gesperrt zu werden. Wenn dies funktoniert lässt man die Option weg und verwendet den Produktivserver.
 
  • Gefällt mir
Reaktionen: H3llF15H
Du musst etwas warten, da Lets Encrypt oder der ACME Client die Versuche begrenzt und dann dich für ein paar Stunden sperrt.

Hast du den überhaupt einen DynDNS Anbieter und die Domain wird korrekt auf deine IP-Adresse am WAN Interface aufgelöst? Wenn ja, dann wäre noch eine Portweiterleitung (Port 80 zum RasPI) unbedingt notwendig, da darüber Lets Encrypt die DNS Verifizierung macht.
 
  • Gefällt mir
Reaktionen: H3llF15H
Das ging zügig :) Vielen Dank!

madmax2010 schrieb:
Warte mal ein paar Stunden.
Helge01 schrieb:
Du musst etwas warten
In Ordnung :)
madmax2010 schrieb:
Und mach mal die dns challenge aus.
Habe ich, zumindest nicht bewusst aktiviert.
Vorgartenzwerg schrieb:
Ich weiß nicht, ob das in der GUI geht, aber es gibt die "--dry-run" Option um seine Konfiguration zu testen
Nicht gefunden ;)
Helge01 schrieb:
Hast du den überhaupt einen DynDNS Anbieter und die Domain wird korrekt auf deine IP-Adresse am WAN Interface aufgelöst?
Ja, habe ich - bei noip.com. Die WAN-Adresse ist auch korrekt (und funktioniert bereits am Wireguard-Server).
Helge01 schrieb:
Wenn ja, dann wäre noch eine Portweiterleitung (Port 80 zum RasPI) unbedingt notwendig, da darüber Lets Encrypt die DNS Verifizierung macht.
Sieh Dir mal bitte den Scrren "Freigabe 01" an - der müsst eigentlich korrekt sein, oder?
 

Anhänge

  • Freigabe_01.png
    Freigabe_01.png
    31,7 KB · Aufrufe: 261
H3llF15H schrieb:
  • ich bin Laie in der Linux-Welt
  • habe bis dato keinen großen BErührungspunkte mit Portweiterleitungen zu tun
  • und Englisch beherrsche ich so gut wie gar nicht, sodass es mir schwer fällt Lösungen aus englischsprachigen Texten zu erarbeiten
Darf ich fragen warum du Bitwarden selbst Hosten willst? Bei den genannten Vorraussetzung würde ich eher dazu raten sich entweder mit der kostenlosen Cloud-Versionen zu begnügen oder eben ein paar Euro für die Cloud-Version zu zahlen.
Ich bin ja immer dafür solche Sachen mal auszuprobieren und sich neues Wissen anzueignen, aber einen Passwort-Server der dazu noch aus dem Internet erreichbar ist und somit bei einem Konfigurationsfehler alle Passwörter im Internet preisgibt, halte ich für ein denkbar ungünstiges Einstiegsprojekt ;)
Vielleicht mal mit etwas weniger sicherheitskritischen Projekten wie Pi-hole oder Wireguard anfangen?
 
  • Gefällt mir
Reaktionen: Der Lord, M-X und H3llF15H
@Nero_XY
Danke für Deine Einschätzung, mit der Du nicht 100%ig falsch liegst und bei Dir bin.

Derzeit nutze ich Keeper und möchte die Passwörter bei mir zu Hause wissen. Selbstredend bin ich bereit mir fehlendes Wissen anzueignen, da mir die Sicherheitsrisiken bekannt sind.

Pihole und Wireguard laufen bei mir bereits, ebenso ein ioBroker (der allerdings bald rausfliegt).
 
Hast du dir mal KeePass bzw. KeePassXC angeschaut? Da kannst du die verschlüsselte Datenbank bei dir Zuhause speichern und kannst dann mit verschiedenen kompatiblen Apps und deiner Wireguard-Verbindung darauf zugreifen.
Vorraussetzung ist natürlich ein NAS oder ein PC der immer an ist oder zumindest per WOL einschaltbar ist.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Der Lord
Ich kenne normale Router wie die Fritzbox nicht, könnte aber passen. Die IPv4-Adresse vom RasPI schein mit 10. loszugehen und die IPv6-Adresse hat den Interface Identifier ::dea6:32ff:fe2d (der Präfix wird vermutlich automatisch von der Fritzbox gesetzt). Ist das eine Global-Unicast IPv6 Adresse und ist die auch tatsächlich auf dem RasPI am Netzwerkinterface vorhanden?
 
gib ihm mal sudo certbot --nginx -d example.com --agree-tos --email hallo@example.com --dry-run
und schau was er dann sagt :)
 
Ups.. ist ja auch im container :D
Wenn du das nochmal debuggen musst, installiet dir mal certbot mit ngix plugin außerhalb des containers. muss jetzzt aber wohl nicht mehr sein.



Es gibt überigens sehr sehr viele leute, die sich mit LE Zertifikate für deine 'dynamsiche domain' holen.
Durch Certifiacte Transparency logs genügt der von dir gescreenshotete Teil überigens um deine domain vollständing herauszufinden
Siehe:
https://transparencyreport.google.com/https/certificates?cert_search_auth=&cert_search_cert=p:ZGRucy5uZXQ6dHJ1ZTp0cnVlOjY2Mzc4NDY5ODU2MzEwOTIwOTI6Q0FvUUFRPT0&cert_search=include_subdomains:true;domain:dyndns.net;issuer_uid:6637846985631092092&lu=cert_search_cert
 
Zuletzt bearbeitet:
madmax2010 schrieb:
Durch Certifiacte Transparency logs
Richtig. Diese sind Segen und Fluch zugleich. Ich umgehe dies beispielsweise mit Wildcard-Certs (*.domain.de), sodass host.domain.de in keinem öffentlichen Log auftauchen muss. Sowas geht allerdings nur mit der DNS-Challenge und da sind wir hier wohl noch weit entfernt von. ;)

Übrigens halte ich es ebenso nicht für eine gute Idee den Passworttresor direkt ins Internet zu hängen. Der gehört nur ins lokalen Netz und wenn man von außerhalb drauf zugreifen muss, schaltet man sich eben vorher per VPN ins Heimnetz. So handhabe ich dies zumindest und fahre damit seit je her sehr gut. /edit, sehe gerade, dass @Nero_XY das bereits vorgeschlagen hat. Und wenn die DB auf einem Pi oder NAS liegt, ist auch kein WOL oder so vonnöten, die Teile laufen ja eh 24/7.
 
Der Lord schrieb:
Übrigens halte ich es ebenso nicht für eine gute Idee den Passworttresor direkt ins Internet zu hängen. Der gehört nur ins lokalen Netz und wenn man von außerhalb drauf zugreifen muss, schaltet man sich eben vorher per VPN ins Heimnetz.
So soll es auch sein, dafür habe ich vor ein paar Wochen WireGuard aufgesetzt. Nur muss ich mich noch weiter einarbeiten.

Was ich jetzt noch nicht verstanden habe, ist, wie ich einen Benutzer anlegen kann. Derzeit bin ich ja gezwungen https:// ans Laufen zu bekommen, um das zu bewerkstelligen.

Falls hier jemand eine Lösung hat: ich bin daran interessiert :)
 
Also innerhalb des lokalen Netzwerks halte ich SSL nicht für absolut notwendig, schaden kann es aber auch nicht und womöglich besteht Bitwarden sogar darauf? Ich weiß es nicht... ich hab mir einfach eine Keepass-DB zentral im LAN abgelegt und sollte ich von extern darauf zugreifen wollen: VPN.
Frei nach dem Motto: keep it simple. Vor allem bei Passwörtern hätte ich wenig Lust bei einem Fehler erst 3 Tage das System analysieren zu müssen, bis ich da wieder an meine Logins käme. ^^ Keepass hat sich schlicht bewährt und ist mit zentraler DB (oder gesynct) auch Multidevice fähig.

Ich möchte dir aber dein Vorhaben auch nicht ausreden. Man lernt dabei ja auch eine Menge und wenn man mit dem Thema Spaß hat, ist sowas eh nie verkehrt. Möchte dir nur weitere Möglichkeiten aufzeigen, die ggf. etwas weniger Frustpotenzial aufweisen. :)
 
  • Gefällt mir
Reaktionen: madmax2010
Der Lord schrieb:
Ich möchte dir aber dein Vorhaben auch nicht ausreden
Schnickschnack, alles gut! Schließlich habe ich um Hilfe gebeten. :schluck:

Im Endeffekt ist es ja genau das was ich suche: Passwörter lokal, Zugriff per VPN mit einer App.
Keepass werde ich mir als Alternative gerne ansehen.
 
  • Gefällt mir
Reaktionen: Der Lord, Madman1209 und madmax2010
Moin!

Kurze Rückmeldung meinerseits:

Das Problem aus dem Eingangspost wurde ja gelöst, in dem ich auf euer Anraten hin etwas gewartet habe (wodurch sich das SSL-Zertifikat anlegen ließ).

H3llF15H schrieb:
Interessant ist nun, dass ich mit Punkt 2.4 nicht weitermachen kann, da ich nicht weitergeleitet werde.
Das Problem habe ich auch gelöst: hier musste im Router der Port 443 freigegeben werden.

Dadurch funktioniert Bitwarden schon mal einwandfrei.

Ich mache mich mal auf die Suche wie ich ohne dynDNS aber mit VPN weitermachen kann. Stand jetzt erwartet Bitwarden_rs immer eine https:-Adresse -also Port einfach wieder deaktivieren ist nicht :(
 
Nabend allereits!

Ich habe es hinbekommen: der Bitwarden-Server ist nicht mehr aus dem Internet erreichbar, da ich gänzlich auf DDNS verzichten kann.

  1. Dazu habe ich auf dem Pihole eine Domäne (test) angelegt, welche auf die IP (10.x.x.x) vom Bitwarden-Server zeigt.
  2. Die Domäne habe ich in nginx als Proxy Host angegeben, ein Custom-SSL-Zertifikat erstellt und unter SSL-Certificates hinterlegt.
Das SSL-Zertifikat wird benötigt, wenn Ihr euch am PC auf dem Server anmelden wollt. Andernfalls wird gemeckert, dass Bitwarden nur mit https funktioniert.

In der App auf meinen Smartphone muss als Server http://10.x.x.x:8080 angegeben werden.
=> Hinweis: tragt ihr nur die IP: Port ein, so fügt die App automatisch ein https:// ein, welche jedoch nicht funktionieren wird.

Um sich mit dem Server verbinden zu können ist zu guter Letzt eine VPN-Verbindung nötig. In meinem Falle macht das Wireguard, welcher mittels Split-Tunnel konfiguriert ist um den üblichen Traffic nicht über mein Heimnetz laufen zu lassen.
 
Zurück
Oben