Se avete server Linux nel vostro data center o sono ospitati su un server cloud (come AWS, Google Cloud, o Azure), non si può assumere, semplicemente a causa del sistema operativo che avete implementato, che siano sicuri. Anche se Linux è uno dei sistemi operativi più sicuri sul mercato, non è perfetto. Infatti, c’è stato un aumento degli attacchi alla piattaforma, che continuerà ad aumentare man mano che Linux guadagnerà ancora più popolarità.
Che cosa fai?
Quando sospettate che uno dei vostri server possa essere sotto attacco, dovete controllarlo. Ma come? In questo pezzo vi mostrerò alcuni comandi che possono aiutarvi a discernere se il vostro server è stato colpito da un attacco denial of service (DoS), che proviene da un singolo indirizzo IP e tenta di paralizzare un sito web per rendere il suo server inaccessibile. C’è un’altra forma di questo attacco, il distributed denial of service (DDoS), che proviene da più fonti.
Scopriamo come capire se il vostro server Linux è un obiettivo di un attacco DoS.
SEE: Politica di protezione contro il furto d’identità (TechRepublic Premium)
Di cosa avrete bisogno
Le uniche cose di cui avrete bisogno per questo sono un’istanza di Linux e un utente con privilegi sudo. Farò una dimostrazione su Ubuntu Server 20.04.
Come installare netstat
Useremo lo strumento netstat per scoprire quali indirizzi IP sono attualmente connessi al tuo server. Per installare netstat su Ubuntu, in realtà si installa net-tools, così:
sudo apt-get install net-tools -y
Se state usando CentOS o un’installazione basata su Red Hat, netstat dovrebbe essere già installato.
Come controllare il carico del server
La prima cosa che faremo è controllare il carico del nostro server. Il comando che useremo per questo restituirà il numero di processori logici (thread). Su un server, questo numero dovrebbe essere abbastanza basso, ma dipende da cosa avete in esecuzione. Dovreste assicurarvi di eseguire una linea di base per questo numero, quando sapete che tutto è a posto. Se sospettate che stia succedendo qualcosa, eseguite di nuovo il controllo dei thread e confrontatelo.
Per controllare il numero di processori logici, esegui il comando:
grep processor /proc/cpuinfo | wc -l
Se questo numero è significativamente più alto della tua linea di base, potresti avere un problema.
Per esempio, sul mio desktop Pop!_OS, ho 16 thread, ma su un server Ubuntu che ospita Nextcloud, ne ho solo due. Se uno di questi numeri dovesse raddoppiare, potrei essere sotto un attacco DDoS.
Come controllare il carico di rete
Vogliamo poi controllare il nostro carico di rete. Ci sono un certo numero di strumenti con cui puoi farlo, ma io scelgo nload. Per installare nload, esegui il comando:
sudo apt-get install nload -y
Su CentOS il comando sarebbe:
sudo dnf install nload -y
Per eseguire lo strumento, è sufficiente eseguire il comando:
nload
Si dovrebbe vedere un carico di rete in entrata e in uscita abbastanza normale (Figura A).
Figura A
Se questo carico è considerevolmente più alto di quanto crediate, potreste essere sotto attacco.
Come scoprire quali indirizzi IP sono connessi al tuo server
La prossima cosa che vorrai fare è scoprire quali indirizzi IP sono connessi al tuo server. Per questo, useremo netstat in questo modo:
netstat -ntu|awk '{print }'|cut -d: -f1 -s|sort|uniq -c|sort -nk1 -r
L’output del comando di cui sopra elencherà ogni indirizzo IP che è connesso al server e quante istanze da ciascuno. Come potete vedere, ho due indirizzi IP che si collegano al mio server (uno tre volte) (Figura B).
Figura B