Linux Box: Una Soluzione Anti-Ransomware

Uno dei problemi di sicurezza informatica più diffusi, pericolosi ed efficaci sono indubbiamente i ransomware. Un ransomware è un tipo di malware che limita l’accesso del dispositivo che infetta, richiedendo un riscatto (ransom appunto) da pagare per rimuovere la limitazione. Ad esempio alcune forme di ransomware cifrano i file dell’utente chiedendo di pagare una determinata cifra in genere in Bitcoin per riportare i file cifrati in chiaro.

I ransomware tipicamente si diffondono come i trojan, dei malware worm, penetrando nel sistema attraverso, ad esempio, un file scaricato o una vulnerabilità nei servizi. Il software malevolo eseguirà poi un payload, che cripterà i file personali sull’hard disk locale nonché su tutte le share di rete. I ransomware più sofisticati utilizzano sistemi ibridi di criptazione (che non necessitano di condivisione di chiavi fra i due utenti) sui documenti della vittima, adottando una chiave privata casuale e una chiave pubblica fissa in l’autore del malware è l’unico a conoscere la chiave di decriptazione privata.

Naturalmente come altre forme di malware, i software per la sicurezza potrebbero non rilevare un payload di ransomware, in particolare nel caso di payload che producono la criptazione di dati.

Come Difendersi?

Il metodo più efficace per difenderci da questo di tipo di attacchi sono senza dubbio alcuno i backup offline dei dati in aree non accessibili ai malware, oltre ai software di sicurezza, IDS e Antivirus a livello UTM e Gateway.

In alcuni scenari tuttavia diventa problematico gestire supporti da mettere offline soprattutto se dobbiamo trattare una grande quantità di dati e per i costi elevati delle soluzioni high end.

In questi casi ci può tornare utile una distribuzione Linux meglio definibile come “blindata”. Una soluzione che potremmo collocare in una “terra di mezzo” e considerare offline sotto molti aspetti, soprattutto a livello di networking. Si tratta tendenzialmente di distribuire l’OS senza esporre alcun servizio di rete (anche SSH), montare le share di rete Windows in sola lettura, fare il backup sul file system locale ext4 ed infine smontare le share CIFS. In questo scenario la superficie di attacco della macchina Linux è davvero molto limitata in quanto un eventuale ransomware “win32” o un attacco hacker più complesso non sarà in grado di compromettere la macchina.

Quanto sopra ci consente di proteggere i nostri dati da diversi threat aggiungendo alla strategia di backup un layer di sicurezza più alto e limitando l’utilizzo di device fuori budget per la maggior parte delle PMI.

Configurazione Box

Innanzitutto procuratevi la vostra distribuzione Linux preferita. Nel nostro caso Debian. Installate solo la parte core del sistema operativo e scegliete delle password sufficientemente complesse.

-Accedete con le vostre credenziali, aprite una finestra Terminal poi digitate su e inserite la password di root. Una volta fatto, eseguite questo comando: apt-get install cifs-utils

Figura 1 – Installazione Componenti

-Sulla macchina Windows che espone le share di rete create un utente con una password sufficientemente complessa. Attribuite i premessi di sola lettura per questo utente sia a livello di share che a livello di file system

-Tornate alla shell di Linux e create un file di nome .cred in cui andrete a memorizzare le credenziali di accesso dell’utente Windows creato al passo precedente. Il comando da eseguire è: nano /root/.cred

Il contenuto del file dovrà attenersi al formato seguente (Ctrl + Alt + X per uscire e salvare il file)

username=username

password=password

domain=dominio

Non dimenticate di settare delle permission più restrittive a questo file passando il comando seguente

chmod 400 /root/.cred

Figura 2 – Configurazione Credenziali

Create delle cartelle in cui montare le share di rete sotto /mnt (in questo caso “finance”, mentre il server Windows è FN1V con una share di nome AM). Il comando per montare la share CIFS è il seguente:

mount -t cifs //fn1v/am /mnt/finance -o  credentials=/root/.cred,iocharset=utf8

Entrando nella directory /mnt/finance noterete i vostri file e che non sarà possibile scrivere ma soltanto leggerne il contenuto appunto per via delle permission attribuite all’utente Windows.

Una volta montata la share nella cartella di cui sopra potete procedere con il backup della stessa tramite il comando tar puntando direttamente ad una directory locale:

tar -cvpzf /mybackupfolder/backup.tar.gz /mnt/finance

Una volta terminato il backup potete smontare le share tramite il comando: umount -f -a -t cifs -l

Scrivete tutti i comandi precedenti in file batch, utilizzando l’editor nano, tramite il comando: nano backup.sh

Il contenuto dello script potrebbe essere simile al seguente:

#!/bin/bash

#Purpose = Backup of Important Data
#Created on 17-1-2012
#Author = Andrea Gallazzi
#Version 1.0
#START
#TIME=`date +%b-%d-%y`                 # This Command will add date in Backup File Name if needed
#FILENAME=backupxyz.tar.gz             # Backup file name format if needed

SRCDIR=/mnt/share                      # Data Directory location (Source of backup).
DESDIR=/mybackupfolder                 # Destination of backup file.

mount -t cifs //fn1v/am /mnt/finance -o credentials=/root/.cred,iocharset=utf8
mount -t cifs //fn1v/ala /mnt/ala -o credentials=/root/.cred,iocharset=utf8
mount -t cifs //fs1v/users /mnt/users -o credentials=/root/.cred,iocharset=utf8
mount -t cifs //fs1v/dataen /mnt/data -o credentials=/root/.cred,iocharset=utf8

#tar -cpzf $DESDIR/$FILENAME $SRCDIR

tar -cpzf /mnt/1tb_local/finance.tar.gz /mnt/finance
tar -cpzf /mnt/1tb_local/ala.tar.gz /mnt/ala
tar -cpzf /mnt/1tb_local/data.tar.gz /mnt/data
tar -cpzf /mnt/1tb_local/users.tar.gz /mnt/users

umount -f -a -t cifs -l

#END

Salvate il file e preparate lo scheduler per eseguire lo script ad una specifica ora:

crontab -e

00 3 * * 6 /bin/bash /home/andrea/backup.sh

Conclusione

Abbiamo visto come sia possibile aumentare ulteriormente la sicurezza della vostra strategia di backup introducendo una macchina Linux a protezione delle share CIFS. Sicuramente una protezione in più contro gli attuali threat e attacchi hacker più mirati e complessi.