Guida Creare protezione DDos & Anti-Bot

Stato
Discussione chiusa ad ulteriori risposte.

Samaritan

Utente Palladium
11 Agosto 2011
4,476
272
342
1,476
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
ddos2.png
Location-Map-icon.png
OVH - Settings Firewall [leggete questo campo, solo se utilizzate OVH come host]*

Collegatevi al sito http://www.ovh.com/manager e successivamente loggate con i vostri dati di ovh.it, successivamente andate sulla sezioneDedicato e cliccate su IP e poi cliccando sopra la rotellina andate su Configura il Firewall

Firewall_1.png


Entrati nella pagina di configurazione del firewall applicate le seguenti regole come da screen

Firewall_2.png



Attenzione con queste regole, il browser internet non vi funzionerà!

Location-Map-icon.png
Procedimento n°1 - Chiudiamo le porte

1) Scegliere e installare il sistema operativo (linux) in tutti i nostri VPS, questo lo dovrete fare quando procedete con l'acquisto del vostro server.
2) Installiamo su tutti i VPS che abbiamo comprato un firewall che blocca le PORTE principali aperte come la: 80,25565, etc..

Codice:
sudo apt-get install ufw

3) Apriamo le porte che desideriamo, da notare: la porta 26985 cambiatela come vi pare, non impostate la porta 25565 perché sanno tutti che è la porta predefinita di tutti i server minecraft, dovranno sudare per sgamarcele (ci sono metodi ma non li dico)

Codice:
sudo ufw allow 22/tcp


sudo ufw allow 26985

sudo ufw default deny

sudo ufw enable

4) Abbiamo installato il nostro Firewall senza usare Iptables, quindi niente di così complicato, anche se sarebbe opportuno usare IpTables in questi casi, ma rendiamo le cose semplicizzate.


Location-Map-icon.png
Procedimento n°2 - Installiamo TCPtunnel

1) Adesso che abbiamo installato il nostro semplice firewall incominciamo a configurare il nostro TCPTUNNEL quindi per installarlo eseguiamo questi comandi:

Codice:
sudo apt-get install git


sudo apt-get install make

git clone https://github.com/vakuum/tcptunnel.git

cd tcptunnel

./configure

sudo apt-get install make

make

2) Installiamo il programma Screen

Codice:
sudo apt-get install screen

3) Creiamo all'interno della cartella tcptunnel un file start.sh

Codice:
touch start.sh

4) Incolliamoci la nostra configurazione

local-port: indica la porta locale aperta sul nostro VPS

remote-port: indica la porta del nostro server minecraft (in questo caso 26985, ma cambiatela possibilmente) a cui collegarsi tramite un tcptunneling (quindi senza svelare l'IP del vero server)

bind-adress: L'IP del nostro VPS


Codice:
tcptunnel \
--local-port=26985 \
--remote-port=[font=Monaco, Consolas, Courier, monospace]26985[/font] \
--remote-host=88.888.88.8 \
--bind-address=77.777.77.7 \
--fork \
--stay-alive

5) Avviamo il nostro programma per verificare se funziona correttamente con il comando

Codice:
screen sh start.sh

Chiudete il terminale dalla "X". Aprite Minecraft e aggiungete l'IP del VPS + la porta. Esempio: 77.777.77.7:26985 e verificate se riuscite ad entrare dal vps al nostro server reale. Se funziona correttamente possiamo passare al passo successivo.


Location-Map-icon.png
Procedimento n°3 - Configuriamo il dominio

1) Bene adesso che abbiamo completato con successo i primi 2 procedimenti, possiamo iniziare con la configurazione del nostro DOMINIO, per poterlo fare io personalmente consiglio OVH, anche perché lo uso da molto tempo ed è ottimo.
C'è anche da dire che non dovrete preoccuparvi perché utilizzerete un solo unico dominio per collegare tutti i vostri server Firewall (vps).

