Sinds enkele weken overgestapt op Freedom. Voelt en werkt goed! Ik heb de overstap ook aangegrepen om mijn home-assistant thuisserver nog eens tegen het licht te houden.
Het fritzmodem is een verademing. Ik denk dat ik een heel eind kom met mijn wensen.
Reeds gelukt: VPN via wireguard in het fritzmodem. Apparten die gebruik gaan maken van vaultwarden / bitwarden verbinden via de VPN.
Reeds gelukt: Ik heb een eigen domeinnaam toegevoegd bij freedom. Home-assistant is bereikbaar via de nabu casa cloud op mijn eigen domein.
Nu kom ik op het volgende: vaultwarden. Bij mijn vorige provider had ik poort 80/443 geforward. Met nginx proxy manager (home-assistant addon) ertussen was vaultwarden bereikbaar via mijn eigen subdomein. Alleen moest ik wel poort 80 en 443 forwarden naar mijn (homeassistant)thuisserver.
Echter de vaultwarden is alleen voor mijn gezin en hoeft dus niet voor iedereen bereikbaar te zijn (liever niet). Nu die VPN ook werkt, hoop ik dat ik mijn vaultwarden via de vpn ook buitenshuis kan benaderen.
Het liefst wil ik dat vault.mijndomein.nl door mijn gezin hiervoor gebruikt kan worden (zoals āvanoudsā).
Heeft iemand dit al eens gedaan? En zo ja, wil/kun je mij in de goede richting helpen met eventuele dns records en andere instellingen? Is reverse dns de goede richting?
Ik wil dus graag zo veilig mogelijk mijn eigen vaultwarden buitenshuis kunnen gebruiken
Bij Freedom kun je niet specifiek een poort forwarden en zal je dat zelf moeten (in)regelen mbv je FritzBox via het menu [Internet] ā [Permit Access] ā [Port Sharing]. Zorg verder wel voor een daarop uitkomende firewall.
Aanvulling: Goed verhaal van @noci dat dingen regelt via tunneling.
Indien je vaultwarding native wilt doen, zoals ik begrijp bij je vorige provider:
dus bv op/naar poort 443; controleer dan of {MyFRITZ! Internet Access} in [ Internet ā MyFRITZ! Account ] UIT staat omdat die toegangsfunctie (om via https://www.myfritz.net/devices/ je FB extern te kunnen beheren) expliciet opereert op (https) poort 443 en dit daar prioriteit neemt op jouw zelf ingestelde (443) forwards.
AL het IPv4 & IPv6 verkeer wordt op je Router aangelevert, het is aan jou om door te laten of te filteren. (Firewall, Fritzbox etc.).
Je kan met een Wireguard tunnel aangeven dat je Home netwerkt vanaf telefoon naar je thuis netwerk gaat INCUSIEF DNS requests, door de DNS in e stellen.
Je kan dan in je eigen DNS voorziening aangeven waar je home-assistent zit. (Je moet wel af van het .local (= mDNS) want dat werkt niet buiten het eigen huis-LAN).
Of je in je eigen DNS ook lokale namen kan toevoegen weet ik niet, maar je kan in je thuis netwerk een nog niet gebruikt TLD gebruiken. bv. huis.lan, Je kan ook makkelijk zelf certificaten voor je eigen domein uitgeven. (openssl heeft al een standaard CA tool, en XCA is ook goed bruikbaar.
Je moet dan een CA certificaat aanmaken en een eind certificaat, ondertekenen met dat certificaat.
Je zal het CA certificaat wel als trusted moeten opnemen in telefoons en andere appratuur die met deze CA geconfronteerd kunnen worden.
Er is dan in het geheel geen port-forwarding nodig alleen verkeer door een tunnel.
(Dat is hoe bij mij alles werkt, de DNS server is in mijn geval een PiHole vm op mān proxmox.)
Nu kom je volgens mij dan op het dillemma van binnen of buiten.
Vaultwarden zelf heeft authenticatie wel op orde. Voordeel van vaultwarden buiten te zetten is dat je bijvoorbeeld gebruik kunt maken van de secure send feature naar derden (vrienden, collegaās, etc.) en dat je bij je wachtwoorden kan als je VPN het niet doet (die situaties zijn er).
Wil je vaultwarden binnen houden, dan moet je altijd op de vpn zitten, en DNS gebruiken om te zorgen dat de clients de server kunnen vinden. Je zult wel een klein probleempje hebben in deze om een valide HTTPS certificaat te verkrijgen, waar de clients mee willen werken. De WAF hier is een extra overweging, want wachtwoorden werken dan dus niet meer als je niet op de vpn zit, en mijn ervaring is dat dat altijd tot resultaat heeft dat de oplossing (vaultwarden) niet meer gebruikt wordt, want te ingewikkeld. Eenzelfde geldt voor homeassistant, waar als het licht niet te bedienen valt omdat op dat moment de telefoon even niet op de wifi maar 5G hangt (zonder VPN) er een niet te winnen discussie ontstaat
Maar goed, ik denk als je vaultwarden achter je VPN wil houden:
je een DNS server moet draaien waar je interne (sub)domeinen in op kan nemen (met lokaal adres)
je moet vaststellen of clients willen werken met een CA van jezelf
zo ja die CA maken, en dat certificaat in de sleutelhanger of wat dan ook van elk apparaat installeren (ik gebruik zelf certificaat.mijn.domein voor zoān installatie)
zo nee, kun je overwegen om alleen het certbot deel (/.well-known/acme-challenge) extern toe te staan, de rest alleen van interne adressen toe te laten (nginx allow), en vervolgens een split horizon DNS toe te passen zodat je access rules ook daadwerkelijk werken
Hartelijk dank voor jullie antwoorden. Dit heeft me geholpen mijn setup nogmaals te heroverwegen. Misschien moet ik niet te panisch doen over een portforward 80 en 443 in mijn FB. Ik heb hem inmiddels weer aangezet. Dat maakt de WAF net wat groter en daarmee wordt het ook gebruikt in mijn gezin. Hiermee wordt mijn Vaultwarden server voor iedereen benaderbaar (dus ook voor mijn gezin als de vpn even niet werkt).
Voor wie er wat aan heeft: het werkt nu als volgt:
Ik heb een apparaat met home-assistant draaien (in mijn geval een intel nuc). Daar heb ik home-assistant zo standaard mogelijk op draaien (dus met Home Assistanr OS). Voorheen had ik HA OS via proxmox in een virtuele machine, maar ik (hobby techneut) ervaarde dit toch als onnodig ingewikkeld. Home-assistant OS staat je toe om allerlei add-ons (recent hebben ze afgesproken om de add-ons āappsā te gaan noemenā¦) te draaien. Dit werkt ongeveer als docker-containers. Ze hebben er vrij veel (er zijn ook community-apps) en je komt er echt een heel eind mee.
Voor Vaultwarden server heb ik dus de Vaultwarden HA-app gebruikt. Om een beveiligde verbinding te maken gebruik ik NGINX proxy manager HA-app. Dat wordt zo geadviseerd. NGINX luistert naar poort 443 en zodra er een vraag voor vault.mijndomein.nl komt, stuurt NGINX dat door naar mijn vaultwarden server (een andere poort die je bij bitwarden server app hebt ingestwld, deze poort is dus niet van buitenshuis bereikbaar). NGINX vraagt via lets encrypt een certificaat aan voor je eigen domein. Data verlaat NGINX dus weer versleuteld je huis. Poort 80 moet open om een lets encrypt certificaat te kunnen aanvragen
In de instellingen bij Mijn freedom heb ik twee DNS records toegevoegd voor vault.mijndomein.nl:
ā_acme-challenge.vaultā als CNAME die naar mijn eigen ip verwijst
En een waarde āvaultā als CNAME naar mijn ip.
Iedereen bedankt voor jullie hulp. Mocht ik iemand kunnen helpen, laat maar weten!
Ik heb een soortgelijke opzet. Ik gebruik echter geen Home Assistant, daar ben ik niet bekent mee. Je kunt overwegen om het Admin panel van Vaultwarden (vault.mijndomein.nl/admin) van buitenaf onbereikbaar te maken zodat dit alleen lokaal bereikbaar is of eventueel ook via een VPN. Dat kan met een aanvulling in NPM manager (Custom Nginx Configuration).
Je staat dan de lokale IP-reeksen (en eventueel de VPN reeks) toe (allow). Overige IP-reeksen (=extern) blokkeren (deny).