Gruezi Renzo und Hallo Michael,

vielen lieben Dank für Eure Antworten!

Ich habe mir die von Euch erwähnte Extension "secure_downloads" angesehen und
vorgestern Nacht im IRC Channel #TYPO3 parallel noch als weiteren Tipp die 
(anscheinend ähnliche) Extension "FAL Secure
Download" bekommen.

Die Dokumentation zu beiden Extensions weisen darauf hin, dass Sie nur einen 
Layer über den Zugriff legen, der von TYPO3
über "File Storages" implementiert ist und per Konzeption von TYPO3 direkt 
durch den Webserver erfolgt.

Dazu habe ich aber direkt noch ein paar Fragen:

Die Doku über den File Abstraction Layer
(https://docs.typo3.org/typo3cms/FileAbstractionLayerReference/singlehtml/Index.html#document-Administration/Storages/Index)
weist extra darauf hin (rote Box):

"This does not magically protect your files if they are within your web root 
(e.g. below the fileadmin folder). They
will still be available to anyone who knows the path to the file. To implement 
a strict access restriction the Storage
must point to some path outside the web root or the folder it points to must 
contain web server restrictions to block
direct access to the files it contains (for example, in an Apache .htaccess 
file)."

Ich habe versucht, testweise ein paar weitere File Storages / Dateispeicher 
anzulegen. Angelehnt an den existierenden
Daten für fileadmin/. Hat einen Moment gedauert (nichts in der Doku dazu 
gefunden) bis ich verstanden habe, dass man den
physikalischen Ordner selber extern anlegen muss. Im Gegensatz zum Ordner für 
fileadmin/, den legt TYPO3 während der
Erstinstallation selber an.

Generell hatte ich da ein paar schräge Fehlermeldungen:

Fehlt der Ordner des Dateispeichers, ist (manchmal :-S) die Baumstruktur unter 
Datei/Dateiliste "kaputt", Fehlermeldung
aus dem Log: Core: Exception handler (WEB): Uncaught TYPO3 Exception: 
#1314516810: Folder "/" does not exist. |
TYPO3\CMS\Core\Resource\Exception\FolderDoesNotExistException thrown in file
/srv/www/typo3_src-7.6.14/typo3/sysext/core/Classes/Resource/Driver/LocalDriver.php
 in line 285. Requested URL:
http://localhost:10080/typo3root/typo3/index.php?route=%2Ffolder%2Ftree&token=a9a525732a980b1eee9596ac665ef9cbf1092dee

Verschwindet, wenn der Ordner existiert und betriebssystemseitig die passenden 
Rechte hat. Konkrete Frage: Bei mir unter
OpenSuse "gehören" alle Apache Daten dem User "wwwrun" in der Gruppe "www". Für 
den fileadmin/ Ordner hat TYPO3 auf
Gruppenebene das "sticky Bit" gesetzt 
(https://de.wikipedia.org/wiki/Sticky_Bit) - soll/muss das für alle
"Dateispeicher" Ordner so sein?

Solche schrägen "manchmal" Fehler habe ich noch öfters: Wenn ich z.B. unter 
Datei/Dateiliste mit der rechten Maustaste
auf das Icon einer beliebigen hochgeladenen Datei geklickt habe, kam die 
Meldung "uid must be positive integer, 0 given"
(Core: Exception handler (WEB): Uncaught TYPO3 Exception: #1437656456: $uid 
must be positive integer, 0 given |
InvalidArgumentException thrown in file
/srv/www/typo3_src-7.6.14/typo3/sysext/backend/Classes/Form/FormDataProvider/AbstractDatabaseRecordProvider.php
 in line
39. Requested URL:
http://localhost:10080/typo3root/typo3/index.php?route=%2Frecord%2Fedit&token=d468e2c4f137992958358e9a0235346ff2229f83&edit%5Bsys_file_metadata%5D%5B0%5D=edit&returnUrl=%2Ftypo3root%2Ftypo3%2Findex.php%3FM%3Dfile_FilelistList%26moduleToken%3Dc49c5bf5a7a01f7b13fb1e4f42b12502d9de6983%26id%3D5%253A%252FSub1%252F
)

Als Neuling hab ich gesehen, dass eine System-Extension "advanced file 
metadata" existiert, aber nicht aktiviert war. Da
das "passend" klang, habe ich diese mal aktiviert, und tatsächlich, der "uid 
must be positive integer, 0 given"-Fehler
ist jetzt weg. Lustigerweise sogar immer noch, wenn man die Extension "advanced 
file metadata" wieder deaktiviert :-S
Ich bekomme dann ganz normal den "abgespeckten" "Datei-Metadaten "<DATEINAME>" 
auf Wurzelebene bearbeiten" Dialog.

Generelle Frage dazu: Ich halte das für einen (harmlosen) Bug. Welche ich bei 
allen anderen Open Source Themen wenn
möglich gerne irgendwo eintrage. Für TYPO3 finde ich jetzt aber unter TYPO3.org 
nicht wirklich direkt einen Hinweis, wie
das Bug Tracking organisiert ist. Gibt es irgendwo eine Bugzilla Instanz oder 
sowas?

Letzte Fragen, generell, zum Thema .htaccess:

Die Apache Doku (und jeder, mit dem man in #httpd chattet :-)) weist deutlichst 
darauf hin, dass die Verwendung von
.htaccess Dateien einen nicht unerheblichen Performance-Verlust des Webservers 
bedeutet, da in der Ordnerstruktur im
gesamten Baum bei Zugriffen Existenz und ggf. Inhalt dieser .htaccess Dateien 
geprüft werden muss. Sofern man - gilt für
mich, da alles auf eigenem VPS - "root"-Zugriff hat, könnte man auf .htaccess 
durch server-seitige Direktiven verzichten.

Um hier möglichst einfach upgrade-fähig zu bleiben, das default-.htaccess kann 
sich ja jederzeit mit neuen
TYPO3-Releases ändern, habe ich einfach den Inhalt der .htaccess Datei in die 
"Directory" Direktive der VHOST Definition
mit aufgenommen und ansonsten .htaccess Dateien deaktiviert:

        <Directory "/srv/www/htdocs/typo3root">
                Options +FollowSymLinks
                AllowOverride None
                Require all granted
                Include /srv/www/htdocs/typo3root/.htaccess
        </Directory>

Mache ich genauso bei allen anderen .htaccess "Kandidaten" auf meinem VPS. Also 
z.B. bei meiner OwnCloud Instanz auf dem
gleichen VPS.

Wie macht Ihr das, gibt es da Empfehlungen? Ich hätte an sich gerne in der 
Direktive auch ein "Require all denied"
stehen, dann "fliegt" mir aber fast alles um die Ohren, da z.B. nichts mehr aus 
fileadmin/ direkt vom Apache serviert
werden darf. Z.B. .css Dateien, Grafiken, usw.... Auch hier die allgemeine 
Frage: Wie macht Ihr das? "All denied" und
öffnende Sonderregeln für diverse Ordner?



Viele Grüße und schöne Weihnachts-Feiertage für alle Mitleser dieser Liste,
Michael




Am 21.12.2016 um 12:00 schrieb typo3-german-requ...@lists.typo3.org:
> Date: Tue, 20 Dec 2016 22:25:42 +1100
> From: Michael Schams <ty...@2016.schams.net>
> Subject: Re: [TYPO3-german] /fileadmin und Zugriffsrechte
> To: German TYPO3 Userlist <typo3-german@lists.typo3.org>
> Message-ID: <mailman.5061.1482233159.628.typo3-ger...@lists.typo3.org>
> Content-Type: text/plain; charset="UTF-8"
>
> Hi,
>
> Dateien, die nicht fuer die Oeffentlichtkeit bestimmt sind, haben meiner
> Meinung nach generell nichts in "htdocs" (oder irgendeinem Verzeichnis
> darunter) etwas zu suchen.
>
> Sorge dafuer, dass sie *ausserhalb* abgelegt werden und (wie Renzo
> erwaehnt hat) ein Script (bzw. eine TYPO3 Extension) diese liest und
> (nach entsprechender Berechtigungspruefung) an den Client sendet.
>
> Das gilt fuer vertrauliche Dokumente ebenso wie fuer Backups, MySQL
> Dumps, Git Repositories und aehnliches.
>
>
> Cheers
> Michael


-------------------------------------------------
> 
> Message: 1
> Date: Tue, 20 Dec 2016 07:53:09 +0100
> From: Renzo Bauen <ty...@conpassione.ch>
> Subject: Re: [TYPO3-german] /fileadmin und Zugriffsrechte
> To: typo3-german@lists.typo3.org
> Message-ID: <mailman.5019.1482216794.628.typo3-ger...@lists.typo3.org>
> Content-Type: text/plain; charset="UTF-8"
> 
> Hallo Michael
> 
> die Dateien kann man nur sch?tzen, wenn im entsprechenden Verzeichnis
> der Zugriff gesperrt ist via .htaccess und man einen PHP-Script der die
> Rechte pr?ft f?r den Zugriff verwendet.
> All das macht z.B. die Ext secure_downloads
> 
> Beste Gr?sse, Renzo
> 


-------------------------------------------------
Originale Email:
-------------------------------------------------


TYPO3 7.6.14 / Apache 2.4.23 / OpenSuse Leap 42.2


Hallo zusammen,


ich möchte als TYPO3-Neuling eine Webseite mit geschützten Inhalten aufbauen.

Für Seiten(inhalte) an sich kein Problem, da kann TYPO3 extrem viel.

Was ich aber jetzt lernen musste ist, dass per Konzept/Default der /fileadmin 
Ordner unter der WebRoot,
Directory-Listings zwar unterbunden sind, aber ein Zugriff über die 
vollständige URL dennoch möglich ist.

Ich möchte jetzt aber auch angemeldeten Benutzern Datei-Downloads als Links 
anbieten, die ebenso geschützt sind wie
Seiten und keinesfalls per Kenntnis des Dateinamens abrufbar sein sollen.

Reales Beispiel wäre eine Einsatzplanung für ein Projekt mit ehrenamtlich 
Tätigen in Form einer PDF/LibreOffice-Datei,
welche natürlich einige private Daten enthält und daher nur geschützt nach 
Anmeldung herunterladbar sein darf. Im
Standard "landet" diese Datei beim Upload egal über welchen Backend-Weg ich es 
versuche immer in /fileadmin oder
Unterordnern wie "user_upload", alles "frei" zugänglich.


Für Tipps aus der Praxis wäre ich sehr dankbar,
viele Grüße,
Michael
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an