Senza categoria

Proteggi il tuo server Minecraft domestico dagli attacchi DDOS con AWS

Vuoi eseguire un server Minecraft da casa senza rivelare il tuo indirizzo IP? Puoi! Basta impostare un proxy gratuito con Amazon Web Services per proteggere il tuo server da attacchi denial-of-service. Ti mostreremo come fare.

Questa guida funzionerà per qualsiasi server di gioco, non solo per Minecraft. Tutto ciò che fa è il traffico proxy su una porta specifica. Devi solo cambiare la porta 25565 di Minecraft in qualsiasi porta su cui gira il tuo server di gioco.

Come funziona?

Supponiamo che tu voglia ospitare un server Minecraft e aprirlo su Internet. Non è così difficile eseguirne uno. Sono facili da installare, utilizzano solo un thread di elaborazione e anche i server pesantemente modificati non richiedono più di 2 o 3 GB di RAM con pochi giocatori online. Potresti facilmente eseguire un server su un vecchio laptop o in background sul tuo computer desktop piuttosto che pagare qualcun altro per ospitarlo per te.

Ma affinché le persone si colleghino ad esso, devi fornire il tuo indirizzo IP. Questo presenta alcuni problemi. È un grave rischio per la sicurezza, soprattutto se il tuo router ha ancora la password amministratore predefinita. Ti lascia anche aperto agli attacchi DDOS (Distributed Denial-of-Service), che non solo fermerebbero il tuo server Minecraft, ma potrebbero anche chiudere Internet, fino a quando l’attacco non si attenua.

Non è necessario consentire alle persone di connettersi direttamente al router. Invece, puoi noleggiare una piccola scatola Linux da Amazon Web Services, Google Cloud Platformo Microsoft Azure, tutti dotati di livelli gratuiti. Questo server non deve essere abbastanza potente per ospitare il server Minecraft: inoltra semplicemente la connessione per te. Ciò ti consente di fornire l’indirizzo IP del server proxy invece del tuo.

Supponiamo che qualcuno voglia connettersi al tuo server, quindi digita l’indirizzo IP del tuo proxy AWS nel suo client Minecraft. Un pacchetto viene inviato al proxy sulla porta 25565 (la porta predefinita di Minecraft). Il proxy è configurato per abbinare il traffico della porta 25565 e inoltrarlo al router di casa. Questo accade dietro le quinte: la persona che si connette non lo sa nemmeno.

Il router di casa deve quindi essere inoltrato alla porta per inoltrare ulteriormente la connessione al PC effettivo. Il tuo PC esegue il server e risponde al pacchetto del client. Lo inoltra al proxy, quindi il proxy riscrive il pacchetto per far sembrare che il proxy sia quello che risponde. Il client non ha idea di ciò che sta accadendo e pensa semplicemente che il proxy sia il sistema che esegue il server.

È come aggiungere un altro router davanti al server nello stesso modo in cui il router di casa protegge il computer. Questo nuovo router, tuttavia, funziona su Amazon Web Services e ottiene la mitigazione DDOS a livello di trasporto completo che viene fornita gratuitamente con ogni servizio AWS (chiamato AWS Shield). Se viene rilevato un attacco, viene mitigato automaticamente senza disturbare il server. Se per qualche motivo non viene interrotto, puoi sempre disattivare l’istanza e interrompere la connessione a casa tua.

Per gestire il proxy, si utilizza un’utilità chiamata sslh. È inteso per il multiplexing di protocollo; se volessi eseguire SSH (di solito la porta 22) e HTTPS (porta 443) sulla stessa porta, avresti dei problemi. sslh si trova in primo piano e reindirizza le porte alle applicazioni previste, risolvendo questo problema. Ma lo fa a livello di livello di trasporto, proprio come un router. Ciò significa che possiamo abbinare il traffico di Minecraft e inoltrarlo al tuo server di casa. sslh è, per impostazione predefinita, non trasparente, il che significa che riscrive i pacchetti per nascondere il tuo indirizzo IP di casa. Ciò rende impossibile a chiunque annusarlo con qualcosa di simile Wireshark.

Crea e connettiti a un nuovo VPS

Per iniziare, hai configurato il server proxy. Questo è decisamente più facile da fare se hai esperienza con Linux, ma non è necessario.

Vai a Amazon Web Services e crea un account. Devi fornire i dati della tua carta di credito o di debito, ma solo per impedire alle persone di creare account duplicati; non ti viene addebitato l’istanza che stai creando. Il livello gratuito scade dopo un anno, quindi assicurati di disattivarlo una volta terminato. Google Cloud Platform ha un’istanza f1-micro sempre disponibile gratuitamente se preferisci usarla. Google offre anche un credito di $ 300 per un anno, che potresti effettivamente utilizzare per eseguire un server cloud appropriato.

AWS fa pagare un po ‘per la larghezza di banda. Ottieni 1 GB gratis, ma sei tassato $ 0,09 per GB per qualsiasi cosa oltre. Realisticamente, probabilmente non lo esaminerai, ma tienilo d’occhio se vedi un addebito di 20 centesimi sul tuo conto.

Dopo aver creato il tuo account, cerca “EC2”. Questa è la piattaforma del server virtuale di AWS. Potrebbe essere necessario attendere un po ‘affinché AWS abiliti EC2 per il tuo nuovo account.

genere

Dalla scheda “Istanze”, seleziona “Avvia istanza” per visualizzare la procedura guidata di avvio.

Clic

È possibile selezionare l’impostazione predefinita “Amazon Linux 2 AMI” o “Ubuntu Server 18.04 LTS” come sistema operativo. Fai clic su Avanti e ti verrà chiesto di selezionare il tipo di istanza. Seleziona t2.micro, che è l’istanza di livello gratuito. Puoi eseguire questa istanza 24 ore su 24, 7 giorni su 7 con il livello gratuito di AWS.

Selezionare

Seleziona “Rivedi e avvia”. Nella pagina successiva, seleziona “Avvia” e vedrai la finestra di dialogo di seguito. Fai clic su “Crea una nuova coppia di chiavi”, quindi su “Scarica coppia di chiavi”. Questa è la tua chiave di accesso all’istanza, quindi non perderla: mettila nella cartella Documenti per conservarla. Dopo il download, fai clic su “Avvia istanze”.

  Clic

Sei riportato alla pagina delle istanze. Cerca l’IP pubblico IPv4 della tua istanza, che è l’indirizzo del server. Se lo desideri, puoi configurare un IP elastico AWS (che non cambierà durante i riavvii) o anche un nome di dominio gratuito con dot.tk, se non vuoi continuare a tornare su questa pagina per trovare l’indirizzo.

Cerca l'IP pubblico IPv4 della tua istanza.

Salva l’indirizzo per dopo. Innanzitutto, devi modificare il firewall dell’istanza per aprire la porta 25565. Dalla scheda Security Groups, seleziona il gruppo che la tua istanza sta utilizzando (probabilmente launch-wizard-1), quindi fai clic su “Edit”.

Clicca il

Aggiungi una nuova regola TCP personalizzata e imposta l’intervallo di porte su 25565. L’origine deve essere impostata su “Ovunque” o su 0.0.0.0/0.

Aggiungi una nuova regola TCP personalizzata e imposta l'intervallo di porte su 25565. L'origine deve essere impostata su 0.0.0.0/0 (o

Salva le modifiche e gli aggiornamenti del firewall.

Ora andremo a SSH nel server per configurare il proxy; se sei su macOS / Linux, puoi aprire il tuo terminale. Se sei su Windows, devi usare un client SSH, come PuTTY o installa il sottosistema Windows per Linux. Consigliamo quest’ultimo, poiché è più coerente.

La prima cosa che dovresti fare è cd nella cartella dei documenti dove si trova il file di chiavi:

cd ~/Documents/

Se stai utilizzando Windows Subsystem per Linux, l’unità C si trova in / mnt / c / e devi eseguire il cd nella cartella dei documenti:

cd /mnt/c/Users/username/Documents/

Usa il flag -i per dire a SSH che vuoi usare il file di chiavi per connetterti. Il file ha un’estensione .pem, quindi dovresti includere che:

ssh -i keyfile.pem [email protected]

Sostituisci “0.0.0.0” con il tuo indirizzo IP. Se hai creato un server Ubuntu anziché AWS Linux, connettiti come utente “ubuntu”.

Dovresti avere accesso e vedere la modifica del prompt dei comandi nel prompt del server.

Configura SSLH

Vuoi installare sslh dal gestore dei pacchetti. Per AWS Linux, sarebbe yum, per Ubuntu, usi apt-get. Potrebbe essere necessario aggiungere il repository EPEL su AWS Linux:

sudo yum install epel-release
sudo yum install sslh

Una volta installato, apri il file di configurazione con nano:

nano /etc/default/sslh

Modificare il parametro RUN = in “yes”:

UN

Sotto l’ultima riga DAEMON, digita quanto segue:

DAEMON_OPTS="--user sslh --listen 0.0.0.0:25565 --anyprot your_ip_address:25565 --pidfile /var/run/sslh/sslh.pid

Sostituisci “your_ip_address” con il tuo indirizzo IP di casa. Se non conosci il tuo IP, cerca “Qual è il mio indirizzo IP?” su Google, sì, sul serio.

Questa configurazione fa in modo che il proxy sslh sia in ascolto su tutti i dispositivi di rete sulla porta 25565. Sostituiscilo con un numero di porta diverso se il tuo client Minecraft usa qualcosa di diverso o giochi a un gioco diverso. Di solito, con sslh, abbini protocolli diversi e li installi in luoghi diversi. Per i nostri scopi, tuttavia, vogliamo semplicemente abbinare tutto il traffico possibile e inoltrarlo a your_ip_address: 25565.

Premi Ctrl + X, quindi Y per salvare il file. Digita quanto segue per abilitare sslh:

sudo systemctl enable sslh
sudo systemctl start sslh

Se systemctl non è disponibile sul tuo sistema, potresti dover usare invece il comando service.

sslh dovrebbe ora essere in esecuzione. Assicurati che il tuo router di casa esegua il port forwarding e invii 25565 traffico al tuo computer. Potresti voler dare al tuo computer un indirizzo IP statico in modo che non cambi.

Per vedere se le persone possono accedere al tuo server, digita l’indirizzo IP del proxy in un file controllo dello stato online. Puoi anche digitare l’IP del tuo proxy nel tuo client Minecraft e provare a unirti. Se non funziona, assicurati che le porte siano aperte nei gruppi di sicurezza della tua istanza.