Vilka är riskerna med att exponera mina tjänster för internet utan att använda en VPN?

Kära medlemmar i r/selfhosted,

Som många av er driver jag också några tjänster på min hemserver, och vill exponera vissa av dem, som nextcloud, wallabag, plex etc, för internet, så att jag, min familj och andra jag litar på kan nå dem utifrån vårt nätverk. Jag har läst mycket på denna subreddit och andra resurser om hur det bör göras på ett säkert sätt, med hjälp av en VPN eller VPS och så vidare. Dessa trådar sammanfattas nästan alltid genom att klassificera om en viss uppsättning är säker eller inte, utan mer detaljer.

Eftersom jag inte är en IT-expert eller hacker, är jag inte alltid säker på vilka risker jag kan bli utsatt för.

Eftersom det inte skulle vara praktiskt för mig och än mindre för min familj att etablera en VPN-anslutning varje gång vi vill komma åt en tjänst, är VPN inte ett alternativ. Därför planerar jag att endast tillåta åtkomst via https och lämna port 443 öppen (eller kanske en annan). Den inkommande trafiken kommer att dirigeras till ett dedikerat VLAN (separerat från resten av nätverket) och proxys av Cloudflare. Genom detta kan jag begränsa den inkommande trafiken till endast Cloudflares servrar IPs, så även om någon lyckas hitta min IP och försöker komma åt mitt nätverk via denna port, kommer de att blockeras av routerns brandvägg.

Med tanke på att mina lösenord är tillräckligt starka för att brute force-attacker inte ska vara realistiska, vilka risker är det då att min uppsättning är utsatt för i detta scenario? Jag uppskattar också om ni kan utveckla ert svar, så att jag och andra som jag kan få mer kunskap om ämnet.

Tack :blush:

Jag har alltid använt webbapplikationsbrandväggar som ett sätt att få tillgång till mina tjänster utifrån.

Jag har ett publikt domännamn registrerat, och förfrågningar till mina namngivna tjänster dirigeras till mitt hem, och sedan NAT:as till en brandväggs-VM som är värd på min server.

Brandväggs-VM hanterar TLS-termination och dirigerar sedan baserat på domännamnet till bakgrundstjänsten. De flesta webbapplikationsbrandväggar kommer med regelverk som skyddar mot vanliga attacker.

Den största försvarslinjen är geo-blockering. Att begränsa anslutningar till det land du befinner dig i kommer kraftigt att minska antalet skanningar och attacker som lyckas ta sig igenom.

Det mest säkra alternativet är att inte göra det alls. Men om det inte räcker för dig, är det ens ett alternativ? Detsamma gäller för användning av VPN.

Så länge du:

  • Håller tjänsterna och operativsystemet de är värd för uppdaterade
  • Konfigurerar dem på ett vettigt sätt
  • Exponerar endast de portar du behöver
  • Använder starka lösenord och tvåfaktorsautentisering
  • Håller koll på loggar för ovanlig aktivitet
  • Håller koll på tekniknyheter för allvarliga zero-days som kan påverka dig

… är den kvarvarande risken ganska liten och du borde vara helt okej.

För extra paranoia kan du också:

  • Placera tjänster bakom en omvänd proxy. Jag gillar Caddy eftersom det är mycket enkelt.
  • Använd ett verktyg som fail2ban för automatisk blockering av brute force-attacker.

iptables kan filtrera för MAC-adress, så du kanske kan vitlista enheter.

iptables kan skydda mot DoS, floods och andra attacker, med en mängd bromsmoduler, och genom att slänga onda protokoll och tillstånd. Fail2ban fungerar genom att implementera iptables-regler och är utmärkt som en reserv för oväntade eller edge-case-attacker men man kan inte förvänta sig en automatiserad iptables-implementation. Bättre att definiera reglerna uttryckligen först.

TCP-wrappers kan hjälpa men är bara ett lager till av säkerhet.

Minska din hotyta genom att inaktivera IPv6.

En mängd kernelalternativ kan begränsa anslutningar, förkorta tidsgränser, och på annat sätt göra maskinen mer petig.

Du kan virtualisera en daemon på sin egen VM, och sedan låta värden stänga den vid vissa tillfällen.

Det verkar som att de flesta svar här inte riktigt adresserar frågan, och kan till och med vara lite farliga. Farliga, eftersom de på något sätt skjuter undan själva problemet som frågan presenterar. Så här kommer det…

Svaret på frågan, som ställdes, är att det inte finns någon risk, egentligen. VPN:er är extremt överhypade. Att ansluta till en internetåtkomlig sida (som din hemserver i framtiden) med en icke-VPN-anslutning är inget annorlunda än att nå vilken internetplats som helst med en icke-VPN-anslutning. Det du bör vara orolig för innan du gör din hemserver tillgänglig för internet är hur du säkrar själva servern. Att titta på en VPN är att hysa fel förhoppningar, och du behöver få ut hela idén ur ditt huvud, för det gör dig mycket sårbar.

För att utveckla, låt oss först titta på vad en VPN faktiskt gör och när den är användbar. En VPN kan vara användbar för att ansluta till ditt hemnätverk om du inte har något annat sätt att ansluta till ditt hemnätverk externt. Det vill säga, om du använder din VPN i bokstavlig mening av uttrycket VIRTUAL PRIVATE NETWORK. Hemnätverket är annars otillgängligt via internet, och blir endast tillgängligt när du loggar in på VPN:et. Resultatet är att ditt privata nätverk utökas på ett sätt som tekniskt sett inte längre är en privat anslutning, men förblir de facto privat, för alla avsikter och syften. Och för att notera, när du ansluter till ditt hemnätverk via VPN, kan även din internetleverantör spionera på datatrafiken.

Å andra sidan, om du ska göra ditt hemnät tillgängligt på riktigt för internet, då blir VPN:et värdelöst och obsolet. Det som nu är viktigt är säkerheten för din server. Om en VPN är en säker tunnel genom vilken trafiken färdas, är din servers säkerhet som att ha ett lås på ytterdörren till ditt hus. Det finns inget en VPN kan göra för att skydda din server. Bara för att du når din offentligt tillgängliga osäkra server via VPN hindrar inte en illvillig aktör från att ta sig in. Så att använda en VPN för vad du beskriver i ditt inlägg är som att ha en privat tunnel för att köra från ditt jobb till din uppfart, men att lämna husets ytterdörr öppen.