Terza parte della guida sul potenziamento di un server o di un computer GNU/Linux. Nel resto dell’articolo si scoprirà come ci si può difendere da una grande parte degli attacchi dos, come si possono riconoscere eventuali rootkit e come funziona la “security through obscurity”.

Protezioni base contro attacchi DOS

Prevenire attacchi di tipo Denial Of Service o Distribuited Denial Of Service richiede un dispendio di risorse ed energie notevole, e fa parte delle politiche di sicurezza che dovrebbero esser create a monte.

Tuttavia in questo articolo ci sono alcuni utili suggerimenti per una prevenzione di base.

Il sistema syn cookies è l’unica difesa efficace contro il Syn Flooding , per implementarla sotto Linux è necessario abilitare le seguenti opzioni nel file /etc/sysctl.conf:

# Enable TCP SYN Cookie Protection 
net.ipv4.tcp_syncookies = 1

Sempre nello stesso file è possibile abilitare una protezione contro l’IP Spoofing attraverso il controllo dell’IP mittente , abilitare la seguente opzione:

	net.ipv4.conf.all.rp_filter = 1 

Mod_dosevasive è un modulo per Apache che permette di controllare le richieste HTTP verso determinate risorse( Vhost, pagine dinamiche ecc..) , e mettere in blacklist gli IP da cui provengono più pacchetti del dovuto in un lasso di tempo prestabilito.

E’ utile installarlo se il server ospiterà molti siti web.

Una semplice ed efficace configurazione del modulo è la seguente:

<IfModule mod_dosevasive.c> 
DOSHashTableSize 3097 

DOSPageCount 2 

DOSSiteCount 50 

DOSPageInterval 1 

DOSSiteInterval 1 

DOSBlockingPeriod 10 
</IfModule> 

Rootkit Detection

Ci sono alcuni software opensource leggeri e molto utili per determinare se i file del nostro SO sono stati compromessi e se vi è presenza di rootkit.

[ad#midarticlequadr]

TripWire, che conserva un database dei file di sistema con varie informazioni(dimensioni, nome, hashing ecc..) e lo confronta periodicamente per controllare eventuali manomissioni.

Rkhunter, uno “scanner di rootkit”, vediamo come installarlo.

#wget http://downloads.sourceforge.net/project/rkhunter/rkhunter/1.3.4/rkhunter-1.3.4.tar.gz
# tar -zxvf rkhunter-1.3.4.tar.gz
# cd rkhunter
# ./installer.sh

Per effettuare una prima scansione locale:

# /usr/local/bin/rkhunter -c

Avremo subito un quadro completo del Sistema con un elenco degli eventuali file compromessi, rootkit, warning.

Security through obscurity

Ogni servizio in genere lascia moltissime informazioni ai client circa il nome del software, la versione attuale , eventuali patch e moduli installati.

Sono indizzi che non devono essere lasciati.

Vediamo come rimuovere queste informazioni dai servizi in genere più utlizzati:

Apache: nel file di configurazione cambiare/aggiungere queste righe:

ServerTokens ProductOnly
ServerSignature Off

LightHttpd: In lighthttpd.conf :

server.tag = "Versione Nascosta."

Postfix: In Main.cf:

smtpd_banner = “Versione Nascosta.”

Bind: In named.conf.options :

Toshiba 4TB Canvio Basics Portable External Hard Drive,USB 3.2. Gen 1, Black (HDTB440EK3AA)

Version "Versione Nascosta";

Conclusione

Questa è una breve e pratica guida all’hardening di base di un sistema GNU/Linux, sono passi fondamentali da muovere, tuttavia l’argomento non è stato coperto nella sua interezza, essendo il campo dell’ IT Security vasto e dinamico l’invito è ad un approfondimento, aggiornamento e ricerca costante.

Di valent

1 commento su “Hardening Linux 3”

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *