Il forum è in modalità sola lettura dal 16 giugno 2019, ora siamo su Discord. Altre informazioni

[Guida] Creare protezione DDos & Anti-Bot minecraft server

[Immagine: antiddos_big.png]


●● Introduzione
Benvenuto nella mia prima guida su mc-ita, oggi sono qui per spiegarvi come creare un ottimo Anti-DDos per proteggervi da tutti coloro che si sentono fighi dicendo "Ti dossho sono un hacker paxxerello". Ecco finalmente potrete proteggervi da questi tizzi e stare tranquilli una volta per tutte. La guida può sembrare difficile, ma non è niente di tutto questo, leggete bene tutto e riuscirete pure voi a proteggervi, alla fine vi garantisco che sembrerà una vera e propria barzelletta.
Bene incominciamo con la guida! ►

●● Come funziona ?
Allora c'è da dire che il funzionamento è davvero semplice, ma sopratutto "efficace"! Praticamente il player si collegherà a random su uno devi nostri server VPS FIREWALL che abbiamo comprato e configurato, quindi avremo disponibili 2-3 Server di accesso invece di 1 unico server di accesso, che tra l'altro quel 1 è il server principale. Firewall in italiano significa "Muro di fuoco", quindi questo muro che abbiamo creato riuscirà senz'altro a bloccare la maggior parte dei ddos, l'acqua invece rappresenta il DDos, ovviamente se l'acqua è più del fuoco riuscirà a buttare giù il nostro "muro di fuoco" e quindi riuscirà a mandare off i nostri Firewall. Quindi siamo spacciati lo stesso ? no non siete spacciati, se volete sconfiggere l'acqua dovrete aumentare i VPS e il muro sarà più grande e difficoltoso da buttare giù.


●● Quanto può costare € ?
Bene, adesso parleremo del prezzo e dei vari costi per creare un firewall di tipo "base" o di tipo "avanzato($)". Se volete creare un firewall giusto perché volete stare al sicuro, potete scamparvela con 5 euro poiché i prezzi sul mercato permetto di comprare VPS a poco prezzo (OVH) con protezione anti-ddos già installata; Quindi avrete 2 VPS FIREWALL al prezzo di circa 5 Euro.
Se invece volete farvi una configurazione anti-ddos pro abbastanza potente dovrete spendere all'incirca 35 Euro, prendendo 3 server VPS CLOUD (12 Euro l'uno); Ovviamente se volete maggiore protezione potete arrivare anche fino a 50.000 euro, ma credo che sia inutile, anche perché 3 server VPS CLOUD che hanno protezione ddos integrata sono il top, poi ovviamente dipende dalle vostre esigenze.

●● Prima di iniziare
Volevo dirvi che prima di incominciare se avete un server tutt'ora sotto attacco DDos, probabilmente il NEMICO avrà il vostro IP salvato in un file notepad o meglio ancora se lo ricorda filo e per segno. Quindi a fine mese, allo scadere del vostro server principale, compratene un'altro e passatelo lì, riuscirete a cambiare IP e stare sicuri, anche perché se alzate la protezione firewall, sicuramente riuscirà a buttarvi giù lo stesso, proprio perché ha l'IP madre. Nel frattempo vi consiglio di incominciare a configurare questa protezione ddos in quanto potrebbe capitare che sia uno sbadato o abbia dimenticato/perso il vostro IP.



█ Requisiti minimi
  • Budget 5 Euro (minimo)
  • 2 server VPS, anche se consiglio i Cloud ma costano sei volte tanto (dipende dal vostro budget)
  • Sistema Operativo Linux
  • Domino ospitato preferibilmente da un web hosting che può gestire i Record SRV



█ Requisiti raccomandati
  • Budget 35 Euro circa (anche più)
  • 3 VPS cloud ospitati preferibilmente su OVH (Hanno protezione ddos!)
  • Sistema Operativo Linux
  • Domino ospitato preferibilmente da un web hosting che può gestire i Record SRV

[Immagine: ddos2.png]


[Immagine: Location-Map-icon.png] OVH - Settings Firewall [leggete questo campo, solo se utilizzate OVH come host]*



[Immagine: Location-Map-icon.png] Procedimento n°1 - Chiudiamo le porte
[Immagine: Location-Map-icon.png] Procedimento n°2 - Installiamo TCPtunnel
[Immagine: Location-Map-icon.png] Procedimento n°3 - Configuriamo il dominio



[Immagine: Location-Map-icon.png] Anti-Brute force | Cambiamo la porta SSH (22)
[Immagine: Location-Map-icon.png] ANTI-BOT | Proteggerci dai bot (NEW)
(Modificato 02/06/2016, 15:40 da SalvoJKD.)
Ho imparato a volare dopo che mi hanno spezzato le ali
14 utenti apprezzano questo post
Mettete BungeeCord al posto di TCPTunnel e potrete avere gli ip reali dei player. 


Ottima guida Smile

(Ti ho modificato il [code] del config di tcptunnel perchè c'era un bbcode messo male, però non ho cambiato la sostanza)
[Immagine: MdDbKyN.png]
1 utente apprezza questo post
05/06/2014, 21:47xPeppe ha scritto: Mettete BungeeCord al posto di TCPTunnel e potrete avere gli ip reali dei player. 


Ottima guida Smile

Grazie mille Smile

MM non vorrei direi qualcosa di sbagliato, anche perché non ho provato, ma usando qualche programma (non dico nomi) mi sembra si possa arrivare all'indirizzo IP reale, il tcptunneling a mio parere è più sicuro, ma ripeto, non ho testato con bungeecord. Più in là farò una guida con il greetunnel che rileva i veri indirizzi IP.
Ho imparato a volare dopo che mi hanno spezzato le ali
05/06/2014, 21:52TheGames ha scritto:
05/06/2014, 21:47xPeppe ha scritto: Mettete BungeeCord al posto di TCPTunnel e potrete avere gli ip reali dei player. 


Ottima guida Smile

Grazie mille Smile

MM non vorrei direi qualcosa di sbagliato, anche perché non ho provato, ma usando qualche programma (non dico nomi) mi sembra si possa arrivare all'indirizzo IP reale, il tcptunneling a mio parere è più sicuro, ma ripeto, non ho testato con bungeecord. Più in là farò una guida con il greetunnel che rileva i veri indirizzi IP.

@TheGames essendo una delle poche guide fatte veramente bene, te la metto in rilievo!

Complimenti ancora, se vuoi qualche chiarimento su quella roba che dici contattami pure via MP o Skype Smile
[Immagine: MdDbKyN.png]
1 utente apprezza questo post
05/06/2014, 21:55xPeppe ha scritto:
05/06/2014, 21:52TheGames ha scritto:
05/06/2014, 21:47xPeppe ha scritto: Mettete BungeeCord al posto di TCPTunnel e potrete avere gli ip reali dei player. 


Ottima guida Smile

Grazie mille Smile

MM non vorrei direi qualcosa di sbagliato, anche perché non ho provato, ma usando qualche programma (non dico nomi) mi sembra si possa arrivare all'indirizzo IP reale, il tcptunneling a mio parere è più sicuro, ma ripeto, non ho testato con bungeecord. Più in là farò una guida con il greetunnel che rileva i veri indirizzi IP.

@TheGames essendo una delle poche guide fatte veramente bene, te la metto in rilievo!

Complimenti ancora, se vuoi qualche chiarimento su quella roba che dici contattami pure via MP o Skype Smile

Ok, quando ho tempo penso proverò, grazie 1000! Lode
Ho imparato a volare dopo che mi hanno spezzato le ali
@TheGames hai copiato dal mio server :3 ..... Grande Bro !
RLoad.eu
Blog e Forum sul mondo dell'informatica 
______________________________________________________________________

https://rload.eu - info@rload.eu
mc.rload.eu - ts.rload.eu
2 utenti apprezzano questo post
Bella guida, ma se non bindi tcptunnel dovrebbe tornarti gli ip dei client, poi per proteggere i servers backend credo si possa usare il MASQUERADE direttamente su le vps che fanno da frontend/balancer, o sbaglio? Non ricordo se tcptunnel crea una device tun/tap, potresti non bindare e forwardare alla tun/tap come una configurazione di nat casereccia e poi masquerare tutto sulla interfaccia publica, o dico cazzate?
La cosa che ho sempre trovato **** di tcptunnel e' che in caso di fallimento il tunnel si ristabilisce appena torna il collegamento, a differenza dei tunnels ssh, rendendolo il tool piu' vicino a una vera e propria vpn ma non lo ho mai usato tanto personalmente ( in ambito lavorativo si, ma in ambito minecraft avendo un solo server non lo ho mai usato ).
Un'altra cosa che uso e' il modulo TARPIT di iptables sulle porte standard sulla 80 ( e' solo tcp quindi inutile sulla 22, ma per quella ci sono altri metodi ), monitorata insieme alla 22 con fail2ban, in caso qualcuno bussa fail2ban fa ip route add blackhole ipoffendente + email al sottoscritto e ad apache ci accedo solo in tunnel ssh su una porta non standard.
Investighero' un po sul tuo metodo, vediamo se in postrouting il masquerading funziona davvero.
Aggiungi di cambiare le porte standard di ssh e cambiare l'alias default di phpmyadmin nel caso qualcuno lo abbia, a prescindere anche se il server e' "protetto". Wink
"Smettiamo di giocare perchè cresciamo o cresciamo perchè smettiamo di giocare? Game on birtches!"
2 utenti apprezzano questo post
05/06/2014, 22:29Fantazzini4Ever ha scritto: Bella guida, ma se non bindi tcptunnel dovrebbe tornarti gli ip dei client, poi per proteggere i servers backend credo si possa usare il MASQUERADE direttamente su le vps che fanno da frontend/balancer, o sbaglio? Non ricordo se tcptunnel crea una device tun/tap, potresti non bindare e forwardare alla tun/tap come una configurazione di nat casereccia e poi masquerare tutto sulla interfaccia publica, o dico cazzate?
La cosa che ho sempre trovato **** di tcptunnel e' che in caso di fallimento il tunnel si ristabilisce appena torna il collegamento, a differenza dei tunnels ssh, rendendolo il tool piu' vicino a una vera e propria vpn ma non lo ho mai usato tanto personalmente ( in ambito lavorativo si, ma in ambito minecraft avendo un solo server non lo ho mai usato ).
Un'altra cosa che uso e' il modulo TARPIT di iptables sulle porte standard sulla 80 ( e' solo tcp quindi inutile sulla 22, ma per quella ci sono altri metodi ), monitorata insieme alla 22 con fail2ban, in caso qualcuno bussa fail2ban fa ip route add blackhole ipoffendente + email al sottoscritto e ad apache ci accedo solo in tunnel ssh su una porta non standard.
Investighero' un po sul tuo metodo, vediamo se in postrouting il masquerading funziona davvero.
Aggiungi di cambiare le porte standard di ssh e cambiare l'alias default di phpmyadmin nel caso qualcuno lo abbia, a prescindere anche se il server e' "protetto". Wink

Si è sicuro vai  tranquillo, Wink

Per quanto riguardo la porta 22, ho aggiunto come fare per modificarla, facciamo sudare sti lamerini Smile
Ho imparato a volare dopo che mi hanno spezzato le ali
E' un altra cosa, cambiare la porta di ssh non solo evita i bruteforce ma evita anche il ddos di ssh, ci sono in giro attrezzi che cominciano a instaziare migliaia login a ssh, ovviamente invalidi e senza chiudere l'handshake, per far generare pacchetti di risposta al tuo server e quindi saturarti la banda (ddos).
"Smettiamo di giocare perchè cresciamo o cresciamo perchè smettiamo di giocare? Game on birtches!"
1 utente apprezza questo post
05/06/2014, 22:29Fantazzini4Ever ha scritto: Bella guida, ma se non bindi tcptunnel dovrebbe tornarti gli ip dei client, poi per proteggere i servers backend credo si possa usare il MASQUERADE direttamente su le vps che fanno da frontend/balancer, o sbaglio? Non ricordo se tcptunnel crea una device tun/tap, potresti non bindare e forwardare alla tun/tap come una configurazione di nat casereccia e poi masquerare tutto sulla interfaccia publica, o dico cazzate?
La cosa che ho sempre trovato **** di tcptunnel e' che in caso di fallimento il tunnel si ristabilisce appena torna il collegamento, a differenza dei tunnels ssh, rendendolo il tool piu' vicino a una vera e propria vpn ma non lo ho mai usato tanto personalmente ( in ambito lavorativo si, ma in ambito minecraft avendo un solo server non lo ho mai usato ).
Un'altra cosa che uso e' il modulo TARPIT di iptables sulle porte standard sulla 80 ( e' solo tcp quindi inutile sulla 22, ma per quella ci sono altri metodi ), monitorata insieme alla 22 con fail2ban, in caso qualcuno bussa fail2ban fa ip route add blackhole ipoffendente + email al sottoscritto e ad apache ci accedo solo in tunnel ssh su una porta non standard.
Investighero' un po sul tuo metodo, vediamo se in postrouting il masquerading funziona davvero.
Aggiungi di cambiare le porte standard di ssh e cambiare l'alias default di phpmyadmin nel caso qualcuno lo abbia, a prescindere anche se il server e' "protetto". Wink

Purtroppo il MASQUERADE come il TCPTunnel maschera gli IP e li sostituisce con quello suo, l'unica soluzione per passare gli IP é o un tunnel GRE o mettere direttamente Bungercord sui vari vps e sincronizzare le istanze bungeecord con RedisBungee o simili.
[Immagine: MdDbKyN.png]
Ho due domande non inerenti alla guida (però posso dire che è veramente ben fatta): te hai pubblicato la guida sotto CC BY-SA, ma vedendo sotto il sito è sotto CC BY-NC-ND. Non capisco quali contenuti mette sotto l'ultima licenza; la tua guida è tua o diventa del sito quando la pubblichi la prima volta qui? Perchè hai fatto una guida non sulla sezione guide?

Una domanda sulla guida: questa protezione mi rallenta i giocatori o non percepiscono niente?
Beh, e quando ti buttano giù il firewall, che fai? Avere le porte chiuse non significa essere protetti, al massimo non ti butteranno giù il server principale, non sapendo l'ip. Un buon firewall dovrebbe avere almeno 10 gbit/s di connessione, ne vendono a posta, ma costano una barca di soldi, e non si è comunque protetti al 100%.

Inviato dal cesso usando Tapatalk
bella guida complimenti, SoYouStart ha già antiddos illimitato Wink

ovh cloud a partire da €501.00 ! wow da acquistare al volo XD (Modificato 06/06/2014, 09:45 da gamerover98.)
06/06/2014, 09:22LelixSuper ha scritto: Ho due domande non inerenti alla guida (però posso dire che è veramente ben fatta): te hai pubblicato la guida sotto CC BY-SA, ma vedendo sotto il sito è sotto CC BY-NC-ND. Non capisco quali contenuti mette sotto l'ultima licenza; la tua guida è tua o diventa del sito quando la pubblichi la prima volta qui? Perchè hai fatto una guida non sulla sezione guide?

Una domanda sulla guida: questa protezione mi rallenta i giocatori o non percepiscono niente?

Per la guida puoi pubblicarla da altre parti, ma basta che metti le fonti e può essere usata anche per scopi commerciali. (ho dato una lettura ieri al sito di creativecommon, quindi non sono certo :S)
No no no, assoulutamente no. Io ancora non ho rilevato problemi di lagg a causa di questo firewall quindi posso dirti che va bene

06/06/2014, 09:37stokdam ha scritto: Beh, e quando ti buttano giù il firewall, che fai? Avere le porte chiuse non significa essere protetti, al massimo non ti butteranno giù il server principale, non sapendo l'ip. Un buon firewall dovrebbe avere almeno 10 gbit/s di connessione, ne vendono a posta, ma costano una barca di soldi, e non si è comunque protetti al 100%.

Inviato dal cesso usando Tapatalk

Se buttano giù il firewall, "SE" aumenti i VPS e blocchi gli ip con GEOIP + IPtables, ma questa guida la farò più in là visto che devo testare ancora questo metodo... comunque è logico che se vuoi un super firewall devi sganciare i super soldi :| , per 5 euro non è male vedi..

06/06/2014, 09:39gamerover98 ha scritto: bella guida complimenti, SoYouStart ha già antiddos illimitato Wink

ovh cloud a partire da €501.00 ! wow da acquistare al volo XD
Si lo ha illimitato*, ma se fanno cadere il server principale ? fanne attaccare 2-3 di server con protezione anti-ddos prima di buttarti giù veramente, devono buttare giù 3 server al posto di 1, vedi come si stancano Smile (Modificato 06/06/2014, 11:22 da SalvoJKD.)
Ho imparato a volare dopo che mi hanno spezzato le ali
Allora...

Prima cosa, usare ufw al di sopra di iptables è come montare il motore di un'ape su una ferrari. Si, è facile da configurare, ma non ti permette di fare un VERO anti-dos: infatti iptables lavora a livello di kernel, e quindi è molto più veloce di programmi esterni, ed ufw ti impedisce di usare tutte le potenzialità di esso.

Seconda cosa, la "protezione" che te consigli serve solo a mitigare (non si può prevenire un attacco DoS) gli attacchi che puntano a saturare la banda. Se io invece di saturarti una banda faccio un DoS che punta a saturare il livello 7 del tcp (aka: l'applicazione), per esempio richiedendoti una pagina php/python/??? che esegue query pesanti sul database la tua protezione non fa niente.
Inoltre con attacchi di tipo slowris riesco anche a riempire tutti gli "slot" dediti alle connessioni, bypassando la tua protezione.

Poi trovo che l'usare TCPtunnel (che lavora al di sopra del kernel) invece del DNAT offerto da iptables a livello di kernel (per @Fantazzini4Ever, il MASQUERADE è utile solo se hai un'IP dinamico, altrimenti è più veloce SNAT/DNAT) rallenti solo le connessioni. E se proprio non si vuole usare iptables è più consono effettuare l'SSH tunnelling.

Qualche consiglio ora...

Cambiare la porta di ssh non ha una vera utilità, per evitare il bruteforce basta evitare di usare password e invece utilizzare le chiavi ssh (che offrono anche molta più sicurezza).
Inoltre se proprio si è paranoici si può inserire all'interno di iptables una regola che abilita solo connessioni da certi IP (se si ha un'ip statico) o da certi MAC (è bypassabile abbastanza facilmente, ma almeno è una scocciatura per chi attacca andarsi a scoprire il tuo MAC e cambiarlo...).

Per mitigare il SYN flood (aka: aprire tante connessioni senza concludere l'handshake) si può mettere una regola iptables che mette un limite al numero di SYN che si possono ricevere al secondo (attivabile tramite il modulo limit), ed è meglio aggiungere anche delle regole per impedire di inviare nuovi SYN se ci sono ancora troppi SYN pendenti tramite il modulo recent.

Per impedire lo slowris è necessario cambiare web server con uno non vulnerabile (apache2 è vulnerabile, mentre nginx/lighttpd ed altri no).

Per impedire la saturazione di banda devi avere (appunto) molta banda a disposizione, o più firewall (come consigli). A questo proposito sceglierei un provider che offra la creazione e la distruzione dei VPS tramite delle API, in modo da poter creare automaticamente tanti server quanti te ne servono, ed eliminarli quando il DoS è finito.

Per mitigare il DoS a livello applicazione o metti un limite di pacchetti a secondo oppure sviluppi script che controllano se si sta effettuando un DoS (in caso di ambienti più complessi).
1 utente apprezza questo post
Discussioni simili
 
2 720
Risposta di AEndrix
04/02/2019, 00:24
 
[Risolto] pvp bot
1 272
Risposta di DarkEscape_
31/01/2019, 17:52
Risposta di ReNext
23/08/2018, 00:22
Risposta di xPepeTo
18/07/2018, 09:00

Utente(i) che stanno guardando questa discussione: 1 Ospite(i)