Vaultwarden in Proxmox (selfhosted) nicht erreichbar über das eigene Netzwerk

Infect007

Lt. Commander
Registriert
Mai 2008
Beiträge
2.010
Hallo zusammnen,

ich befasse mich aktuell mit dem selfhosted Thema und habe mir dafür einen kleinen refurbished Miniserver zugelegt (HP Elitedesk 800 G5).
Mein erstes zu realisierendes Projekt sollte Vaultwarden sein.
Vaultwarden habe ich also als eigenstänfigen Container in Proxmox installiert.
Der Zugriff darauf soll über meine Domain erfolgen, die ich mir extra dafür gekauft habe.
Nachdem ich nun alles eingerichtet habe, funktioniert auch der Zugriff von außerhalb (zB Handy mit deaktiviertem WLAN).
Ich rufe maxmustermann.de auf, NGINX ProxyManager (auch als eigenständiger Container mit eigener IP) leitet den Request auf meine interne IP vom Vaultwarden um und ich komme zum Vaultwarden Login Screen, so wie es eigentlich sein sollte.

Problematisch wird es bei internen Requests, also wenn ich von meinem Rechner meine Domain aufrufe, dann werde ich zum Loginscreen meiner Fritzbox weitergeleitet.
Ich habe mittlerweile herausgefunden dass das wohl an hairpin/loopback NAT liegt und man das mit adguard/pihole behoben bekommt.
Adguard hatte ich sowieso schon (auch als eigenen Container mit eigener IP) installiert.
In der FritzBox ist auch die Adguard IP als DNS Server unter Heimnetz/Netzwerk/Netzwerkeinstellungen/IPv4 EInstellungen/lokaler DNS Server hinterlegt.
Im AdGuard Einstellungsbildschirm habe ich meine Domain auch bei Filter/DNS Umschreibungen eingetragen und sie mit der NGINX IP verknüpft.

Und ab jetzt wird es richtig kurios:
Gestern Abend um 19 Uhr hatte ich in Windows (habe Linux normalerweiße als hauptsystem und Windows im Dual Boot) meine Domain zum Testen aufgerufen (https://maxmustermann.de) und ich wurde wie gewünscht zum Vaultwarden Loginscreen weitergeleitet.
Im AdGuard Ereignisprotokoll habe ich auch mehrere Einträge gesehen und der Request wurde als "Umgeschrieben" gelistet.
Ich habe mich dann gefreut und gedacht ich hätte mein Problem endlich gelöst.
Ich habe den PC dann neugestartet und ganz regulär in Linux gebootet und meine Domain aufgerufen.
Leider wurde ich wieder nur zum Fritzbox Loginscreen weitergeleitet.
In AdGuard taucht zu diesem request übrigens kein Eintrag auf (weder umgeschrieben noch verarbeitet oder sonstwas).
Ich habe dann wieder in Windows gebootet um es dort nochmal zu probieren und es hat auch nicht mehr funktioniert.
Auch bei AdGuard wurde wieder kein Request hinterlegt.

Und als wäre es nicht kurios genug:
Heute morgen habe ich es mit meinem Firmenlaptop (VPN ist da natürlich aktiviert) versucht und es hat auch funktioniert.
In AdGuard ist jedoch kein Eintrag hinterlegt.

Ich verstehe es einfach nicht.
Irgendwo ist der Wurm drin, aber ich weiß nicht wo.
Sorry für den langen Text, aber ich habe versucht alles so detailliert wie möglich zu beschreiben um keine hilfreichen Informationen wegzulassen.

Könnt ihr euch das irgendwie erklären oder habt ihr Ideen wie ich das Problem lösen könnte?
Falls ich Informationen vergessen habe, bitte einfach nachfragen, ich trage das dann nach.

Internet ist bei Telekom Glasfaser
Fritzbox ist eine 5590 Fiber
Der PC ist per LAN-Kabel angeschlossen
Der Miniserver ist auch per Kabel angeschlossen.
 
Ich vermute mal, dass bei dir DNS nicht konsistent konfiguriert ist.

Infect007 schrieb:
In der FritzBox ist auch die Adguard IP als DNS Server unter Heimnetz/Netzwerk/Netzwerkeinstellungen/IPv4 EInstellungen/lokaler DNS Server hinterlegt.
Das deutet darauf hin, dass der Fritzbox DHCP-Server direkt die Adguard IP als DNS verteilt. Sämtliche Clients, die sich automatisch per DHCP eine IP-Adresse bei der Fritzbox abholen, werden DNS-Queries also direkt an Adguard schicken.

Infect007 schrieb:
Im AdGuard Ereignisprotokoll habe ich auch mehrere Einträge gesehen und der Request wurde als "Umgeschrieben" gelistet.
Wenn Adguard also per DNS nach deiner Domain gefragt wird, scheint die richtige Antwort zu kommen.



Die unterschiedlichen Resultate bei den Tests mit Windows, Linux und dem Firmengerät können nun daher kommen, dass zB statische IP-Einstellungen verwendet werden, die explizit DNS=Fritzbox oder DNS=public (zB 8.8.8.8) beinhalten, oder zB ein Browser mit Privacy Mode und DNS-over-Http genutzt wird.


Du kannst DNS auch ohne den Browser direkt testen: nslookup deine.domain ein.dns.server
Damit hast du die Möglichkeit, verschiedene DNS-Server (Adguard, Fritzbox, public) zu testen, ohne an den Netzwerkeinstellungen rumspielen zu müssen.
 
ich würde unabhängig davon dass grade der Passwortmanager besonderen Schutz braucht, nicht nach außen, mal Richtung DNS Konfig tippen. ggf auch DNS-Rebind-Schutz der Fritz-Box.

ggf die Fritz Box mal ausklammern und DNS und DHCP vom Adguard machen lassen. Testen.

siehe auch https://www.computerbase.de/forum/t...-proxy-vs-portfreigabe.2202108/#post-29567580

wegen splitt DNS schonmal im 3cx Forum getestet daher hier nochmal von Interesse generell Video 3 und 4 https://www.3cx.de/forum/threads/neulings-fragen-ssl-split-dns.118597/post-423554
 
Zuletzt bearbeitet:
Das Problem wird hier die Fritzbox sein, da die ja die Website quasi Kapert.

Dass es über das FirmenVPN funktioniert ist übrigens nicht verwunderlich: damit kommst du ja quasi von extern und da lief es ja die ganze Zeit.
 
wenn nur 1 PC: vaultwarden subdomain einfach in die Hosts Datei eintragen.

Und um mal einen Gegenpol zu den "stell das bloß nicht frei ins Netz" Leuten zu bieten:
Vaultwarden ist dafür konzipiert um frei um Netz erreichbar zu sein.
Ein sicheres, starkes Passwort und 2FA per TOTP sollte selbstverständlich sein.
Sofern das erfüllt ist und Vaultwarden sowie der Unterbau regelmäßig gepatched wird, sehe ich da überhaupt kein Problem.
Sicherheitshalber kann man Vaultwarden noch per fail2ban absichern, aber grundsätzlich hat Vaultwarden bereits ein rate-limit als brute force Schutz integriert.

Klar, gegen Zero Day hilft das alles nichts, da biste im Zweifel halt gef******
 
  • Gefällt mir
Reaktionen: redjack1000, H3llF15H und s1ave77
Noch eine Stufe sicherer ist Nutzung von Traefik oder Caddy mit Einbindung von zusätzlicher Auth via Authelia oder OAuth2. Das schreckt auch meist schon ab :).
 
Raijin schrieb:
Die unterschiedlichen Resultate bei den Tests mit Windows, Linux und dem Firmengerät können nun daher kommen, dass zB statische IP-Einstellungen verwendet werden, die explizit DNS=Fritzbox oder DNS=public (zB 8.8.8.8) beinhalten, oder zB ein Browser mit Privacy Mode und DNS-over-Http genutzt wird.
Danke schon mal für den Tipp mit den statischen IPs, deine These scheint wohl zu stimmen.
Ich habe mienem PC jetzt mal eine neue IP zugewiesen und damit funktioniert es jetzt tatsächlich wieder.
Die Frage ist wie lange :D
Ich bin gerade ehrlich gesagt leider ein bisschen überfragt was genau mein nächster Schritt sein sollte.
Also wie gehe ich auf Nummer sicher, dass immer der DNS von AdGuard verwendet wird?
 
Infect007 schrieb:
Also wie gehe ich auf Nummer sicher, dass immer der DNS von AdGuard verwendet wird?
Adguard kann man auf verschiedene Art und Weise ins Netzwerk einbinden:

1)
Router Internet-DNS = Automatisch (zB Provider-DNS)
Router DHCP-DNS = Adguard
Adguard Upstream-DNS = Router

DNS-Kette: Client --> Adguard --> Router --> Provider-DNS


2)
Router Internet-DNS = Adguard
Router DHCP-DNS = Router
Adguard Upstream-DNS = public (zB 8.8.8.8)

DNS-Kette: Client --> Router --> Adguard --> 8.8.8.8


Beide Varianten unterscheiden sich lediglich dadurch in welcher Reihenfolge Adguard und der Router in der DNS-Kette auftauchen. Beides hat Vor- und Nachteile.


"Auf Nummer sicher gehen" gibt es nicht. DNS ist ein passives System. Das heißt, dass Adguard nur aktiv werden kann, wenn Adguard überhaupt gefragt wird. Stellt man von Hand einen anderen DNS am PC ein, ist Adguard machtlos und bekommt gar nichts davon mit. Benutzt man einen Browser mit Privacy Mode, verwendet der Browser selbst direkt einen DNS-over-Https (DoH) Server und es ist vollkommen egal welchen DNS man in den Netzwerkeinstellungen stehen hat, weil der Browser das umgeht.
 
Okay, also wenn ich das richtig verstanden habe, ist bei mir aktuell ein Mischmasch aus Nummer 1 und 2 in Betrieb:
Im Router ist die AdGuard IP als DNS eingetragen
Der Router selbst ist jedoch für DHCP zuständig
Der AdGuard Upstream DNS is public (bzw bei mir https://dns10.quad9.net/dns-query, 1.1.1.1 und 8.8.8.8 eingetragen)

Das Problem dabei ist, dass AdGuard in meiner Kette teilweise übersprungen wird und somit nicht regeln kann.
Ich müsste also DHCP in der Fritzbox deaktivieren und in AdGuard aktivieren.
In AdGuard müsste ich dann als Upstream DNS die FritzBox IP eintragen.

Habe ich das so im großen und ganzen richtig verstanden?
Wenn ja, gibt es eine Reihenfolge welchen Schritt ich zuerst durchführen soll, damit ich nichts kaputt mache?
Also erst FritzBox deaktivieren, oder erst AdGuard aktivieren?
 
Infect007 schrieb:
In AdGuard müsste ich dann als Upstream DNS die FritzBox IP eintragen.

Habe ich das so im großen und ganzen richtig verstanden?
das kommt drauf an ob dir die DNS Sperren deines Providers egal sind oder nicht.
Wenns dir egal ist, kannst du das so machen.
 
h00bi schrieb:
... ob dir die DNS Sperren deines Providers egal sind ...
Die sind mir eigentlich nicht egal, bzw ich würde die DNS Sperren eigentlich gerne umgehen.
 
Dann solltest du auch einen anderen Upstream DNS verwenden. Ich nutze Pi-hole seit kurzem in Verbindung mit unbound als eigenen DNS Resolver. Das sollte afaik auch mit AdGuard gehen.
Ansonsten halt irgendein öffentlicher DNS Server deiner Wahl.

Infect007 schrieb:
Wenn ja, gibt es eine Reihenfolge welchen Schritt ich zuerst durchführen soll, damit ich nichts kaputt mache?
Also erst FritzBox deaktivieren, oder erst AdGuard aktivieren?
FritzBox deaktivieren, dann AdGuard aktivieren.
Wenn in den 2 Minuten eine IP angefordert wird, dann gibts halt mal kurz keine.
 
Infect007 schrieb:
Das Problem dabei ist, dass AdGuard in meiner Kette teilweise übersprungen wird und somit nicht regeln kann.
Ich müsste also DHCP in der Fritzbox deaktivieren und in AdGuard aktivieren.
In AdGuard müsste ich dann als Upstream DNS die FritzBox IP eintragen.
Damit würdest du einfach nur den DHCP-Server verlegen. Das ändert nichts daran, dass ein Gerät mit manuellen DNS-Einstellungen oder ein Browser mit DoH gezielt an deinem Adguard vorbei DNSen kann.

Wenn du den DHCP nach Adguard umziehst, brauchst du den Router aber gar nicht mehr bei DNS einkalkulieren. In den beiden obigen Szenarien ist der Router nur in der DNS-Kette, weil sonst lokale Namen nicht aufgelöst werden können (zB "MeinNAS"). Die lokalen Namen sind nämlich - vereinfacht ausgedrückt - nur dem DHCP-Server bekannt (mDNS, etc. lassen wir mal außen vor).



BTW: Welche nennenswerten DNS-Sperren meint ihr denn? Zum einen halte ich das für ein Scheinargument und zum anderen kann man auch im Router - zumindest bei den meisten - den Internet-DNS ändern und zB auf 1.1.1.1 setzen. Aber wie gesagt, der Router "muss" nur mit von der DNS-Partie sein, wenn er auch DHCP spielt. Zieht man den DHCP um, ist der Router egal.
 
Raijin schrieb:
Damit würdest du einfach nur den DHCP-Server verlegen. Das ändert nichts daran, dass ein Gerät mit manuellen DNS-Einstellungen oder ein Browser mit DoH gezielt an deinem Adguard vorbei DNSen kann.
Okay, dann habe ich das falsch verstanden.
Was wäre denn dein Lösungsansatz, damit kein Client an AdGuard vorbei DNSen kann?
 
Infect007 schrieb:
Was wäre denn dein Lösungsansatz, damit kein Client an AdGuard vorbei DNSen kann?
Zuhause: Jedem auf die Finger hauen, der dran rum fummelt.
In der Firma: Port 53 ausgehend sperren. Aber selbst dann könnte man DNS over HTTPS verwenden.
 
Infect007 schrieb:
Was wäre denn dein Lösungsansatz, damit kein Client an AdGuard vorbei DNSen kann?
Das ist leider nicht so ohne weiteres möglich.

Wenn du an deinem PC zB direkt 1.1.1.1 als DNS einstellst, bekommt Adguard das überhaupt nicht mit. Der einzige, der das bemerken würde, ist der Router, weil er nun mal die Schnittstelle ins Internet ist und zu 1.1.1.1 durchrouten würde. Im Router könnte man theoretisch per NAT den ausgehenden DNS-Traffic (Port 53) gezielt an die IP von Adguard umleiten, aber praktisch ist das bei 08/15 Routern gar nicht möglich, weil sie keine derartige Option bieten.

Selbst wenn man einen Router hat, der das könnte, ist bei den verschlüsselten DNS-Varianten Schluss. DNS-over-Https sieht nach außen hin aus wie ein normaler Aufruf einer Https-Webseite, verschlüsselt. Man könnte die IP-Adresse bekannter DoH-Server blocken, ja, aber derer gibt es viele im Netz und man wird nie alle erwischen können...

Die Frage ist wie viel Aufwand man betreiben möchte. Im privaten Umfeld spielt das eine weit weniger wichtige Rolle als zB in einer Firma. Mangels technischer Mittel (zB geeignete Router und ggfs KnowHow) ist zu Hause die persönliche Disziplin der Nutzer deutlich wichtiger. Die wirksamste Maßnahmen sind also Aufklärung und entsprechende Verhaltensregeln.
 
h00bi schrieb:
Zuhause: Jedem auf die Finger hauen, der dran rum fummelt.
In der Firma: ...

Raijin schrieb:
Die Frage ist wie viel Aufwand man betreiben möchte. Im privaten Umfeld spielt das eine weit weniger wichtige Rolle als zB in einer Firma. Mangels technischer Mittel (zB geeignete Router und ggfs KnowHow) ist zu Hause die persönliche Disziplin der Nutzer deutlich wichtiger. Die wirksamste Maßnahmen sind also Aufklärung und entsprechende Verhaltensregeln.
Der Test mit dem Firmenlaptop war nur ein Testballon, das kann also ignoriert/ausgeklammert werden.

Mir geht es primär nur um Zuhause und ich wäre mit meinen Geräten der einzige der darauf Zugreifen müsste.
Es geht also eigentlich nur um einen PC, einen Laptop und ein Handy, also 3 IP Adressen.
Kann ich die irgendwie taggen dass sie zwingend über AdGuard laufen müssen?
Bzw. was wäre die disziplinarische Maßnahme, die die 3 Clients erfüllen müssen, dass die Requests über AdGuard laufen?
 
Eigentlich wurde das doch schon ausreichend erklärt.

Wenn dein DHCP-Server (wo auch immer er dann läuft) die Adguard-IP als DNS verteilt, dann nutzen alle Geräte, die per DHCP ihre Einstellungen beziehen auch Adguard als DNS. Nur dann, wenn du das von Hand änderst oder einen Browser oder sonstige Anwendungen mit DoH oder ggfs DoT (DNS-over-TLS) verwendest, geht DNS an Adguard vorbei. Wenn du der alleinige Nutzer bist, ist es also eine Frage deiner Einstellungen und deiner Anwendungen.
 
Das heißt, ich lösch einfach die festvergebenen IPs für PC, Laptop und Handy, damit sie immer über DHCP frisch verteilt werden?

edit: mein Handy hat zum Beispiel keine feste IP gehabt, müsste also über DHCP seine IP bekommen. Das Problem ist, dass ich mit dem Handy auch nur zur Fritzbox Anmeldeseite komme.
 
Zuletzt bearbeitet:
Zurück
Oben