Beskytt din Minecraft-server hjemmefra med en gratis proxy
Ønsker du å drifte en Minecraft-server fra din egen bolig uten å måtte avsløre din IP-adresse? Det er fullt mulig! Ved å sette opp en kostnadsfri proxy via Amazon Web Services, kan du effektivt beskytte serveren din mot potensielle angrep som tjenestenektangrep. Vi skal vise deg hvordan du gjør dette.
Denne veiledningen er ikke begrenset til kun Minecraft-servere; den kan anvendes for enhver spillserver. Det den gjør er å omdirigere trafikk på en spesifikk port. Du trenger bare å justere Minecrafts standardport 25565 til den porten din spillserver faktisk bruker.
Hvordan fungerer dette?
La oss anta at du ønsker å opprette en Minecraft-server som skal være tilgjengelig for alle på internett. Å sette opp en slik server er ikke spesielt vanskelig. Installasjonen er enkel, de bruker som regel bare én prosessortråd, og selv de mest modifiserte serverne krever sjelden mer enn 2-3 GB RAM med noen få spillere tilkoblet. Du kan lett drifte en server på en eldre bærbar PC eller i bakgrunnen på din vanlige datamaskin i stedet for å betale andre for å være vertskap for den.
Men for at folk skal kunne koble seg til, må du avsløre din IP-adresse. Dette kan medføre problemer. Det er en betydelig sikkerhetsrisiko, særlig hvis ruteren din fremdeles har standard administratorpassord. Det eksponerer deg også for distribuerte tjenestenektangrep (DDoS), som ikke bare kan stoppe Minecraft-serveren din, men også potensielt lamme internettforbindelsen din inntil angrepet avtar.
Heldigvis er det ikke nødvendig å la brukere koble seg direkte til ruteren din. Du kan i stedet leie en liten Linux-server fra Amazon Web Services, Google Cloud Platform eller Microsoft Azure. Disse tilbyr alle gratis abonnementer. Denne serveren trenger ikke å være kraftig nok til å hoste selve Minecraft-serveren; den videresender kun tilkoblingene for deg. Dette gir deg muligheten til å dele IP-adressen til proxy-serveren i stedet for din egen.
Når noen ønsker å koble seg til serveren din, skriver de inn IP-adressen til din AWS-proxy i sin Minecraft-klient. En pakke sendes til proxyen på port 25565 (Minecrafts standardport). Proxyen er konfigurert til å gjenkjenne trafikk på port 25565 og videresender den til din hjemmeruter. Dette skjer uten at brukeren er klar over det. Personen som kobler til merker ikke denne videresendingen.
Hjemmeruteren må deretter være konfigurert for portvideresending for å sende tilkoblingen videre til din faktiske PC. Din PC, som drifter serveren, svarer på klientens pakke. Svaret sendes tilbake til proxyen, som så omskriver pakken slik at det ser ut som om proxyen selv er den som svarer. Klienten er ikke klar over denne prosessen og tror ganske enkelt at det er proxyen som er systemet som kjører serveren.
Dette kan sammenlignes med å legge til en ekstra ruter foran serveren, på samme måte som din eksisterende hjemmeruter beskytter datamaskinen din. Denne nye ruteren kjører på Amazon Web Services og nyter godt av den omfattende DDoS-beskyttelsen som følger med alle AWS-tjenester ( kjent som AWS Shield). Hvis et angrep detekteres, vil det automatisk dempes uten å forstyrre din server. Skulle det allikevel ikke stoppes, kan du alltid slå av instansen og dermed kutte forbindelsen til hjemmet ditt.
For å håndtere proxy-funksjonaliteten benytter vi et verktøy som heter sslh. Det er designet for protokollmultipleksing. Hvis du for eksempel ville kjørt SSH (vanligvis port 22) og HTTPS (port 443) på samme port, ville du møtt problemer. sslh plasseres foran og omdirigerer porter til de respektive applikasjonene. Dette løser dette problemet. Det gjør denne omdirigeringen på transportlagsnivå, akkurat som en ruter. Dette betyr at vi kan gjenkjenne Minecraft-trafikk og videresende den til din hjemmeserver. sslh er som standard transparent, noe som betyr at den omskriver pakker for å skjule din hjemme-IP-adresse. Dette gjør det umulig for andre å spore den opp med verktøy som Wireshark.
Opprett og koble til en ny VPS
For å starte, må du konfigurere din proxy-server. Dette er absolutt lettere hvis du har litt erfaring med Linux, men det er ikke en absolutt nødvendighet.
Naviger til Amazon Web Services og opprett en konto. Du må oppgi kreditt- eller debetkortinformasjon, men dette er kun for å hindre opprettelse av duplikate kontoer; du vil ikke bli belastet for instansen du oppretter. Gratisabonnementet varer i ett år, så husk å deaktivere det når du ikke trenger det lenger. Google Cloud Platform tilbyr en f1-micro-instans som er gratis til enhver tid, om du foretrekker å benytte den. Google tilbyr også en kreditt på $300 som du kan benytte for å kjøre en fullverdig skyserver.
AWS tar et lite gebyr for båndbredde. Du får 1 GB gratis, men blir belastet $0.09 per GB for forbruk utover dette. I de fleste tilfeller vil du sannsynligvis ikke overstige dette, men det kan være greit å holde et øye med det hvis du ser en kostnad på 20 cent på fakturaen din.
Etter at du har opprettet kontoen, søker du etter «EC2». Dette er AWS sin plattform for virtuelle servere. Det kan ta litt tid før AWS aktiverer EC2 for den nye kontoen din.
Fra fanen «Instances» velger du «Launch Instance» for å starte oppstartsveiviseren.
Du kan velge «Amazon Linux 2 AMI» eller «Ubuntu Server 18.04 LTS» som operativsystem. Klikk «Next», og du blir bedt om å velge instans-type. Velg t2.micro, som er gratisversjonen. Du kan kjøre denne instansen 24/7 under AWS sin gratisordning.
Velg «Review and Launch». På neste side velger du «Launch», og du får opp dialogboksen under. Klikk på «Create a new key pair», og deretter på «Download Key Pair». Dette er din tilgangsnøkkel til instansen, så pass godt på den – plasser den i dokumentmappen din. Når den er lastet ned, klikker du på «Launch Instances».
Du kommer tilbake til siden med oversikt over instansene dine. Se etter instansens IPv4 Public IP, som er adressen til serveren din. Du kan eventuelt sette opp en AWS Elastic IP (som ikke endres ved omstart), eller til og med et gratis domenenavn via dot.tk, hvis du ønsker å slippe å komme tilbake til denne siden for å finne adressen.
Lagre denne adressen for senere bruk. Først må du endre brannmuren for instansen din for å åpne port 25565. Fra fanen «Security Groups», velger du gruppen som din instans bruker (sannsynligvis launch-wizard-1), og klikker deretter «Edit».
Legg til en ny tilpasset TCP-regel og sett portområdet til 25565. Kilden bør settes til «Anywhere» eller 0.0.0.0/0.
Lagre endringene, og brannmuren vil oppdateres.
Nå kobler vi til serveren via SSH for å konfigurere proxyen. Hvis du bruker macOS eller Linux, kan du åpne terminalen din. Hvis du benytter Windows, trenger du en SSH-klient, som for eksempel PuTTY, eller installer Windows Subsystem for Linux. Vi anbefaler sistnevnte, da det gir mer konsistente resultater.
Det første du bør gjøre, er å navigere til dokumentmappen der nøkkelfilen din ligger:
cd ~/Documents/
Hvis du bruker Windows Subsystem for Linux, befinner C-stasjonen din seg på /mnt/c/. Du må da navigere deg ned til dokumentmappen:
cd /mnt/c/Users/brukernavn/Documents/
Bruk -i-flagget for å informere SSH om at du ønsker å benytte nøkkelfilen for å koble til. Filen vil ha filtypen .pem, så du bør inkludere følgende:
ssh -i keyfile.pem [email protected]
Erstatt «0.0.0.0» med din IP-adresse. Hvis du opprettet en Ubuntu-server i stedet for AWS Linux, kobler du til som brukeren «ubuntu».
Du skal nå ha tilgang og se at ledeteksten endres til serverens ledetekst.
Konfigurer SSLH
Nå installerer vi sslh ved hjelp av pakkebehandlingssystemet. For AWS Linux brukes yum, mens for Ubuntu brukes apt-get. Det kan være nødvendig å legge til EPEL-depotet på AWS Linux:
sudo yum install epel-release
sudo yum install sslh
Når den er installert, åpner du konfigurasjonsfilen med nano:
nano /etc/default/sslh
Endre parameteren RUN= til «yes»:
Under den siste DAEMON-linjen skriver du inn følgende:
DAEMON_OPTS="--user sslh --listen 0.0.0.0:25565 --anyprot din_ip_adresse:25565 --pidfile /var/run/sslh/sslh.pid
Erstatt «din_ip_adresse» med din hjemme-IP-adresse. Hvis du er usikker på hva din IP-adresse er, søk på Google etter «hva er min IP-adresse?».
Denne konfigurasjonen får sslh-proxyen til å lytte på alle nettverksenheter på port 25565. Endre dette portnummeret hvis din Minecraft-klient bruker en annen port, eller hvis du spiller et annet spill. Normalt, med sslh, matcher man ulike protokoller og omdirigerer dem til forskjellige destinasjoner. I vårt tilfelle ønsker vi å matche all trafikk og videresende den til din_ip_adresse:25565.
Trykk Ctrl+X, og deretter Y for å lagre filen. Skriv inn følgende for å aktivere sslh:
sudo systemctl enable sslh
sudo systemctl start sslh
Hvis systemctl ikke er tilgjengelig på systemet ditt, må du kanskje benytte tjenestekommandoen istedenfor.
sslh skal nå være i gang. Kontroller at din hjemmeruter har korrekt portvideresending og sender trafikk på port 25565 til din datamaskin. Det kan være lurt å tildele datamaskinen en statisk IP-adresse, slik at den ikke endres.
For å se om folk har tilgang til serveren din, skriv inn proxyens IP-adresse i en online statuskontroll. Du kan også skrive inn proxyens IP i Minecraft-klienten din og forsøke å koble deg til. Hvis det ikke fungerer, sjekk om portene er åpne i instansens sikkerhetsgrupper.