Gemenskapslösning

HTTPS på CasaOS för nybörjare: omvänd proxy, ZeroTier, Cloudflare Tunnel och TLS

A short April-June 2024 CasaOS thread from a Raspberry Pi 5 user asking for an easy HTTPS setup. The only reply suggested ZeroTier, Cloudflare Tunnel, or a domain plus Nginx reverse proxy. Its claim that ZeroTier could read the user's HTTP traffic is contradicted by current ZeroTier documentation, which says traffic is end-to-end encrypted.

Det finns ingen enda ”slå på HTTPS”-knapp som fungerar för alla CasaOS-distributioner. Den rätta utformningen beror på vem som behöver nå servern. Om endast dina egna enheter behöver åtkomst kan ett privat överlagringsnätverk göra att du helt slipper publicera CasaOS-instrumentpanelen. Om andra personer eller offentliga webblienter behöver ett värdnamn kan du använda en omvänd proxy eller tunnel som avslutar TLS och vidarebefordrar trafik till den interna tjänsten.

Det tidigare svaret från 2024 innehöll ett viktigt tekniskt fel: det antydde att ZeroTier tekniskt sett kunde se den okrypterade HTTP-trafiken i överlagringsnätverket. Aktuell dokumentation från ZeroTier säger uttryckligen att nätverkstrafik är krypterad från ände till ände och att ZeroTiers infrastruktur inte kan läsa paketinnehåll. En webbläsare kan fortfarande visa http:// eftersom applikationslagret i sig använder HTTP, men överlagringens transportlager är krypterat.

Det finns tre vanliga mönster för fjärråtkomst

  • Privat överlagringsnätverk/VPN: endast betrodda enheter ansluter till det privata nätverket.
  • Omvänd proxy + domän: offentlig HTTPS avslutas vid Nginx/Caddy/Traefik, som proxar vidare till CasaOS/appar internt.
  • Hanterad tunnel: en anslutning skapar en utgående tunnel till en leverantör som Cloudflare.

Dessa kan kombineras, men nybörjare bör välja den enklaste arkitekturen som uppfyller det faktiska åtkomstbehovet.

ZeroTier krypterar trafik från ände till ände

Aktuell dokumentation för ZeroTiers protokoll säger att all ZeroTier-trafik är krypterad från ände till ände med nycklar som kontrolleras av enheterna, och i deras vanliga frågor står det att ZeroTier, Inc. inte kan läsa nätverkstrafik.

Se ZeroTiers aktuella uttalande om trafiksekretess.

Varför webbläsaren fortfarande kan visa HTTP

Om CasaOS lyssnar på http://192.168.x.x och du når adressen via ett krypterat överlagringsnätverk är protokollet mellan webbläsaren och CasaOS fortfarande HTTP. Överlagringsnätverket krypterar IP-paketen under detta lager.

Det liknar att använda HTTP i en privat WireGuard-tunnel: transporten är krypterad även om webbservern själv inte tillhandahåller TLS.

HTTPS ger fortfarande ett användbart extra försvarslager

Att använda HTTPS i eller utanför en VPN ger dig:

  • serveridentitet genom certifikat;
  • webbläsarens inbyggda beteende för säkra ursprung;
  • krypterad applikationstrafik även om trafiken lämnar överlagringsnätverket;
  • bättre kompatibilitet med appar som kräver säkra cookies eller HTTPS-callbacks.

En omvänd proxy är det normala mönstret för HTTPS i egen drift

Med en omvänd proxy pekar det offentliga eller privata DNS-namnet på proxyn. Proxyn lyssnar på port 443, hanterar certifikatet och vidarebefordrar sedan begäran till CasaOS eller en applikation på en intern HTTP-port.

Nginx Proxy Manager, Caddy och Traefik är vanliga alternativ. Proxyn måste själv skyddas eftersom den blir ingången till flera tjänster.

Ett offentligt certifikat kräver normalt en domän eller en giltig ACME-utmaning

Certifikat av typen Let's Encrypt utfärdas för domännamn efter att den som begär certifikatet har bevisat kontroll över domänen. För en hemmaserver innebär det vanligtvis en domän samt hantering av DNS- eller HTTP-utmaningen.

Exponera inte CasaOS-instrumentpanelen offentligt enbart för att få ett certifikat om endast dina egna enheter behöver åtkomst.

Cloudflare Tunnel undviker vidarebefordran av inkommande portar

En Cloudflare Tunnel-anslutning skapar en utgående anslutning till Cloudflare, så hemroutern behöver ingen vanlig regel för vidarebefordran av inkommande port 443. Cloudflare kan tillhandahålla HTTPS på det offentliga värdnamnet.

Detta flyttar en del av förtroendegränsen till Cloudflare och bör kombineras med autentisering och åtkomstpolicyer för administrativa tjänster.

Håll CasaOS administrationsgränssnitt privat när det är möjligt

Den säkraste arkitekturen är ofta att endast publicera de applikationer som behöver offentlig åtkomst och hålla CasaOS administrationsgränssnitt åtkomligt enbart via det lokala nätverket eller en privat VPN-/överlagringsanslutning.

TLS skyddar transporten; det minskar inte behörigheterna för en administratörspanel.

Pi-hole och WireGuard kräver inte samma exponeringsmodell

Användaren planerade att lägga till Pi-hole och WireGuard senare. Pi-holes DNS-tjänst är vanligtvis avsedd för betrodda klienter i LAN eller VPN, inte för det öppna Internet. WireGuard exponerar medvetet en VPN-lyssnare via UDP, men tillhandahåller därefter en privat väg till andra tjänster.

Publicera inte varje CasaOS-app bara för att en VPN-port måste vara nåbar.

Vanliga frågor om HTTPS i CasaOS

Kan ZeroTier läsa HTTP-trafiken i mitt ZeroTier-nätverk?

Aktuell dokumentation från ZeroTier säger nej: trafiken är krypterad från ände till ände och deras infrastruktur kan inte läsa paketinnehållet.

Behöver jag HTTPS om jag bara ansluter via en privat VPN?

VPN-tjänsten krypterar redan transporten, men HTTPS kan fortfarande ge certifikatbaserad identitet och ett extra försvarslager.

Bör CasaOS administrationspanel exponeras offentligt via en omvänd proxy?

Håll helst administrationsgränssnittet privat om det inte finns ett specifikt och välskyddat skäl att publicera det.