Säkerhet, komma åt tjänster på server externt.

Permalänk
Medlem

Säkerhet, komma åt tjänster på server externt.

Hej, har en server som jag kör en del appar på som jag vill komma att andra skall kunna komma åt utifrån.
Hur gör jag detta säkrast?
Jag och fru kör tailscale vpn på våra telefoner mot min truenas server.
Men hur kan jag göra för andra personer?
Hur riskabelt är det att öppna portar ?

För min bror som agerar lite support ibland har jag öppnat en port till, men låst den till endast hans ip, men det fungerar inte för andra .

Permalänk
Medlem

I Tailscale kan du bjuda in externa personen så vitt jag vet.

Users -> Invite Users -> Invite external users. Man kan också dela enskilda maskiner.

Permalänk
Medlem
Skrivet av dlq84:

I Tailscale kan du bjuda in externa personen så vitt jag vet.

Users -> Invite Users -> Invite external users. Man kan också dela enskilda maskiner.

Men jag vill inte dela med mig av nätverket som det gör.
Har sett en del om att reverse proxy skulle höja säkerheten. Hur fungerar det?

Har funderat på skaffa mig en domän för att förenkla att dela ut en minecraft server .

Permalänk
Medlem

Vad säkerheten beträffar, så är det gravt överdrivet. Många oroar sig som om de satt på flera terabyte vetenskaplig data om nya mediciner eller lokal krypto-plånbok som på något magiskt vis skulle kunna bli nåbar från internet bara för att du publicerar en apache/nginx webbserver ut mot omvärlden.

Det finns förstås korkade saker man kan göra, såsom att exponera en SMB filutdelning rakt ut mot internet, eller FTP-server pekat in mot din privata lagring med familjefoton och där anonym åtkomst är aktiverad. Gör man något så dumt så ja då får man faktiskt skylla sig själv.

Det också främst om du tänker dig att du vill publicera flera webbtjänster som det är aktuellt om du vill undvika att publicera tjänsterna på icke standardiserade portar, andra portar än 80/443 exempelvis, eftersom du vanligtvis endast kan ha en tjänst terminerad på en port, där kommer omvända proxy:n in och agerar dirigent utifrån SNI (Server Name Indicator) eller den webbadress som man utifrån försöker nå, och vidarebefordrar trafiken till motsvarande tjänst på insidan utifrån webbadressen besökaren anger i deras webbläsare eller klientprogramvara.

En annan vanligt förekommande orsak till att man använder en omvänd proxy, är för att förenkla hantering av certifikat för krypterad trafik, genom att du exempelvis kan förse dig med ett eller flera wildcard-certifikat för den eller de domännamn du äger och som då används per automatik när du publicerar en ny webbapplikation under sagda domännamn vilket är smidigt. Så på så vis kan man säga att en omvänd proxy kan bidra till ökad säkerhet genom att förenkla för dig att sköta och förnya certifikat och undvika att ha utgångna certifikat som resulterar i certifikatsvarningar för gästerna.

Om du vill säkerställa maximal säkerhet vad gäller dina publicerade webbapplikationer så skulle jag säga att följande punkter är viktiga
* Håll ner antalet webbapplikationer till en hanterbar nivå
* Säkerställ att dina webbapplikationer hålls uppdaterade så du inte exponerar webbapplikationer med kända sårbarheter
* För webbapplikationer där det finns kända sårbarheter, men som du trots detta vill publicera, bör du begränsa åtkomst till för endast utvalda IP-adresser alternativt DynDNS-adresser (antingen via nginx, lokal brandvägg eller i din routers brandvägg)
* Om möjligt, placera dina webbapplikationer i ett fysiskt separerat nätverk från ditt vanliga "hemma"-nätverk, så om någon mot förmodan skulle ta sig in så kan de bara komma åt data som ligger på just den maskinen, detta kräver förstås lite mer kunskap från ditt håll och hårdvaru-förutsättningar för att skapa upp VLAN i brandvägg och switch(ar)

Vad gäller att exponera minecraft-servrar så är det inget att fundera över, såvida du inte vill begränsa vem som faktiskt får spela på servern men det går ju att begränsa på flera vis. Någon omvänd proxy behöver du inte använda dig utav i det fallet, utan det är när du vill exponera en webbapplikation mot omvärlden med möjlighet att filtrera trafik och övervaka åtkomst, då kan det vara en idé att exponera sagda tjänst bakom nginx. Se bara till att du patchar upp din minecraft server-instans så den hålls a jour vilket är common sense. Det kan vara en bra idé att automatisera uppdatering, så har du åtminstone gjort vad du kan för att säkerställa att ingen förstör dina minecraft-världar.

