Rendere sicura Debian (hardening)

Debian è un sistema operativo (OS) libero per il tuo computer.
Usando Debian si parte già da un sistema operativo sicuro, sia per il lungo periodo di debug a cui vengono sottoposti i pacchetti sia per le policy di base che la fondazione Debian adotta.
In questo articolo descriviamo in maniera semplice i passi da fare per rendere una nuova installazione più sicura e adatta a svolgere compiti quali firewall, web server, mail server, o semplicemente più sicura una postazione desktop. Per una lettura più approfondita vi riamndo al Securing Debian Manual.

Per inciso va detto che

Un computer con accesso in console non potrà mai essere un computer sicuro

Un computer collegato alla rete non potrà mai essere un computer sicuro

Iniziamo distinguendo 2 scenari che più spesso si presentano a un sistemista:

1) Sistema con accesso alla console cioè con un monitor mouse e tastiera e case accessibili.
Se non si tratta di una postazione desktop iniziamo disabilitando da BIOS tutte le periferche che non useremo, CDROM, porte USB, porte seriali, Irda, etc. Impostiamo come primo disco di avvio il disco su cui è installato il S.O.
Continuiamo a redere sicuro il sistema impostando una password di accesso al BIOS di almeno 6 caratteri alfanumerci casuali e non riconducibili alla ns persona.
Per non rendere vane le impostazioni eseguite su BIOS bisogna impedire l’accesso alla batteria tampone situata sulla scheda madre. Molti case hanno una chiave che ne bloccano l’apertura di un fianco, quindi chiudere il case e riporre la chiave in luogo sicuro e lontano dal sistema. Per quei case che non prevedono la chiave per chiudere il case si può ricorrere a dei rivetti bloccando le aperture laterali.
2) Sistema privo di accesso in console e case non immediatamente accessible (es una VM).
Impostiamo come primo disco di avvio il disco su cui è installato il S.O. e disabilitaimo le periferche che non useremo.

Fatte queste semplici operazioni hardware passiamo a una più lunga serie di operazini software, cominciando col valutare come partizionare il disco.
Nel caso stessimo preparando un server, a seconda della funzione principale va dedicata una partizione capiente per il deomon principale (apache, ftp, mail) oltre a questa partizione seguiamo queste linee guida:

  • Le directory che variano (/var /tmp) vanno in partizioni separate, in modo che se vengano riempite non influiscano sul resto del sistema;
  • Le directory come /opt /usr/local vanno montate in partizioni separate in modo da poter formattare/ripristinare il sistema senza cancellare i dati in queste directory;
  • Tutte le directory con dati statici vanno montate read-only e in piccole partizioni separate;
  • Usare “Logical Volume Manager” per creare gruppi di dischi fisici e volumi espandibili;

Scelta del file systems

La scelta del file systems non è facile dato che si va incontro a dover scegliere tra prestazioni e sicurezza, generalizzando i file systems ext sono giornalati più lenti adatti per server web, mail, ftp invece reiserfs, xfs per storage e nas.

Disabilitare tutti i servizi non necessari

Iniziamo rimuovendo i link dai runlevel, usando update-rc.d o manualmente dei daemon che no ci servono non almeno all’avvio!

Installare solo il software indispensabile

Spesso capita di dover installare i compilatori per installare software indispensabile alla macchina che stiamo “confezionando”. I compilatori comunque vanno rimossi una volta finito di installare i programmi che ci servono.
Il Securing Debian Manual consiglia di rimuovere anche il Perl, in pratica però il perl difficilmente si può rimuovere dato che moltissimi programmi anche i puù semplici sono scritti in questo versatile linguaggio.
In particolare va segnalato che Debian installa automaticametne alcuni pacchetti per lo sviluppo, questi vanno rimossi dato che potrebbero essere usati per hackerare il sistema.

Questa voce è stata pubblicata in internet, sicurezza e contrassegnata con , , , , , . Contrassegna il permalink.
 

Lascia un commento

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

verifica *