2) Adesso creiamo un record di tipo "A" , esempio: firewall1.vostroserver.com (mettete nomi diversi da firewall1 come 12d1c12.vostroserver.com, renderete la vita difficile ai meno esperti)

Selezione_004.png


3) Creiamo un record di tipo "SRV " per collegarlo al dominio principale

Selezione_003.png

4) Ripetete l'operazione dall'inizio alla fine per tutti i vostri server di protezione che avete acquistato.

5) Non date a nessuno l'IP originale del vostro server, altrimenti il firewall sarà bypassabile, e ricordatevi di cambiare sempre la porta di default per maggiore sicurezza!

6) Se l'operazione è andata a buon fine, adesso sei protetto al 99%! In casi estremi acquista più VPS e aumenta la tua protezione firewall in modo da dar vita difficile al lamer.

Location-Map-icon.png
Anti-Brute force | Cambiamo la porta SSH (22)

Questa è una guida che non c'entra con la precedente, non è necessario seguire questo punto, ma potrebbe esservi utile per evitare che qualcuno provi ad entrare nel vostro server o uno dei vostri server Firewall tentando di inserire password a caso, pre-programmate da un programma. E ovviamente per evitare che qualcuno provi a effettuare attacchi sulla porta 22 di default, un consiglio che vi do "cambiate sempre se possibile le porte di default".
Ovviamente voglio ricordare che prima di fare questa modifica di eseguire il comando sudo ufw allow nuovaportassh/tcp per aggiungere la nuova porta nella configurazione del firewall, perché potreste incorrere dei problemi di accesso.

1) Aprire il file di configurazione del servizio ssh, generalmente è /etc/ssh/sshd_config con l’editor preferito

Codice:
nano /etc/ssh/sshd_config

2) Cambiate il numero 22 con un numero desiderato. Esempio "2809" e salviamo

Codice:
Port 2809

3) Infine riavviamo con questo comando

Codice:
/etc/init.d/sshd restart

Se invece volete avere la massima sicurezza, potete optare ed utilizzare le chiavi SSH (https://help.ubuntu-it.org/8.10/ubuntu/serverguide/it/openssh-server.html GUIDA SUL LINK) per avere maggiore sicurezza, non spiego come si fa perché ci sono già guide in merito...; in caso contrario mettete una password sicura che non mettete da nessuna altra parte.


Location-Map-icon.png
ANTI-BOT | Proteggerci dai bot (NEW)

ATTENZIONE, QUESTO SISTEMA BLOCCA IL 50% DI CASI DI BOTTING, NON é AL 100% SICURO, DICIAMO CHE LIMITA POSSIBILI ATTACCHI BOT

Installate questo plugin che utilizza delle ottime* API : https://dev.bukkit.org/projects/easy-anti-join-bot-proxie
Ma sarete comunque vulnerabili da connessioni verificate e quindi dai singoli IP, aggiungete dalla macchina BUNGECOORD questa regola di iptables, così sarete pienamente protetti!
smile.gif


Codice:
iptables  -A INPUT -p tcp --syn --dport 25565 -m connlimit --connlimit-above 3 -j REJECT

Analizziamo parte della seguente stringa
____________________________________________________________________

iptables : Il programma iptables pre-installato nelle varie distribuzioni linux
-A : Aggiungi
-p : protocollo
--syn : è un tipo di protocollo
--dport : porta di destinazione
25565 : la porta di default di minecraft, se la vostra è diversa, dovete cambiare questo paramentro
--connlimit-above 3 : Collegamenti massimi da questo IP, che in questo caso è uguale a 3, potete diminuirlo o aumentarlo a vostro rischio e pericolo
-j REJECT : Interrompe le connessioni in base alla nostra condizione precedente

____________________________________________________________________

 
  • Mi piace
Reazioni: AlessioDP
Stato
Discussione chiusa ad ulteriori risposte.