Visa signatur

Also found as @piteball@mastodon.rockhost.se

Permalänk
Medlem
Skrivet av Pitr-:

Vad säkerheten beträffar, så är det gravt överdrivet. Många oroar sig som om de satt på flera terabyte vetenskaplig data om nya mediciner eller lokal krypto-plånbok som på något magiskt vis skulle kunna bli nåbar från internet bara för att du publicerar en apache/nginx webbserver ut mot omvärlden.

Det finns förstås korkade saker man kan göra, såsom att exponera en SMB filutdelning rakt ut mot internet, eller FTP-server pekat in mot din privata lagring med familjefoton och där anonym åtkomst är aktiverad. Gör man något så dumt så ja då får man faktiskt skylla sig själv.

Det också främst om du tänker dig att du vill publicera flera webbtjänster som det är aktuellt om du vill undvika att publicera tjänsterna på icke standardiserade portar, andra portar än 80/443 exempelvis, eftersom du vanligtvis endast kan ha en tjänst terminerad på en port, där kommer omvända proxy:n in och agerar dirigent utifrån SNI (Server Name Indicator) eller den webbadress som man utifrån försöker nå, och vidarebefordrar trafiken till motsvarande tjänst på insidan utifrån webbadressen besökaren anger i deras webbläsare eller klientprogramvara.

En annan vanligt förekommande orsak till att man använder en omvänd proxy, är för att förenkla hantering av certifikat för krypterad trafik, genom att du exempelvis kan förse dig med ett eller flera wildcard-certifikat för den eller de domännamn du äger och som då används per automatik när du publicerar en ny webbapplikation under sagda domännamn vilket är smidigt. Så på så vis kan man säga att en omvänd proxy kan bidra till ökad säkerhet genom att förenkla för dig att sköta och förnya certifikat och undvika att ha utgångna certifikat som resulterar i certifikatsvarningar för gästerna.

Om du vill säkerställa maximal säkerhet vad gäller dina publicerade webbapplikationer så skulle jag säga att följande punkter är viktiga
* Håll ner antalet webbapplikationer till en hanterbar nivå
* Säkerställ att dina webbapplikationer hålls uppdaterade så du inte exponerar webbapplikationer med kända sårbarheter
* För webbapplikationer där det finns kända sårbarheter, men som du trots detta vill publicera, bör du begränsa åtkomst till för endast utvalda IP-adresser alternativt DynDNS-adresser (antingen via nginx, lokal brandvägg eller i din routers brandvägg)
* Om möjligt, placera dina webbapplikationer i ett fysiskt separerat nätverk från ditt vanliga "hemma"-nätverk, så om någon mot förmodan skulle ta sig in så kan de bara komma åt data som ligger på just den maskinen, detta kräver förstås lite mer kunskap från ditt håll och hårdvaru-förutsättningar för att skapa upp VLAN i brandvägg och switch(ar)

Vad gäller att exponera minecraft-servrar så är det inget att fundera över, såvida du inte vill begränsa vem som faktiskt får spela på servern men det går ju att begränsa på flera vis. Någon omvänd proxy behöver du inte använda dig utav i det fallet, utan det är när du vill exponera en webbapplikation mot omvärlden med möjlighet att filtrera trafik och övervaka åtkomst, då kan det vara en idé att exponera sagda tjänst bakom nginx. Se bara till att du patchar upp din minecraft server-instans så den hålls a jour vilket är common sense. Det kan vara en bra idé att automatisera uppdatering, så har du åtminstone gjort vad du kan för att säkerställa att ingen förstör dina minecraft-världar.

Aha då kanske jag inte behöver va rädd för exponera portar, och de har inte standardportar.
Men låter nog bli att exponera truenas admin och kamera övervakning mot nätet.

Men jag skall nog läsa på lite om reverse proxy för att få det smidigt med adresser.

Permalänk
Medlem
Skrivet av jope84:

Aha då kanske jag inte behöver va rädd för exponera portar, och de har inte standardportar.
Men låter nog bli att exponera truenas admin och kamera övervakning mot nätet.

Men jag skall nog läsa på lite om reverse proxy för att få det smidigt med adresser.

Ja det är klokt att inte exponera admin-gränssnitt ut mot omvärlden, såsom för din TrueNAS, och även kamera-övervakning såvida du inte har åtminstone 2-faktorinloggning in mot NVR-gränssnittet.

