Login
Newsletter
Werbung

Mi, 25. Juli 2001, 00:00

Checksummen mit MD5

Dieser Artikel beschreibt, wie man mit Hilfe von md5-Checksummen ein Abbild von seinem Linux-System macht, wozu das gut sein soll und wie man dieses Abbild einsetzt.

Von Catonga

MD5, Checksummen, was ist das?

Checksummen, auch Prüfsummen genannt, sind Zahlenwerte, welche aus den Summen der Bits einer Datei zusammengesetzt sind. Einfach ausgedrückt, ist eine Checksumme eine Art Fingerabdruck einer Datei, der die Datei auf deren Integrität, also den Originalzustand überprüft, bzw. sicherstellt. Checksummen werden daher häufig zum Dateiaustausch verwendet, um z.B. sicher zu gehen, daß eine Datei fehlerfrei übertragen wurde. Ein besonderer Vorteil einer Checksumme ist auch, daß sie im Vergleich zu der echten Datei, von der die Prüfsumme erstellt wird, sehr klein ist (z.B. sind Checksummen daher sehr praktisch, um zu prüfen, ob eine große ISO Image-Datei fehlerfrei ist, bevor man damit eine CD brennt).

Zum Erstellen einer Prüfsumme gibt es diverse Algorithmen. Einige der gängigsten davon sind MD5 und CRC32. Der MD5-Algorithmus erzeugt von einer Datei einen 128 Bit großen Fingerabdruck und gilt daher als relativ sicher. Er wird im RFC 1321-Dokument definiert. Es wird vermutet, das es rechnerisch auf absehbare Zeit nicht möglich ist, zwei Dateien zu erzeugen, die den selben Fingerabdruck haben, bzw. eine Datei zu erzeugen, die einen vorherbestimmten Zielabdruck hat.

Ein Checksummen-Abbild von seinem Linux-System. Wozu soll das gut sein?

Einige werden sich jetzt sicher fragen, wieso man von seinem Linux-System ein Checksummen-Abbild erstellen soll. Wozu der ganze Aufwand?

Nun, dies hat folgende Gründe. Man kann zwar sein Linux-System vor Eindringlingen (Hacker, Cracker etc.) mit Firewalls, TCPD-Wrapper, Logfiles etc. sehr sicher machen.

Aber man kann sich niemals sicher sein, ob der Schutz, den man angewendet hat, auch wirklich ausreichend ist. Auch weiß man eventuell gar nicht, trotz Logdateien, ob jemand schon eingedrungen ist und schon gar nicht, was der Eindringling überhaupt angestellt hat. Eine Lösung dieses Problems ist daher ein Checksummen-Abbild seines Linux-Systems.

Mit diesem weiß man nämlich dann auf jeden Fall, ob Dateien oder Programme auf dem System verändert wurden, also durch Fake-Programme ersetzt wurden oder Trojaner eingeschleust wurden. Und man weiß auch, ob ein Eindringling im System war oder nicht, wenn man davon ausgeht, daß ein Eindringling erstmal Software installieren muß, die Konfigurationsdateien im /etc-Verzeichnis editieren muß, um Serverdienste zu starten etc., um Nutzen aus dem Rechner zu ziehen.

FAQ

Hier möchte ich noch auf einige Fragen im Voraus eingehen und diese beantworten:

Ich habe doch ne Firewall und einen TCPD-Wrapper installiert, bei mir kommt nie einer rein!

Was, wenn ein echter Profi am Werk war, der alle Sicherheitseinrichtungen wie z.b. die Firewall umgangen hat?

Was, wenn die Firewall falsch konfiguriert wurde?

Daher sollte man sich im Klaren sein, eine Firewall bietet niemals einen hundertprozentigen Schutz. Deswegen gilt auch hier: "Sag niemals nie!"

Ich hab doch Logfiles, wozu ein Checksummen-Abbild?

Das erste, was Eindringlinge machen, wenn sie eingedrungen sind, ist in der Regel, die Logfiles zu manipulieren, um ihre Spuren zu verwischen. Daher ist es oft zu spät, bzw. sind die Logfiles wertlos. Auch erfordert der Schutz durch Logfiles oft die Anwesenheit des Systemadministrators. Immerhin sollte er ja diese regelmäßig überprüfen, damit sie auch Sinn machen.

Hinweis: Es gibt auch andere Möglichkeiten, seine Logfiles einigermaßen zu schützen. Als Beispiel wären da z.b. ein Ersatz von Programmen für den Syslogd Daemon, welche mit kryptografischen Maßnahmen die Logfiles vor Manipulation schützen (Warnung, dies schützt aber nicht vor dem Löschen!). Der Einsatz von LIDS ist auch eine Alternative, mit diesem kann man root die Rechte entziehen, Logfiles zu editieren/zu löschen und vieles mehr. Oder der Einsatz von aktiven Intrusion Detection Systemen, die den Eindringling schon beim ersten Anzeichen eines Angriffes abblocken. Leider ist diese Methode nicht perfekt, da möglicherweise die Gefahr besteht, daß herkömmliche Netzzugriffe, z.B. ein ping, als Angriff mißverstanden werden, und Surfen eventuell zur Tortur wird.

Vor was schützt mich ein Checksummen-Abbild nicht, bzw. was sollte man dabei beachten?

Ein Checksummen-Abbild ist kein Ersatz für eine Firewall oder ähnliche Sicherheitsmaßnahmen, es dient lediglich als Ergänzung. Auch schützt ein Checksummen-Abbild nicht davor, daß durch das eigene Downloaden und Installieren von Softwarepaketen ungewollt Trojaner, Viren oder bösartiger Code irgendeiner Art installiert werden. Dies zu verhindern ist Aufgabe von Virenprogrammen und ähnlichen Tools. Kurz gesagt, ein Checksummen-Abbild von Software ist nichts wert, wenn die Quellsoftware selber schon kontaminiert ist. Daher gilt die Regel, nur Software von vertrauenswürdiger Quelle zu installieren. Auch schützt ein Checksummen-Abbild nicht vor Datenverlust! Regelmäßige Backups sind daher weiterhin nötig.

Installieren und Einrichten des Checksummen-Abbildes

Was wird benötigt?

Unter Linux gibt es zwei sehr verbreitete Programme zum Überprüfen und Erstellen von Prüfsummen. Einmal das weniger sichere Programm sum, das eine 16-bittige Prüfsumme erstellt, oder das "md5sum" Programm, das eine Prüfsumme, wie der Name schon sagt, mit dem sehr sicheren MD5 Algorithmus erstellt. In diesem Artikel werden wir daher nur md5sum verwenden. Weitere Infos zu den beiden Programmen bieten die Man-Pages.

Ansonsten wird ein Datenträger, der einen hardwaremäßigen Schreibschutz zur Speicherung des Checksummen-Abbildes bietet, empfohlen. Es hilft nichts, wenn man das Checksummen-Abbild neben den Logfiles auf seiner Festplatte beläßt, da jeder Eindringling dieses dadurch löschen könnte.

Hardwaremäßigen Schreibschutz deswegen, da dies ermöglicht, daß man das Checksummen-Abbild auch die ganze Zeit über in seinem System eingebunden haben kann. Das ist deswegen sinnvoll, weil man dadurch per Cron-Job die Überprüfung des Systems regelmäßig und automatisch durchführen lassen kann. Dazu später mehr.

Es eignen sich dafür:

  • herkömmliche 3,5 Zoll-Disketten
  • CD-R Rohlinge
  • DVD-RAM-Datenträger im DVD-RAM-Gehäuse
  • ZipDrive-Datenträger

und ähnliche Datenträger.

Zusätzliche Software, die empfohlen wird, ist das Programm diff.

Woher bekommt man das Programm md5sum?

In der Regel ist md5sum bei jeder Linux-Distribution dabei. md5sum ist zusammen mit anderen Programmen bei den GNU textutils dabei (in Slackware z.B. im Paket txtutils.tgz).

Man bekommt es aber auch auf der GNU-Webseite.

Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung