ConPresso Community

Fragen, Antworten, Diskussionen rund um das Content Management System ConPresso

 
Schutz vor unberechtigtem Dateizugriff (mod_xfiles)
Gehe zu Seite 1, 2, 3, 4, 5, 6  Weiter
 
Neue Antwort erstellen    ConPresso Community Foren-Übersicht -> Implementierung/Anpassung ConPresso 4
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 6979

BeitragVerfasst am: 12.04.2010 18:30    Titel: Schutz vor unberechtigtem Dateizugriff (mod_xfiles) Antworten mit Zitat

Bis irgendwann mal das Dateimanagement von ConPresso auch eine Rechteverwaltung bekommt, hier ein Schutz für Bilder und Dateien, die für eine geschlossene Rubrik hochgeladen werden.

Einfach alle Dateien ins Verzeichnis _data hochladen!
_data/.htaccess
_data/download.php
_data/forbidden.png

Technik:
Mittels einer htaccess-Datei werden alle Aufrufen von nicht-PHP-Dateien auf ein Script download.php umgeleitet.
Dieses prüft, ob die Datei von ConPresso gehandelt wird und wenn ja, ob es eine geschlossene Rubrik ist. Trifft nichts davon zu, dann wird die Datei ausgegeben.
Ist es eine geschlossene Rubrik, dann wird geprüft, ob der eingeloggte User (bzw. seine Gruppe) diese Rubrik auch sehen darf. Falls ja, wird die Datei ausgegben, falls nein, wird eine Ersatzgrafik ausgegeben (die natürlich nach Belieben durch eine andere PNG-Datei ersetzt werden kann).

Feedback erwünscht!





forbidden.png

forbidden.png - 9966 mal


cpo4_mod_xfiles.zip - 17.82 KB
538 mal


_________________
Ciao Markus
ConPresso-Module
ConPresso und PHP 7

 
Für dieses Posting bedanken sich die folgenden User: Matthias V, Mr. Magpie, Ahmet, hscha
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
balu
ConPresso-Entwickler


Anmeldungsdatum: 01.01.1970
Beiträge: 1745

BeitragVerfasst am: 20.04.2010 20:59    Titel: Antworten mit Zitat

Hi Markus,

schöne Idee, zu prüfen, ob die Datei in einer geschlossenen Rubrik verwendet wird.

Aufgefallen ist mir auf den ersten Blick, dass da manchmal $minetype und manchmal $mimetype verwendet wird. Ich habe aber noch nicht geschaut, ob das ein Tippfehler oder Absicht ist Smile.

Die _data/index.php schlägt übrigens einen ähnliches Mechanismus vor. Wir hatten das als "Prototyp" mal für einen Kunden umgesetzt.

Dort werden Dateien geprüft, die mit "secret_" anfangen (oder etwas anderes, je nach Geschmack). Diese werden dann nur ausgeliefert, wenn ein Benutzer eingeloggt ist.

Ansonsten wird ein "HTTP/1.0 403 Forbidden"-Header geschickt.

Allerdings treibe ich dort nicht so viel Aufwand mit Browser-Erkennung, usw. Leider ist das bei uns nirgendwo im Einsatz, so dass ich bisher auch keine Erfahrungen mit dem Code habe, ausser den einfachen Tests, die man so machen kann.

Balu

_________________
Bartels.Schöne
ConPresso Support & Development
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 6979

BeitragVerfasst am: 21.04.2010 05:42    Titel: Antworten mit Zitat

balu hat Folgendes geschrieben:
Aufgefallen ist mir auf den ersten Blick, dass da manchmal $minetype und manchmal $mimetype verwendet wird. Ich habe aber noch nicht geschaut, ob das ein Tippfehler oder Absicht ist Smile.

Tippfehler Embarassed

Habe das Archiv oben aktualisiert...

_________________
Ciao Markus
ConPresso-Module
ConPresso und PHP 7
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
hscha
ConPresso-Checker


Anmeldungsdatum: 22.02.2006
Beiträge: 495
Wohnort: Berlin

BeitragVerfasst am: 07.05.2010 23:04    Titel: Antworten mit Zitat

Hallo Markus,

ich habe das Mod auf zwei Sites ausprobiert: Auf einer läufts, auf einer anderen nicht.
Auf dieser läufts:
http://www.gokinkel.cidsnet.de/cms/_data/stdtafel-entwurf.pdf
Beim Klick auf diesen Link wirst du ohne eingeloggt zu sein, das "forbidden.png" zu sehen bekommen. Alle anderen Dateien in nicht geschlossenen Rubriken lassen sich anzeigen. Auch die Image-Dateien, die im _data-Verzeichnis liegen, werden angezeigt.
http://www.gokinkel.cidsnet.de

Auf einer anderen meiner Sites läufts leider nicht. Der Zugriff auf die Image-Dateien im _data-Verzeichnis ist nicht mehr möglich. Ich weiß leider noch nicht, woran das liegt (siehe Screenshot)!

Grüße von
Horst




das Image aus dem _data-Verzeichnis wird nicht angezeigt
missing_pic.jpg
Klicken für Originalbild! missing_pic.jpg (26.83KB) - 465 mal angeklickt


Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 6979

BeitragVerfasst am: 07.05.2010 23:19    Titel: Antworten mit Zitat

Da zwangsläufig alle Dateien geprüft werden müssen, wird bei Fehlern (durch Script oder Server) eben nichts mehr angezeigt.
Wenn es keine Meldungen gibt, dann muß man ins Logfile schauen...

_________________
Ciao Markus
ConPresso-Module
ConPresso und PHP 7
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
balu
ConPresso-Entwickler


Anmeldungsdatum: 01.01.1970
Beiträge: 1745

BeitragVerfasst am: 17.05.2010 11:21    Titel: Antworten mit Zitat

Könnte es sein, dass .htaccess-Dateien auf dem Server nicht erlaubt sind?

Balu

_________________
Bartels.Schöne
ConPresso Support & Development
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dutch
ConPresso-Experte


Anmeldungsdatum: 04.07.2007
Beiträge: 504

BeitragVerfasst am: 12.06.2014 15:25    Titel: Antworten mit Zitat

Hallo,

bin gerade auf diesen alten Beitrag gestoßen, da ich genau das brauche.
Habe es auch gleich mal eingebaut aber geht leider nicht. Der Zugriff auf die Dateien in _data ist immer noch möglich.

Muss ich dem _data Verzeichnis besondere Recht geben (CHMOD)?
Oder liegt es daran, dass meine CPO Version oder der Browser zu neu sind?
(cpo 4.1.6 und aktueller FF)

Gruß,
dutch
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 6979

BeitragVerfasst am: 12.06.2014 17:06    Titel: Antworten mit Zitat

Werden ggf. htaccess-Dateien nicht unterstützt?

Oder hast Du die .htaccess-Datei vielleicht nicht auf den Server geladen, weil Dein System diese nicht anzeigt?

_________________
Ciao Markus
ConPresso-Module
ConPresso und PHP 7
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
dutch
ConPresso-Experte


Anmeldungsdatum: 04.07.2007
Beiträge: 504

BeitragVerfasst am: 12.06.2014 18:31    Titel: Antworten mit Zitat

Hallo Markus,

der Server unterstützt (laut Provider) .htaccess Dateien und ich habe auch alle drei Dateien hochgeladen ins _data Verzeichnis, .htaccess, donwload.php und das forbidden.png

Kann ich evtl. irgendwie einfach testen, ob die .htaccess auch wirklich gelesen wird?

Gruß,
dutch
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 6979

BeitragVerfasst am: 12.06.2014 18:57    Titel: Antworten mit Zitat

Kannst einfach mal eine andere dorthin laden, z.B.
Code:
RewriteEngine on

# bitte mit www.
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]


und dann eine Datei ohne führendes www. in der URL aufrufen. Das sollte dann eigentlich automatisch auf die WWW-URL umgeleitet werden.

Nutze ich sowie auf den meisten Seiten um Session-Probleme zu vermeiden.

_________________
Ciao Markus
ConPresso-Module
ConPresso und PHP 7
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
dutch
ConPresso-Experte


Anmeldungsdatum: 04.07.2007
Beiträge: 504

BeitragVerfasst am: 12.06.2014 19:04    Titel: Antworten mit Zitat

Hallo Markus,

gerade getestet aber keine Reaktion...
Dann scheint die .htaccess wohl nicht gelesen zu werden.
Ich werde mal beim support des Providers direkt nachfragen.
Danke schon mal so weit!

Gruß,
dutch
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dutch
ConPresso-Experte


Anmeldungsdatum: 04.07.2007
Beiträge: 504

BeitragVerfasst am: 15.06.2014 08:58    Titel: Antworten mit Zitat

Hallo Markus,

der Provider hat mir bestätigt, dass .htaccess auf dem Server läuft aber mit Einschränkungen. Für mich hörte es sich so an, dass .htaccess Dateien nur im root des Servers laufen...
Daraufhin haben die die .htaccess verändert, um zum Ziel zu kommen, aber das Ergebnis funktioniert leider ebenso wenig. Die verlinkten PDFs lassen sich immer noch ohne login mit einem deep-link öffnen.

Habe die Lösung auch mal auf einer ganz anderen Site eingebaut (anderer Provider). Aber auch da geht es nicht. Wird einfach ignoriert...

Gibt es evtl. noch eine denkbare Alternative zur Sicherung?
Ich, als naiver CPO-user Smile , war eigentlich davon ausgegangen, dass alles, was in einem geschlossenen Bereich online geht, auch geschützt ist, also inkl. verlinkter Dateien. Die geschützten Bereiche werden ja meistens genau dafür benutzt, um Dokumente nur einer bestimmten Gruppe zugänglich zu machen.
Im Nachhinein natürlich logisch, dass dem nicht so ist, da alles in _data liegt.
Wäre es da nicht sinnvoll, dass CPO für geschlossene Rubriken ein separates _data Verzeichnis anlegt, oder denke ich wieder zu naiv? Wink

Grüße,
dutch
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 6979

BeitragVerfasst am: 15.06.2014 10:39    Titel: Antworten mit Zitat

Du denkst da schon richtig, aber das macht kein CMS so. Bei Forensystemen wie phpBB ist das dagegen üblich, dafür hat man aber keine Freiheiten wie im CMS.

CMS-Systeme sind ja in der Regel dazu da Informationen zu veröffentlichen, daher sind nicht-öffentliche Dinge nicht das primäre Augenmerk und es wird meist darauf vertraut, dass, sobald etwas nicht mehr durch Links erreichbar ist, es nicht mehr als öffentlich gilt. Und die Texte können durch Sperrung ja auch unerreichbar gemacht werden, das gilt aber nicht für die Medien aus _data.

Wer Wert auf Sicherheit legt, der wird einen Server benutzen, der Dinge wie mod_rewrite uneingeschränkt unterstützt.

Ein separates Verzeichnis bringt übrigens auch nichts, wenn das genauso ungeschützt ist.

Ich warte derzeit auf einen Kundenauftrag, der eine Mediendatenbank benötigt, bei der nur eingeloggte User je nach Berechtigung bestimmte Dateien herunterladen können. Dort plane ich ein verändertes Upload-Verfahren mit einem entsprechenden Dateischutz. Aber auch das wird nicht ohne mod_rewrite gehen. Und der Auftrag ist noch nicht erteilt.

_________________
Ciao Markus
ConPresso-Module
ConPresso und PHP 7
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
dutch
ConPresso-Experte


Anmeldungsdatum: 04.07.2007
Beiträge: 504

BeitragVerfasst am: 15.06.2014 11:28    Titel: Antworten mit Zitat

Mit dem separaten Verzeichnis meinte ich eigentlich natürlich auch ein geschütztes, in das man die uploads lädt, die in geschlossenen Bereichen verlinkt sind.

Naja, wie auch immer. Das bedeutet also, dass ich auf sehr vielen Standard-Servern keine wirklich sicheren geschlossenen Bereiche anlegen kann?

Aktuell habe ich das Problem, dass ein PDF, das in einem geschlossenen Bereich verlinkt ist, auch über Google gefunden wird... was den Kunden natürlich nicht erfreut Sad

Gruß
dutch
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dutch
ConPresso-Experte


Anmeldungsdatum: 04.07.2007
Beiträge: 504

BeitragVerfasst am: 15.06.2014 11:31    Titel: Antworten mit Zitat

Das hier ist übrigens die angepasste .htaccess des Providers, die der in root gelegt hat, die aber, wie gesagt, auch nicht funzt:

Code:
<Files .htaccess>
order allow,deny
deny from all
</Files>

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^mcfworld\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.mcfworld\.com$
RewriteRule ^cms\/_data\/\/?(.*)$ "download.php?filename=$1" [R=301,L]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neue Antwort erstellen    ConPresso Community Foren-Übersicht -> Implementierung/Anpassung ConPresso 4 Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite 1, 2, 3, 4, 5, 6  Weiter
Seite 1 von 6

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen