Seite 1 von 1
gesicherte Dateien
Verfasst: Samstag 14. Dezember 2019, 17:37
von Codeagon
Guten Tag,
Ich bin gerade dabei mit Python einen Chat über Dateien zu programmieren. Wenn eine Person was schreibt wird es in eine txt-Datei geschrieben und von einem anderen Programm ausgelesen.(Ich weiß das Python nicht unbedingt die beste Programmiersprache für sowas ist.) Das Problem ist, dass wir ein System mit Moderatoren aufbauen wollen, und die Namen dieser Moderatoren auch in txt-Dateien stehen. Leider kann jeder diese txt-Dateien verändern und seinen Namen hineinschreiben. Ich grübele schon lange über einer Lösung aber alle Ansätze scheitern. Passwortgeschütze zip-Dateien können nicht mit Python umgeschrieben werden und Datenbanken können von anderen Python-Programmen geändert werden.

Hat jemand eine Idee

.
Danke
Re: gesicherte Dateien
Verfasst: Samstag 14. Dezember 2019, 18:05
von Fire Spike
Codeagon hat geschrieben: Samstag 14. Dezember 2019, 17:37
Passwortgeschütze zip-Dateien können nicht mit Python umgeschrieben werden...
Doch, das geht. Schau dir mal das Modul pyzipper an

Re: gesicherte Dateien
Verfasst: Samstag 14. Dezember 2019, 18:08
von Codeagon
Danke! Ich habe es nur mit dem Modul zipfile getestet. Hätte nicht gedacht, dass es da noch Andere gibt.
Re: gesicherte Dateien
Verfasst: Samstag 14. Dezember 2019, 19:19
von nezzcarth
Ich bin mir nicht ganz sicher, ob ich die funktionsweise deines Programms im Detail verstanden habe. Ein gängiges Konzept (unter Unix zumindest; keine Ahnung, wie das in der Windowswelt läuft) ist jedenfalls, dass Server-Prozesse unter einem eigenen Benutzer laufen. Dateien, an denen kein anderer User (außer root) etwas ändern können soll, gehören dem User, erhalten entsprechende Berechtigungen und damit hat sich die von dir beschriebene Problematik für die meisten Szenarien im Grunde weitestgehend erledigt, weil das OS sich darum kümmert.
Will man darüber hinaus gehende "Fälschungssicherheit" erreichen, sind weitere Maßnahmen möglich. Ein relativ leicht zu implementierendes Verfahren wäre etwa, dass du einen kryptographischen Hash (mit Salt) über die Datei bildest, den du dir nach jeder Schreiboperation separat merkst. Das verhindert schon mal, dass jemand ohne vertiefte Kenntnisse Änderungen an der Datei vornimmt. Man kann sich darauf aufbauend noch komplexere Systeme ausdenken. Allerdings muss man meiner Meinung nach dazu sagen, dass der Mechanismus, das du beschrieben hast (Moderatoren stehen einfach in einer Textdatei) konzeptuelle Schwächen hat und vermutlich nicht viel mehr zulässt. Wenn es wirklich halbwes sicher sein soll, müsstest du das denke ich anders aufbauen.
Codeagon hat geschrieben: Samstag 14. Dezember 2019, 17:37
(Ich weiß das Python nicht unbedingt die beste Programmiersprache für sowas ist.)
Aus Neugier: Warum ist Python denn deiner Ansicht nach dafür nicht gut geeignet?
Re: gesicherte Dateien
Verfasst: Samstag 14. Dezember 2019, 19:42
von sparrow
Läuft das Programm auf einen Server? Dann sollten die Dateien ja eh nicht von den Clients aus abrufbar sein.
Wenn nicht, kannst du dir den Einsatz eines Passworts für die ZIP-Datei sparen, weil das Passwort im Quelltext steht.
Re: gesicherte Dateien
Verfasst: Sonntag 15. Dezember 2019, 11:46
von noisefloor
Hallo,
Leider kann jeder diese txt-Dateien verändern und seinen Namen hineinschreiben.
Dann ist das wohl "broken by design". Du musst halt die Datei an einem Ort speichern, wo _nicht_ jeder (bzw. niemand außer der Admin) dran kommt.
Passwort-Cracker für Zip-Dateien gibt es ja auch, von daher ist das auch nicht der Weißheit letzter Schluss.
Gruß, noisefloor
Re: gesicherte Dateien
Verfasst: Sonntag 15. Dezember 2019, 12:27
von __deets__
Wenn es keinen Server gibt, der eingehende Verbindungen managt, und weiß, wer privilegiert ist, dann muss man das anders lösen. ZB indem man jede Nachricht eines Admins signiert mit dessen private key, und der Server prüft die dann. Damit ist nachträgliches verändern ausgeschlossen.
Das dieses Vorgehen mit Textdateien bescheuert ist, steht auf einem anderen Blatt.
Re: gesicherte Dateien
Verfasst: Sonntag 15. Dezember 2019, 12:40
von Sirius3
@__deets__: warum sollte man signieren nicht auch mit Textdateien umsetzen können?
@Codeagon: bisher hast Du noch nicht erklärt, wie Du denn denkst, so einen Chat umzusetzen?
Wenn die Datei mit den Moderatorennamen verschlüsselt ist, kann sie auch niemand mehr lesen, um zu wissen, wer denn nun Moderator ist.
Re: gesicherte Dateien
Verfasst: Sonntag 15. Dezember 2019, 12:59
von __deets__
@Sirius3 ich sage doch, das man das kann. Was ich auch sage ist, einen Chat via Dateien zu implementieren ist eine doofe Idee.