• Increase font size
  • Decrease font size
  • Default font size
  

MVPNetwork

  
The Most Valuable Pages Network: informazione e formazione nelle tecnologie
venerdì
18 mag
 
Home arrow Didattica 2 arrow Linux: sicurezza arrow 10 consigli di sicurezza - Lez. 1 di 2
 
10 consigli di sicurezza - Lez. 1 di 2
Scritto da Marco V. Principato (Roma - IT)   
sabato 11 agosto 2007
Indice articolo
10 consigli di sicurezza - Lez. 1 di 2
10 consigli di sicurezza - Hints 1/10

Hint n. 1 - Sorveglianza reciproca

Con il solo presupposto di essere entrambi in funzione, due server possono tenersi d'occhio l'uno con l'altro. Basta scriversi uno script PHP e installarlo su entrambi i server. Alla partenza, uno script chiede all'altro un qualsiasi valore che questo gli fornirà e ne attende la consegna tramite la funzione sleep(); se entro l'intervallo il valore arriva, lo script termina; altrimenti esegue una routine d'allarme e termina. L'altro farà esattamente lo stesso: una sorta di flip-flop informatico. Chiaramente, se uno dei due server si blocca, l'allarme non funzionerà. L'ostacolo può essere aggirato con altri due script che preventivamente verifichino, prima di far mettere in pausa i primi, se tutto è attivo.

Hint n. 2 - Verifica presenza rootkit

Se voi cercate di essere accorti, chi attacca la macchina non è da meno. Utilizzate l'elenco dei processi visualizzando anche il contenuto della directory /proc, oltre che solo il caro, vecchio ps: i rootkit con quest'ultimo non si vedono. La differenza del conteggio righe tra i due può essere d'aiuto. Si può fare così (fate copia e incolla):

ls -d /proc/* | grep [0-9] | wc -l; ps -ax | wc -l

Fatelo da una directory che non contenga nomi di file con numeri nel nome, altrimenti il conteggio è errato.

Hint n. 3 - Disattivazione interfacce USB e FireWire

Se non vi servono, agite: disattivatele nel BIOS, smontate le relative schede (se non sono su piastra madre) oppure ricompilate il kernel senza supporto USB e FireWire (chiamato anche 1394). Ci sono kernel (SuSE 9.3 e superiori ad esempio) dove il rilevamento dei supporti rimovibili è gestito a livello HAL (Hardware Abstraction Layer) pertanto c'è da seguire procedure più complesse. Comunque, se non potete proteggere l'accesso fisico alle macchine, è meglio farlo.

Hint n. 4 - Proteggere i file importanti con gli attributi

Ricordiamoci che esistono i comandi chattr, per impostarli e lsattr per vederli. L'attributo -i (immutable) rende permanenti gli attributi, anche per root. Con -a se ne possono solo aggiungere, ma non togliere. Lanciate chattr per scoprirli tutti...

Hint n. 5 - Servizi non necessari e insicuri

Come per Windows, impariamo a non tenere in funzione alcun daemon che non ci serva realmente. Un elenco di quelli che normalmente non sono indispensabili è ntalk, talk, time, discard, daytime, charges, echo. Preferiamo xinetd a inetd. Evitiamo assolutamente di usare rsh, rlogin e rcp: piuttosto, ci sono ssh e scp, che sono cifrati.

Hint n. 6 - Usare chroot per far girare programmi e servizi critici

Programmi critici come Mail e File Server sempre con chroot. Specialmente quelli hackerabili come ftpd:

chroot /library/ftp-pub/ftproot ftpd -o opzioni

Fatelo!

Hint n. 7 - Se non basta chroot, virtualizzare

Far girare daemon e programmi critici sotto chroot è già una discreta garanzia ma, ove non bastasse, esiste UML (User Mode Linux). Installatelo, se non c'è. Poi, per far girare una applicazione che ritenete rischiosa, fatelo da una qualsiasi directory lanciando prima il comando di UML linux. In questa directory ci dovrà essere la sottodirectory ./root_fs, che linux si aspetta. Qualunque cosa il programma faccia, non potrà andare oltre il suo ambiente virtuale.

Hint n. 8 - Cifratura Pen Drive

Bella invenzione, la Pen Drive, finché non ve la perdete, con dentro l'elenco delle password di tutto il CED scritto in un file TXT. Vi salvereste se utilizzaste LUKS (Linux Unified Key Setup). In molte distro già è presente, ma se non c'è installatelo. Per creare poi un container sulla chiavetta:

cryptsetup -c aes-cbc-essiv:sha256 -s 256 luksFormat /dev/sda1

Così, se ve la perdete, non ve ne importerà quasi nulla (a parte il costo della Pen Drive).

Hint n. 9 - Diritti ai singoli utenti

Con il comando visudo si edita il file dei diritti di sudo. Dentro ci trovate senz'altro:

root ALL=(ALL) ALL

ovvero onnipotenza di root. Volendo permettere a gianni di utilizzare il computer hiring.testdomain.net, basta aggiungere:

gianni hiring.testdomain.net=(ALL) ALL

se vogliamo che gianni possa usare il comando shutdown come fosse root su quel computer, inseriamo:

gianni hiring.testdomain.net=(root) /sbin/shutdown

Comodo, no?

Hint n. 10 - Backup, backup, backup

Non fidatevi dei backup locali. Se avete server centrali, usateli. In questo rsync può essere di grande aiuto, specie inserendolo in uno script chiamato spegni, che lo lancia prima di eseguire lo shutdown. Posto voi siate aldo e che il server che usate si chiami serverone, inserite questa riga prima di quella con shutdown:

rsync -az /home/aldo serverone:/backups/home/aldo

Dormirete sonni molto più tranquilli.

 


 

E con questo concludiamo la prima serie di Hints (che vuol dire consigli o suggerimenti, per chi non lo sapesse). Vi suggeriamo di stamparveli e collocarli nella cartella di lavoro: possono servire in qualunque momento.

Condividere questa pagina su:
Digg!Segnala su Segnalo.com!Segnala su OK Notizie!Del.icio.us!Google!Live!Technorati!Furl!Yahoo!


 

 
 
 

Google Immagini


Immagini tra i volti:


Immagini nelle news: