Dateien in Verzeichnissen online öffentlich sichtbar

  • Joomla Version
    4.4.1
    PHP Version
    PHP 8.2.x
    Hoster
    strato

    Hallo,

    über das Frontend meiner Joomla-Site kann man einzelne Dateien in Unterordnern direkt aufrufen und anzeigen, wie z.B "templates/templatename/templateDetails.xml" oder "/htaccess.txt", "/robots.txt", "/plugins/system/jce/css/content.css" oder "/administrator/templates/atum/templateDetails.xml" usw. "php" Dateien scheinen nicht aufrufbar zu sein.

    Ist das normal? Ich empfinde das grad als ein Sicherheitsrisiko.

    Vielen Dank

    Carsten

  • Das administrator-Verzeichnis sollte man per zusätzlichem Passwortschutz (z.B. .htaccess / .htpasswd) schützen. Geht auch oft direkt übder den Hoster.

    Das ist ein wichtiger Grundschutz. Da kannst du also noch was für die Sicherheit tun.

    Aber was hast du dagegen, wenn die robots.txt aufrufbar ist? Darin besteht doch gerade der Sinn, dass man hier Infos für Suchmaschinen und Co. hinterlegen kann.

    Und nutze beispielsweise mal F12 im Firefox. Da kannst du wunderbar die geladenen css-Dateien analysieren. Völlig normal.

  • Ja. Danke. Über die robots war ich drauf gestoßen und vermutlich unsicher, was dann noch so alles sichtbar ist. Werde mich mal um das admin Verzeichnis kümmern. Danke!

    Grüße

    Carsten


    Eins doch noch: Ich hab es nun angelegt, beim Aufrufen, werden Benutzer und Passwort abgefragt, aber nun komme ich nicht mehr ins Backend, das ja mit "/administrator" beginnt.

    Einmal editiert, zuletzt von Indigo66 (29. Dezember 2023 um 09:05) aus folgendem Grund: Ein Beitrag von burf mit diesem Beitrag zusammengefügt.

  • Wenn du den Schutz gemäß #5 angelegt hast, werden zunächst Benutzer und Passwort für das Verzeichnis auf dem Server abgefragt, wenn du versuchst, die Backend-Maske aufzurufen. Werden diese korrekt eingegeben, kommst du zur Backend-Maske und kannst dich mit den Zugangsdaten für Joomla einloggen (wie gewohnt).

    D.h. der Server wehrt zunächst alles Falsche vorher ab und es findet deshalb auch erst mal keine Verbindung zu Joomla und zur Joomla-DB statt. Das erhöht die Sicherheit.

  • .htaccess liegt in /administrator, .adminpasswd liegt in einem Ordner im root, auf den die .htaccess verweist. Nach Eingabe von Benutzer und Passwort für das Verzeichnis erscheint nicht das Login für die Backend Maske, sondern ich erhalte folgende Fehlermeldung:

    ---

    Internal Server Error

    The server encountered an internal error or misconfiguration and was unable to complete your request.

    Please contact the server administrator at service@webmailer.de to inform them of the time this error occurred, and the actions you performed just before this error.

    More information about this error may be available in the server error log.

    ---

    Hat jemand eine Idee, wo die Fehlkonfiguration liegen kann? Die htaccess im Hauptverzeichnis zu deaktivieren, nutzt nichts.

    Dank & Grüße

    Carsten

  • Hat jemand eine Idee, wo die Fehlkonfiguration liegen kann?

    Die .htaccess im administrator-Verzeichnis wird vermutlich fehlerhaft sein bzw. nicht an den Server angepasst. Ich tippe auch auf eine falsche Pfadangabe.

    Dieser muss ja genauso aufgebaut sein wie bei der Angabe von /tmp und /logs in der Joomla-Konfiguration, also meist beginnend mit /var/www/.....

    Lui_brempt : Ich lege die Passwortdatei immer oberhalb von Joomla, also dort hin, wo man bei entsprechender Konfiguration mit keiner URL drauf zugreifen kann. Dateirechte auf 444 setzen bei .htaccess und Passwort-Datei! Muss man aber dran denken, wenn man mal etwas ändern möchte.

  • Internet-Schutz durch Bitdefender

    Eine verdächtige Seite wurde zu Ihrem Schutz blockiert

    https://www.htpasswdgenerator.de/

    Ihre Verbindung mit dieser Webseite ist aufgrund eines nicht übereinstimmenden Sicherheitszertifikats nicht sicher.

    Das Zertifikat wurde also für eine andere Web-Adresse ausgestellt, als die, für die es genutzt wurde. Sie laufen beim Aufrufen der Seite Gefahr, dass Sie Ihre Daten offenlegen.

  • Ich will einen kurzen unbefriedigenden Zwischenstand geben.

    Der Strato-Service hat mir geantwortet (siehe unten). Es funktioniert aber nicht. Mir scheint, der Inhalt der htaacess Datei wurde automatisch ins Deutsche übersetzt … und "ih" sind nicht die ersten beiden Buchstaben von "yourdomain" und der absolute Pfad der Domain (den ich aus dem Joomla tmp auslese) lautet /mnt/web420/b1/16/51713716/htdocs/BUCHSTABEN/KÜRZEL/ und nicht /home/strato/www/wu/wwwwschname.de/htdocs.

    Ich melde mich.

    Grüße

  • Orientiere dich an den absoluten Pfaden vom log- und tmp-Verzeichnis in der configuration.php. Auf gleiche Art und Weise nutzt du den Pfad in der .htaccess zur Datei .htpasswd. Die Pfade mit /mnt/.... schauen eigentlich ganz gut aus. Ich muss allerdings gestehen, dass ich keine Webseiten bei Strato habe, um da nachschauen zu können.

    Hinweis: In der .htpasswd darf natürlich nicht der Begriff "Benutzername" drinstehen, sondern der eigentliche Benutzername. Das ist da oben in der Beispiel-Passwortdatei etwas unglücklich. Also so was in der Art:

    superfriend: $apr1$bwDjLAeh$acRZPfvCVXCrZBbfO9yx //

    Mein Passwortschutz schaut meist so in der Art aus:

    Apache Configuration
    AuthUserFile /var/www/....../.htpasswd
    AuthGroupFile /dev/null
    AuthName "example.de"
    AuthType Basic
    <Limit GET>
    require valid-user
    </Limit>

    Keine Ahnung, warum das bei dir auf deutsch steht.....

  • Ja. Danke. Der absolute Pfad bei Strato lautet /mnt/… wie in den tmp Einstellungen in Joomla und das muss in die htaccess eingetragen werden. Der Support lag da falsch.

    Inzwischen klappt es – danke Eurer Hilfe – dann auch. Habe mit diesem mnt-Pfad noch einmal alles in einzelnen Schritten, das Passwort ohne korrekten Benutzernamen auf http://www.htaccesstools.com/htpasswd-generator/ generiert. Der Dateiname der .htpasswd ist dabei egal, habe es ausprobiert.

    Grüße und Dank!