I comandi Linux: la sicurezza | ALTRI capitoli | ||||
L'impronta digitale di un file L'impronta digitale di un file ( o di un oggetto digitale qualsiasi ) è la rappresentazione di un file in una stringa numerica ( checksum o digest ) composta da un numero di bit prefissato ed è il risultato dell'esecuzione di una serie di operazioni ( funzione di hash ) sul file stesso. Una funzione di hash eseguita su un file darà sempre lo stesso risultato numerico, per esempio:
Se, a quel file, venisse apportata anche la minima modifica, la funzione di hash restituirebbe una stringa numerica completamente diversa. Ecco il motivo per cui il risultato della funzione di hash è definito impronta digitale. La sua persistenza, infatti, ci garantisce l'integrità del file che rappresenta. Per verificare, quindi, che un file non venga modificato a nostra insaputa, è sufficiente eseguire una funzione di hash, sul file, la prima volta, memorizzare il risultato della funzione di hash in un posto sicuro, eseguire la stessa funzione di hash, sullo stesso file, nei giorni successivi, accertandosi che il risultato restituito sia lo stesso. Stesso risultato significa: nessuna modifica intervenuta. Risultato diverso significa: qualcuno o qualcosa ha modificato il contenuto del file. Spesso, l'impronta digitale viene usata per il download dei file da server remoti. Per garantire l'integrità del file scaricato, l'autore del file ne pubblica l'impronta digitale originale. L'utente, una volta effettuato il download, può eseguire la stessa funzione di hash sul file ricevuto e verificarne il risultato. Attenzione: l'impronta digitale è cosa ben diversa dalla firma digitale. La prima è il semplice risultato di una funzione di hash, mentre la seconda è l'applicazione di un qualche procedimento di crittografia su una data stringa testuale. Per criptare una stringa testuale è necessario utilizzare una chiave di codifica. Per creare una firma digitale, la chiave di codifica utilizzata è la chiave privata di colui che applica la firma. Spesso, per applicare la firma digitale su un intero documento, invece di criptare l'intero documento ( processo che richiederebbe notevoli risorse hardware ), se ne crea l'impronta digitale, che ha una lunghezza predeterminata, e si applica la firma digitale solo sulla sua impronta digitale. MD5, SHA-1, SHA-2 e SHA-3 sono gli algoritmi più noti per la creazione dell'impronta digitale ( o algoritmi digest ). Il comando
Per controllare l'output:
per averlo in binario;
per averlo in valori esadecimali ( default );
per averlo suddiviso in gruppi di due cifre esadecimali (
Il comando
E' possibile creare un file con i risultati ottenuti:
in modo da ricordare i valori originali. Per esempio:
Per verificare, successivamente, se i file
Con l'opzione
Se, invece, doveste ricevere un messaggio del tipo:
significherebbe che il file
Un rootkit è un programma, o un insieme di programmi, che, una volta installato su un computer ospite ( solitamente, il vostro ) può eseguire qualsiasi sorta di azione, dalla più innocente e silenziosa alla più distruttrice e rumorosa. Inoltre, un rootkit è invisibile allo stesso sistema operativo, di una parte del quale ha sostituito e modificato il codice sorgente ( di comandi quali:
L'elenco dei server dai quali
Per poter utilizzare
senza i quali
se non presenti, verranno sostituiti da script Perl. Se Perl non fosse installato nel sistema, anche l'assenza di questi comandi comporterebbe la chiusura di
che permetta a
Il processo di installazione di
che può essere editato, oppure sostituito da una copia locale del file, che dovrà essere contrassegnata dal suffisso
Prima di utilizzare
in cui
Come per
E' possibile chiedere l'aggiornamento del database per un solo file:
oppure per una sola directory:
oppure per un solo package:
Una volta creato il database del filesystem, potremo eseguire la nostra prima verifica del sistema:
Con questo comando,
E' possibile suggerire a
sia utilizzando l'opzione
NONE è il valore di default per i sistemi operativi Debian, poichè l'opzione
Questa opzione corrisponde alla voce APPEND_LOG contenuta nel file di configurazione, che può assumere due valori:
dove 0 ( zero ) indica a
Quali sono le verifiche ( test ) eseguite da
Per sapere, invece, quali lingue sono disponibili, per
Per sapere quali moduli Perl sono disponibili per le verifiche di
Torniamo alla lista dei nomi delle verifiche. Come si può leggere nel file README di
Da notare che, mentre è possibile dire a
sia attraverso il file di configurazione di
Quando si usa l'opzione da riga di comando
Non è possibile chiedere "none" verifiche a ENABLE_TESTS, oppure "all" verifiche a DISABLE_TESTS. Se viene specificata una combinazione di verifiche abilitate e disabilitate, le verifiche disabilitate verranno eseguite solo se presenti nella lista delle verifiche abilitate. RKH (
la verifica chiamata 'malware' viene disabilitata, poichè fa parte della verifica chiamata 'rootkits', mentre la verifica chiamata 'deleted_files' non verrà eseguita, visto che è parte della verifica chiamata 'malware', che è stata disabilitata.
|
|||||
I comandi Linux: la sicurezza | Le guide di .bit: contenuto originale |