Upload Sicherheit

Gesperrt
christian@maurer-it.com
Beiträge: 27
Registriert: Fr 14. Nov 2003, 11:46
Wohnort: Wien
Kontaktdaten:

Upload Sicherheit

Beitrag von christian@maurer-it.com »

Ein kritisches Sicherheitsloch ist das Upload Verzeichnis.

Alle Daten die über das Backend upgeloadet werden können mit

www.myurl.com/cms/upload/

angezeigt werden. Wenn man nun aber jedoch einen Loginbereich mit speziellen Daten (z.B.: Preisliste für Partner u. drgl.) haben möchte und diese Daten mittels "upload" auf den Server kopiert, hat man ein Sicherheitsproblem.

Diese Problematik ist sicherlich nicht trivial zum lösen, darum habe ich diesen Thema eröffnet, damit es diskutiert werden kann.

Hier gleich mal ein Vorschlag für eine mögliche Lösung:

- ein spezielles upload verzeichnis am server anlegen, welches von extern nicht erreichbar ist. Problem: upload nicht über backend möglich, files dann nur über ein spezielles modul abrufbar, keine dirketen verlinkungen (z.B.: in html) text ohne weiteres möglich.


Hoffe es beteiligen sich einige Leute an der Diskussion, sowie einer konstruktiven Problemlösung

mfg christian
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

Ob das jetzt ein kritisches Sicherheitsloch ist, ist sicherlich ansichtssache.

Am einfachsten ist es, mittels .htaccess das Verzeichnis zu sperren (entweder DirectoryIndex auf none oder, wenn die Dateien nicht direkt verlinkt werden sollen, eine Authentifizierung mittels Apache-eigener Mittel).
christian@maurer-it.com
Beiträge: 27
Registriert: Fr 14. Nov 2003, 11:46
Wohnort: Wien
Kontaktdaten:

Beitrag von christian@maurer-it.com »

Kritisch ist die Situation nur, wenn man wie erwähnt schützenswerte Daten nur speziellen Usern zur Verfügung stellen möchte. In jedem anderen Fall ist das kein Problem...

.htaccess files sind recht nett, nur stellt sich dann das problem das sich der user 2x einloggen muss (1. contenido, 2. htaccess) was die usability nicht gerade fördert und IMHO unschön ist. (Oder gibt es von contenido aus eine möglichkeit diesen 2.login zu unterbinden?)
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

Du kannst du ja mit .htaccess einfach das DirectoryIndex verbieten, falls das ausreicht.

Für die andere Methode sehe ich erstmal keine Möglichkeit. Contenido bietet da keine Möglichkeit (warum auch?) - das ist ja kein Problem von einem CMS, sondern von demjenigen, der das drumherum baut :)

Eine andere Möglichkeit wäre, daß schützenswerte Dateien nicht im Web-Root, sondern außerhalb abgelegt werden, und mittels eines speziellen Moduls dann zurückgeliefert werden können (nach Überprüfung des Benutzers und des Passwortes, oder der Session-ID).
christian@maurer-it.com
Beiträge: 27
Registriert: Fr 14. Nov 2003, 11:46
Wohnort: Wien
Kontaktdaten:

Beitrag von christian@maurer-it.com »

Für die andere Methode sehe ich erstmal keine Möglichkeit. Contenido bietet da keine Möglichkeit (warum auch?) - das ist ja kein Problem von einem CMS, sondern von demjenigen, der das drumherum baut
Da bin ich nicht ganz deiner Meinung, denn IMHO kennen sich viele User/Anwender eines CMS mit dem drumherum nicht aus, und warum sollten sie? Uns IT "profs" ist die Problematik bewusst. Glaube aber das dies den meisten nicht bekannt ist.
Und wenn dann einem User mal was passiert, heißt es dann "S... contenido, null sicherheit, bla bla..." - Bitte jetzt nicht falsch verstehen ich finde contenido gut, ansonsten würde ich meine Zeit nicht mit der weiterentwicklung bzw. mit diskussionen und beiträge verwenden.
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

Ja, aber man kann nicht erwarten, daß Contenido für solche speziellen Anwendungsfälle etwas vorsieht. Es ist bekannt, daß Contenido in ein Verzeichnis "uploaded". Wie die Sicherheit vom Administrator definiert wird, kann und darf nicht an Contenido festgemacht werden.

So etwas ist, soweit ich weiß, auch bei anderen CMS-Systemen genau gleich (außer, sie schreiben die Daten in eine Datenbank).

Es gibt auch gar keine technische Möglichkeit, wie Contenido den Zugriff auf ein Verzeichnis verbieten sollte. Contenido macht eben nichts anderes, als Datei-Uploads in ein Verzeichnis zu legen.

Wenn spezielle Anforderungen wie diese auftreten, muß man sie lösen. Das gehört aber auf keinen Fall in Contenido. Siehe mein Beispiel mit dem Verzeichnis ausserhalb des Web-Root's mit einem Modul, welches das handhaben kann.
christian@maurer-it.com
Beiträge: 27
Registriert: Fr 14. Nov 2003, 11:46
Wohnort: Wien
Kontaktdaten:

Beitrag von christian@maurer-it.com »

Nein erwarten kann man es sich nicht aber es wäre eine nettes "nice-to-have!"

Die meisten kommerziellen CMS Systeme sind in dieser Hinsicht etwas leistungsfähiger... (man zahlt ja dafür :wink: )

Mir ist klar das contenido allein den Zugriff nicht verbieten kann.

Die Variante mit dem Modul ist die wahrscheinlich einfachste. Eine Integration ins contenido wäre möglich, aber nur durch massive Änderungen was die Dateiverwaltung anbelangt und rechtfertigt den aufwand für den nutzen nicht.

Da wir dieses Modul für Kunden "dringend" benötigen, werden wir es entwickeln und die Lösung dann zur Verfügung stellen...


lg christian

p.s.: schon die include.CMS_IMG.php Modifikation übernommen?
Louis
Beiträge: 206
Registriert: Mo 27. Okt 2003, 12:28
Kontaktdaten:

Beitrag von Louis »

timo hat geschrieben:(außer, sie schreiben die Daten in eine Datenbank).
Spricht etwas dagegen, ein entsprechendes Modul zu schreiben (und eine passende Tabelle dafür neu anzulegen)? Ich kann es selber leider nicht, aber ich habe auch ein anderes CMS im Einsatz, bei dem mir genau diese Tatsache (upload in DB statt in Verzeichnis) schon zweimal die komplette Site vor einem Hackerangriff bewahrt hat....
Wir können den Wind nicht ändern, aber die Segel anders setzen
(Aristoteles)
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

Daß Files in einer Datenbank dich vor einem "Hackerangriff" bewahrt haben, klingt etwas seltsam :)

Möglich wäre es schon, nur bisher hat es niemand gemacht. Ob so etwas in einer späteren Contenido-Version kommt, ist fraglich.
Gesperrt