Hardening Linux
Nel corso dell’articolo impareremo ad applicare i concetti relativi all’Hardening di un sistema operativo generalmente *nix like, in particolare si opererà cercando di aumentare passo dopo passo il livello di sicurezza di una distribuzione GNU/Linux generica.
La sicurezza informatica è da sempre uno dei temi più importanti , ma allo stesso tempo, delicati da affrontare , ma specialmente da concretizzare.
E’ un must del settore la celebre frase: “Nessun computer può essere sicuro al 100%”, un dogma imprescindibile.
Eppure la necessità di aumentare i livelli di sicurezza di un sistema è sempre più grande, e la progettazione di un ambiente sicuro porta a ridurre drasticamente l’usabilità del sistema stesso.
Per questo motivo è nato il processo di Hardening di un sistema operativo, che punta a rendere maggiormente sicuro un ambiente esistente e facilmente utilizzabile.
L’installazione di default di una distribuzione GNU/Linux tende ad essere molto ricca di feature e software,e ragionevolmente, per questo motivo, insicura, perché espone all’esterno servizi con configurazioni standard , spesso inutili per i nostri scopi.
Partizionamento
La prima operazione da compiere, è sicuramente quella di rivedere l’intero partizionamento dei dischi.
Questo sia per una questione di scalabilità, che per prevenire danni da attacchi DOS sul filesystem che tentano di riempire lo spazio disponibile sul disco rendendo il sistema inutilizzabile .[ad#midarticlequadr]
L’organizzazione di un filesystem UNIX prevede alcune directory standard che sono comunemente le più esposte a svariati tipi di attacchi a causa della loro funzione all’interno del S.O:
/var : in cui una generazione “anomala” di logs in poco tempo può saturare lo spazio della partizione.
/tmp. : che essendo adibita a contenere file temporanei gode spesso di privilegi troppo alti. Rootkit ed exploit vengono spesso lanciati proprio da questa directory.
La prima cosa da fare è controllare il file: /etc/fstab e dare un occhiata ai processi che collegano le partizioni ai relativi punti di mount al boot:
# cat /etc/fstab
/dev/md0 none swap sw 0 0
/dev/md1 /boot ext3 defaults 0 0
/dev/md2 / ext3 defaults 0 0
In questo esempio abbiamo una partizione di swap , una dedicata a /boot ed un unica partizione di root.
Come è stato detto prima , a seconda del tipo di FS e di partizionamento(RAID, LVM, dev ecc..) utilizzati , dobbiamo assicurarci di arrivare ad una soluzione che comprenda almeno una partizione per /var ed una per /tmp , seguendo questo scenario arrivare ad un punto simile:
#cat /etc/fstab
/dev/md0 none swap sw 0 0
/dev/md1 /boot ext3 defaults 0 0
/dev/md2 / ext3 defaults 0 0
/dev/md3 /var ext3 defaults 0 0
/dev/md4 /tmp ext3 defaults 0 0
Per ripartizionare i dischi si possono usare tool come Fdisk , parted o quelli disponibili nella suite di LVM.
*Attenzione, se non si usa LVM, la / deve essere smontata per effettuare il resize e il partizionamento.
Nei prossimi giorni la seconda parte delle guida Hardening Linux…
Scritta da Emiliano Mancini per Valent-blog.eu