[gelöst] Verzeichnisinhalte per MD5 vergleichen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
Stas
Beiträge: 161
Registriert: 21.04.2014 15:52:16

[gelöst] Verzeichnisinhalte per MD5 vergleichen

Beitrag von Stas » 13.06.2014 18:18:06

Hallo,
suche ein ähnliches Programm wie:
http://www.digital-tronic.de/md5-file-h ... ile-hasher
gibt es solches auch für Linux.

Mir geht es hauptsächlich um eine Oberfläche und die Benutzerfreundlichkeit des Programms!
Zuletzt geändert von Stas am 16.06.2014 19:43:53, insgesamt 2-mal geändert.
Debian 12 || Proxmox 8 || i7-4790 || GTX 970

Benutzeravatar
peschmae
Beiträge: 4844
Registriert: 07.01.2003 12:50:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: nirgendwo im irgendwo

Re: MD5

Beitrag von peschmae » 13.06.2014 20:26:08

Unter Linux benutzt man dazu md5sum aus Debiancoreutils. Allerdings ein Kommandozeilendings ohne GUI, aber dafür umso benutzerfreundlicher.

Checksummen aller jpg in einem Ordner erstellen: md5sum *.jpg > md5sum.txt
Rekursiv nach allen jpg suchen und checksumen machen: find -name "*.jpg" | while read f; do md5sum $f; done > md5sum.txt
Und verifizieren: md5sum -c md5sum.txt

MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy

Benutzeravatar
Stas
Beiträge: 161
Registriert: 21.04.2014 15:52:16

Re: MD5

Beitrag von Stas » 13.06.2014 20:54:18

Ja mit md5sum freunde ich mich gerade an:

Mein vorhaben ist es z.B in einem Order-Verzeichnis deren Dateien und deren Unterverzeichnisse auf Veränderung zu untersuchen.

Code: Alles auswählen

find /home -type f -exec md5sum {} \;> ./Desktop/MD5SUM_Geprüft
Was mir noch fehlt nach dem man diesen Befehl ausführt:

Code: Alles auswählen

md5sum -c /home/sender/Desktop/MD5SUM_Geprüft | grep -E "FEHLSCHLAG"  > ./Desktop/MD5SUM_Fehlschlagen
ist das man auch auf Neu hinzugefügte Dateien/Ordner hingewiesen wird und nicht nur auf sich geänderte Dateien.

Mir ist klar das man die Abfrage richtig gestalten muss, aber da liegt mein Problem.

Könnt Ihr da helfen!

Edit:
Habe gerade da was mit diff Befehl gefunden.
Debian 12 || Proxmox 8 || i7-4790 || GTX 970

ctwx
Beiträge: 328
Registriert: 04.04.2010 23:06:55
Lizenz eigener Beiträge: MIT Lizenz

Re: MD5

Beitrag von ctwx » 13.06.2014 21:32:44

Sollen mehrere Dateien geprüft werden oder immer nur eine? Für letzteres hätte ich ein PyQt Programm --> https://www.dropbox.com/s/nnzhqyurnh8j6xp/PQTMD5.png

Ich könnte es wohl noch erweitern, wenn nötig. Ich kenne sonst kein GUI-Tool für sowas.

Benutzeravatar
Stas
Beiträge: 161
Registriert: 21.04.2014 15:52:16

Re: MD5

Beitrag von Stas » 13.06.2014 22:04:10

Es soll z.b ein Ordner auf Änderungen untersucht werden:
- ändern sich die Dateien oder kommen welche hinzu
- ändern sich Ordner oder kommen welche hinzu
- Ausnahme (Filter) für Dateien und Ordner sollten bei der Prüfung einfließen (d.h. wenn man davon ausgehen kann das sich Dateien/Ordner verändern dürfen werden diese bei der Prüfung ignoriert)
- Auswertung der Prüfung

so das ist der Anfang denn ich mir so vorschtelle 8O
Debian 12 || Proxmox 8 || i7-4790 || GTX 970

DeletedUserReAsG

Re: MD5

Beitrag von DeletedUserReAsG » 13.06.2014 22:08:48

so das ist der Anfang denn ich mir so vorschtelle
… und wenn du das Ende dessen, was du dir vorschtellst, verrätst, könnte man mal schauen, ob es da nicht schon was Passendes gibt.

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: MD5

Beitrag von Cae » 13.06.2014 22:12:55

Koennte man zum Beispiel so machen:

Code: Alles auswählen

$ mkdir 1 2
$ loremipsum | tee 1/{a,b,c} 2/{a,b,c} >/dev/null 
$ mv 2/b 2/bravo   # umbenennen
$ date >>2/c       # Inhalt veraendern
$ cd 1; find -type f -exec md5sum '{}' + | sort >../list-1; cd ..
$ cd 2; find -type f -exec md5sum '{}' + | sort >../list-2; cd ..
$ comm -3 list-1 list-2
	6a81886938464fc99993577afeeceaf0  ./c
8fcb345581ac0bb319e833ed7106c25d  ./b
	8fcb345581ac0bb319e833ed7106c25d  ./bravo
8fcb345581ac0bb319e833ed7106c25d  ./c
$ 
Der comm(1)-Output ist (zeilenweise) so zu lesen: Im Verzeichnis 2 ist eine neue (oder geaenderte) Datei c aufgetaucht. 1/b und 2/bravo haben die gleiche Pruefsumme, heissen aber unterschiedlich. c im Verzeichnis 1 hat eine andere/unbekannte Pruefsumme.

Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

Benutzeravatar
Stas
Beiträge: 161
Registriert: 21.04.2014 15:52:16

Re: Verzeichnisinhalte per MD5 vergleichen

Beitrag von Stas » 13.06.2014 22:38:54

Großen danke für das Beispiel :D

Nun sollte es ja noch möglich sein, festgelegte Ordner/Dateien die sich ändern dürfen bei der Prüfung zu ignorieren, wie würde der Befehl da in etwa lauten.
Debian 12 || Proxmox 8 || i7-4790 || GTX 970

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: Verzeichnisinhalte per MD5 vergleichen

Beitrag von Cae » 14.06.2014 02:28:35

Aus der Manpage:

Code: Alles auswählen

$ find . -path ./src/emacs -prune -o -print
zum Ignorieren eines Verzeichnisses ./src/emacs/. Wuerde fuer den Fall oben etwas wie

Code: Alles auswählen

$ cd 1; find . -path ./ignore/this/ -o \( -type f -exec md5sum '{}' + \) | sort >../list-1; cd ..
bedeuten (hoffe ich. Diese Klammerlogik von find ist mir spanisch).

Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

DeletedUserReAsG

Re: Verzeichnisinhalte per MD5 vergleichen

Beitrag von DeletedUserReAsG » 14.06.2014 02:46:07

… und ich denke immer noch, dass es entweder eine Backuplösung, oder eine Art IDS bauen will. Und für beides gäbe es gut getestete Lösungen …

Benutzeravatar
Stas
Beiträge: 161
Registriert: 21.04.2014 15:52:16

Re: Verzeichnisinhalte per MD5 vergleichen

Beitrag von Stas » 14.06.2014 09:25:33

Kannte denn Begriff IDS bis jetzt noch nicht, ja es hat damit was zu tun ich will erkennen ob eine unberechtigte Datei ins System geschleust/verändert wird.
Debian 12 || Proxmox 8 || i7-4790 || GTX 970

Benutzeravatar
peschmae
Beiträge: 4844
Registriert: 07.01.2003 12:50:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: nirgendwo im irgendwo

Re: Verzeichnisinhalte per MD5 vergleichen

Beitrag von peschmae » 14.06.2014 10:06:46

Kommt so ein bisschen darauf an was du genau erreichen willst im Detail. Für einige Teilbereiche gibts da schon fertige Lösungen.

z.B. kann man /etc/ mit git verwalten lassen Debianetckeeper, dann hat man immer eine Versionshistorie mit den Änderungen. Man muss dann natürlich immer noch selber entscheiden ob Änderungen berechtigt waren oder nicht. Git finde ich sowieso für einige derartige Probleme in vielen Fällen ganz gut geeignet. Gerade auch weil du da immer eine komplette Änderungshistorie hast.

Zudem gibt es für vom Paketsystem installierte Dateien das Paket Debiandebsums, das überprüft ob die Dateien im System noch die gleichen md5summen haben wie die in den jeweiligen Paketen.

Der Nachteil an diesen vorgefertigten Lösungen ist natürlich, dass wohl jedes Rootkit was was auf sich hält dafür schon Gegenmassnahmen mit drin hat (würde ich zumindest erwarten, ich kenne mich da jetzt nicht im Detail aus). Aber zumindest die dummen erwischt man damit. :)

MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Verzeichnisinhalte per MD5 vergleichen

Beitrag von rendegast » 14.06.2014 10:13:39

Stas hat geschrieben:

Code: Alles auswählen

find /home -type f -exec md5sum {} \;> ./Desktop/MD5SUM_Geprüft
Alternativ

Code: Alles auswählen

md5deep -lr /home
Debianmd5deep


Debianfcheck, Debianintegrit
Debiansamhain, Debiantiger, Debianaide ... ?




md5-file-hasher <-> md5summer
IDS / md5sum-cronjob <-> md5sum
Zuletzt geändert von rendegast am 14.06.2014 16:39:48, insgesamt 1-mal geändert.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

linuxCowboy
Beiträge: 287
Registriert: 05.02.2013 19:47:41

Re: Verzeichnisinhalte per MD5 vergleichen

Beitrag von linuxCowboy » 14.06.2014 15:38:23

rendegast hat geschrieben: Debianmd5deep
Debianfcheck
Debianintegrit
Debiansamhaim ==> Debiansamhain
Debiantiger
Debianaide
Debiantripwire

sehr gute links! :THX:
-der_linux_cowboy --- Besser werden! ... f*** w$$

Benutzeravatar
Stas
Beiträge: 161
Registriert: 21.04.2014 15:52:16

Verzeichnisinhalte per MD5 vergleichen

Beitrag von Stas » 16.06.2014 19:43:12

Danke für die Links :THX:
Debiantripwire sag mir am meisten zu, habe auch eine gute Deutsche Anleitung dazu gefunden.
http://www.ostc.de/howtos/tripwire-HOWTO.html
Debian 12 || Proxmox 8 || i7-4790 || GTX 970

wanne
Moderator
Beiträge: 7548
Registriert: 24.05.2010 12:39:42

Re: [gelöst] Verzeichnisinhalte per MD5 vergleichen

Beitrag von wanne » 17.06.2014 00:02:58

So als Kleine anmerkung für IDS eignen sich md5summen eher schlecht. Die sind gebrochen. (In sofern, dass man gezielt dateien verändern kann und die md5summe gleich bleibt.) Das ist zwar eher ein Theoretischer angriff, weil das wahnsinnig aufwendig ist und man vorher preparierte dateien braucht aber warum nicht einfach sha256deep oder whirlpooldeep als ungeprochene hashes benutzen, die auch im standard debian drin sind.
rot: Moderator wanne spricht, default: User wanne spricht.

Antworten