Tänk dock på att alla portar du publicerar ut mot omvärlden kommer att indexeras utav tjänster såsom Shodan så räkna med att dina minecraft-servrar är allmän kännedom om du inte geoip-blockerar trafiken. Min minecraft-server syns exempelvis inte på Shodan då jag geoip blockerar access endast till Sverige och Norge då jag har polare med barn i Norge som spelar på servern, vilket jag gör genom min brandvägg. Men det är möjligt att göra geoip-blockering direkt i Linux, se länken nedan för enkel geoip-blockering.
https://github.com/friendly-bits/geoip-shell

Visa signatur

Also found as @piteball@mastodon.rockhost.se

Permalänk
Medlem
Skrivet av Pitr-:

Ja det är klokt att inte exponera admin-gränssnitt ut mot omvärlden, såsom för din TrueNAS, och även kamera-övervakning såvida du inte har åtminstone 2-faktorinloggning in mot NVR-gränssnittet.

Tänk dock på att alla portar du publicerar ut mot omvärlden kommer att indexeras utav tjänster såsom Shodan så räkna med att dina minecraft-servrar är allmän kännedom om du inte geoip-blockerar trafiken. Min minecraft-server syns exempelvis inte på Shodan då jag geoip blockerar access endast till Sverige och Norge då jag har polare med barn i Norge som spelar på servern, vilket jag gör genom min brandvägg. Men det är möjligt att göra geoip-blockering direkt i Linux, se länken nedan för enkel geoip-blockering.
https://github.com/friendly-bits/geoip-shell

Ja det där med geoip blockering har jag i routern, har unifi dreammashine pro.

Men när jag youtuba lite om reverse proxy så var det en som rekomendera använda 2 st reverse proxy. En intern och sen en extern hos cloudflare. Sen skulle man bara öppna portar mot cloudflare .

Permalänk
Skrivet av jope84:

Ja det där med geoip blockering har jag i routern, har unifi dreammashine pro.

Men när jag youtuba lite om reverse proxy så var det en som rekomendera använda 2 st reverse proxy. En intern och sen en extern hos cloudflare. Sen skulle man bara öppna portar mot cloudflare .

Låter som onödigt många steg, bara: Cloudflare gör ju inget magiskt som du inte kan göra själv. Däremot kan en externt hostad reverse proxy plus någon form av VPN vara en lösning för de stackare som är fast bakom CG-NAT; åtminstone tills IPv6 blir mer utbrett.

Men IPv6 är ingen silverkula: Mina tjänster hemma exempelvis presenteras över både IPv4 och IPv6, men eftersom min telefonoperatör är Telia kan jag för närvarande bara nå IPv4-versionen av dem när jag är ute på vift inom Sverige.

Permalänk
Medlem

Cloudflared tunnel är ett bra och enkelt alternativ.

Permalänk
Medlem
Skrivet av jope84:

Men när jag youtuba lite om reverse proxy så var det en som rekomendera använda 2 st reverse proxy. En intern och sen en extern hos cloudflare. Sen skulle man bara öppna portar mot cloudflare .

Jag skulle säga att det finns både för- och nackdelar med denna lösning. Till fördelarna hörs förstås att Cloudflare har ett stort intresse av att få till så bra peering som möjligt med alla operatörer, men å andra sidan så är peering mellan våra svenska operatörer och stadsnät redan så pass bra att du kanske inte vinner så mycket i prestanda på att låta Cloudflare agera mellanhand för routingen.

Nu har de iofs datacenter i Stockholm, men jag läst om folk som kör på gratis-planen där de råkat ut för att trafiken går mot annan POP än närmsta, exempelvis där servrar inom EU i stället har gått via Cloudflare datacenter i USA vilket resulterar i försämrad upplevelse då trafiken måste gå över atlantkablarna. Nu kanske inte är så längre, vad vet jag. Jag har alltid haft publik IPv4-adress så jag har alltid exponerat tjänsterna direkt via internet-operatören utan mellanhand men med geoip-blockering på allt utom webbtjänsterna (80/443) eftersom jag publicerar ut tjänster som används internationellt och som potentiellt skulle dra nytta av åtminstone CDN-tjänster för att cache:a i mitt fall lineageos builds närmare slutanvändarna.

När det väl är störningar i stadsnätet så hjälps det inte att använda sig utav Cloudflare:s tjänster, så jag ser ingen vinning i det för min del. Men om man nu har oturen att inte kunna få en publik IP-adress, och inte vill driva en egen omvänd proxy i valfri hosting-lösning, ja då kan det ju onekligen ett enkelt alternativ att komma igång med.

Visa signatur

Also found as @piteball@mastodon.rockhost.se

Permalänk
Medlem
Skrivet av Pitr-:

En annan vanligt förekommande orsak till att man använder en omvänd proxy...

Man kan också använda omvänd proxy om man bara har en extern IP, men vill köra flera tjänster i "backend". Du kan alltså ha flera servrar på port 80/443, vilket normalt sett inte är möjligt då man bara kan öppna en port mot en specifik tjänst.

Bara en liten notis, och förmodligen inget TS vill göra - tänkte bara föra det till protokollet.

Visa signatur

Citera för svar

Stora Owncloud/Nextcloud-tråden: http://www.sweclockers.com/forum/122-server/1212245-officiell...
Jobb: Datacenter Manager
Grundare: https://www.hanssonit.se

Permalänk
Medlem
Skrivet av enoch85:

Man kan också använda omvänd proxy om man bara har en extern IP, men vill köra flera tjänster i "backend". Du kan alltså ha flera servrar på port 80/443, vilket normalt sett inte är möjligt då man bara kan öppna en port mot en specifik tjänst.

Väl skrivet, kamrat enoch85, det är korrekt att omvänd proxy vanligtvis används för att exponera multipla webbapplikationer/backends bakom samma publika IP-adress. Alternativt för att erbjuda lastbalansering mot flera instanser av samma backend för att öka kapaciteten eller av redundansskäl.

För den som är nyfiken kan man läsa mer om detta i RFC 6066 där det beskrivs hur SNI, eller Server Name Indication, används av TLS-klienten för att kunna urskilja flera webbadresser som huserar in under en och samma IP-adress, denna standard inom TLS-protokollet är relativt nytt då de kom till så sent som 2003. Innan dess var det inte möjligt att husera flera SSL/TLS-skyddade webbapplikationer under samma IP-adress (åtminstone inte mig veterligen, men jag höll inte på så mycket med webbapplikationer och omvända proxy-servrar där 2003).
https://datatracker.ietf.org/doc/html/rfc6066 (punkt 3)

Helt klart överkurs, men kunskap är guld.

Visa signatur

Also found as @piteball@mastodon.rockhost.se

Permalänk
Medlem

Fått igång det nu, skaffade en adress på dynu med wildcard dns och nginx som reverse proxy.
Fungerar riktigt bra .
Nu skall jag bara ta och fundera ut ett bra riktigt domännamn.

Permalänk
Medlem
Skrivet av Pitr-:

Väl skrivet, kamrat enoch85, det är korrekt att omvänd proxy vanligtvis används för att exponera multipla webbapplikationer/backends bakom samma publika IP-adress. Alternativt för att erbjuda lastbalansering mot flera instanser av samma backend för att öka kapaciteten eller av redundansskäl.

För den som är nyfiken kan man läsa mer om detta i RFC 6066 där det beskrivs hur SNI, eller Server Name Indication, används av TLS-klienten för att kunna urskilja flera webbadresser som huserar in under en och samma IP-adress, denna standard inom TLS-protokollet är relativt nytt då de kom till så sent som 2003. Innan dess var det inte möjligt att husera flera SSL/TLS-skyddade webbapplikationer under samma IP-adress (åtminstone inte mig veterligen, men jag höll inte på så mycket med webbapplikationer och omvända proxy-servrar där 2003).
https://datatracker.ietf.org/doc/html/rfc6066 (punkt 3)

Helt klart överkurs, men kunskap är guld.

NU fattade jag referensen till RFC idag! 😂

Visa signatur

Citera för svar

Stora Owncloud/Nextcloud-tråden: http://www.sweclockers.com/forum/122-server/1212245-officiell...
Jobb: Datacenter Manager
Grundare: https://www.hanssonit.se

Permalänk
Medlem
Skrivet av jope84:

Fått igång det nu, skaffade en adress på dynu med wildcard dns och nginx som reverse proxy.
Fungerar riktigt bra .
Nu skall jag bara ta och fundera ut ett bra riktigt domännamn.

https://websupport.se/cart/domain-checker?qd=jope84.se&freeOn...

Vet inte om det är bra, men det är ledigt. 👍🏼

Visa signatur

Citera för svar

Stora Owncloud/Nextcloud-tråden: http://www.sweclockers.com/forum/122-server/1212245-officiell...
Jobb: Datacenter Manager
Grundare: https://www.hanssonit.se