Header Header Header

Sha1 per controllare la modifica di porzioni del FS

Published on 06/16,2008

Se avete una cartella contenente dei documenti che non devono essere modificati e volete verificare se qualcuno o qualcosa li ha compromessi senza troppa fatica come potete fare? Semplice. Per iniziale è necessario avere un programma che calcoli un hash su tutti i files che volete tenere sott'occhio, ad esempio sha1sum e poi uno strumento per sappia verificare se qualcosa è cambiato.

Prima creiamo ricorsivamente per ogni file contenuto nella direcroty voluta una lista (hash_list.txt) contenente il valore di Hash relativo a ciascun file.
Ad esempio supponiamo di avere una directory che si chiama prova e contiene 3 files di testo.

find ./prova -type f -exec sha1sum {} \; > hash_list.txt
A questo punto hash_list.txt conterrà un elenco simile a questo:
472cd04734d04e6ab4848c2411b2e9a77e04cdeb  ./prova/uno.txt
cc18f320a79d1835f9d6d05d7901775f4bd5bb50  ./prova/due.txt
3aad778da301c2a976a980a710e12b29b4d16081  ./prova/tre.txt

A questo punto possiamo salvarci la lista ed eventualmente usarla successivamente per verificare se qualcosa è cambiato.
Per i più paranoici possaimo anche firmare digitalmente la lista degli hash con GnuPg semplicemente facendo:

gpg -sa hash_list.txt

Per verificare se ci sono stati dei file nella directory prova che sono cambiati è sufficiente ripristinare la lista nela posizione in cui è stato creato ed eseguire il comando di verifica:

sha1sum -c hash_list.txt

Se tutto sarò andato a buon fine vedrete un output del tipo:

./prova/uno.txt: OK
./prova/due.txt: OK
./prova/tre.txt: OK

Se invece qualche file è stato modificato anche solo minimamente avremo un output del tipo:

 ./prova/uno.txt: FAILED
./prova/due.txt: OK
./prova/tre.txt: OK
sha1sum: WARNING: 1 of 3 computed checksums did NOT match

In questo caso vediamo che il contenuto del file uno.txt è cambiato e quindi l'hash associato a quel file ora ha un altro valore, diverso da quello calcolato originariamente.

Se la lista era stata firmata gon GnuPg è necessario prima estrarla con il comando gpg -d hash_lista.sig


Comments

  1. 06/24,2008 | 16:54

    Che articolone!
    ahahahahhah

Leave a Reply

Scrivere le due parole che si leggono nell'imaginetta staccate da spazio prima di premere il tasto per inviare il commento. Consiglio di salvare il contenuto del commento prima di premere invia perchè se le parole non vengono riconosciute dovete riscriverlo!!!