Geschützte Verzeichnisse - was mache ich falsch?

  • Hallo,


    ich habe eine Website, nennen wir sie mal http://www.meineseite.de. Dort habe ich mit filezilla folgendes Verzeichnis eingerichtet:


    meineseite.de/httpdocs/dlink


    Meine kleine Überwachungskamera speichert dort Bilder per ftp. Das klappt hervorragend. Mittels meines Android-Handys und dem ES-Datei-Explorer kann ich die Bilder per ftp unterwegs problemlos abrufen. Jetzt möchte ich aber auch per http dran (nicht jedes öffentliche WLAN unterstützt ftp). Ich habe nun die Verzeichnisse laut diesem WIKI angelegt, und zwar habe ich folgende Möglichkeiten probiert:


    /dlink

    /httpdocs/dlink


    Bei beiden habe ich einen Benutzernamen "kamerabilder" und ein passwort "geheim" festgelegt (wie im WIKI beschrieben). Jetzt gebe ich im Browser http://www.meineseite.de/dlink ein, und der Browser (ich habe mehrere probiert) fragt nach Benutzernamen und Passwort. Gebe ich diese ein, kommt allerdings Fehler 403:


    Fehlerseite zum Fehler 403 (Forbidden)
    Die Anfrage wurde mangels Berechtigung des Clients nicht durchgeführt, bspw. weil der authentifizierte Benutzer nicht berechtigt ist, oder eine als HTTPS konfigurierte URL nur mit HTTP aufgerufen wurde.

    Was mache ich falsch?


    Danke.


    Gruß


    akapuma

  • Hi,


    Anscheinend funktioniert der Verzeichnisschutz nicht richtig.


    Entweder du versuchst es nochmal einzurichten oder du legst selbst eine .htaccess an.


    Die Fehlerquelle kann ich dir so aus dem Stehgreif auch nicht sagen, da müsstest du uns die Daten zur Verfügung stellen.


    Viele Grüße

  • Entweder du versuchst es nochmal einzurichten oder du legst selbst eine .htaccess an.

    Also dann lieber nochmal neu einrichten, denn eine .htaccess ist immer suboptimal

    Gruß


    RR


    Das Böse triumphiert alleine dadurch,

    das gute Menschen nichts unternehmen.

    Edmund Burke

    12.01.1729 - 09.07.1797

    Anno Domini V.VI.MCMLXV

  • Ich glaube hier können mehrere Fehlerquellen liegen:

    • Browsercache nicht geleert (bei der Wahl eines anderen Verzeichniss)
    • kein https Zertifikat (wenn Aufruf über https)
    • Problematische Zeichen in der Passwortvergabe


    Im Bereich Webhosting würde ich das immer über .htaccess realisieren und da ist auch nichts problematisch.

  • Browsercache nicht geleert (bei der Wahl eines anderen Verzeichnis)
    => ist geleert


    kein https Zertifikat (wenn Aufruf über https)

    => passiert auch über http


    Problematische Zeichen in der Passwortvergabe

    => testweise nur Kleinbuchstabem


    Ich habe garkeine .htaccess. Wo kommt sie hin (meineseite.de oder meienseite.de/httpdocs), und was soll ich reinschreiben?


    Vielen Dank.


    Gruß


    akapuma


    Edit: auch mit einer .htaccess geht es nicht.


    ,htaccess:

    AuthName "dlink"
    AuthType Basic
    AuthUserFile /httpdocs/dlink/.htpasswd <= hier habe ich alles mögliche probiert
    require valid-user


    .htpasswd:

    dlink:$1$$DHemwirdzb6w8355vb6357 <= Code geändert


    Schade, ich krieg's nicht hin :(


    Naja, geschützt ist das Verzeichnis ja, und per ftp komme ich ja dran.

  • Also, das mit htaccess und htpasswd ist eigentlich relativ leicht und zwar kommt in das zu schützende Verzeichnis folgendes:


    .htaccess

    Apache Configuration
    AuthType Basic
    AuthName "drink"
    AuthUserFile /var/www/vhosts/hostingXXXXX.afXXf.netcup.net/httpdocs/dlink/.htpasswd
    Require valid-user
    
    <FilesMatch "(\.htaccess|\.htpasswd)">
      Require all denied
    </FilesMatch>

    Es ist wichtig auf den absoluten Pfad beim Webhosting zu achten, da die Datei sonst nicht gefunden wird!


    .htpasswd

    Code
    Benutzer:Passwort als MD5 Hash

    htpasswd Generator >> http://www.htaccesstools.com/htpasswd-generator/


    Und dann funktioniert es. Bitte noch auf die Berechtigungen der beiden Dateien achten!

  • Das sagt die Apache Foundation übrigens selbst (Zitat auf den offiziellen Docs).


    In general, you should only use .htaccess files when you don't have access to the main server configuration file. There is, for example, a common misconception that user authentication should always be done in .htaccess files, and, in more recent years, another misconception that mod_rewrite directives must go in .htaccess files. This is simply not the case. You can put user authentication configurations in the main server configuration, and this is, in fact, the preferred way to do things. Likewise, mod_rewrite directives work better, in many respects, in the main server configuration.


    https://httpd.apache.org/docs/2.4/howto/htaccess.html

    Gruß


    RR


    Das Böse triumphiert alleine dadurch,

    das gute Menschen nichts unternehmen.

    Edmund Burke

    12.01.1729 - 09.07.1797

    Anno Domini V.VI.MCMLXV

  • In general, you should only use .htaccess files when you don't have access to the main server configuration file.

    Genau, wie es im WCP eigentlich der Fall ist, das man auf die Apache Konfiguration keinen Einfluss hat, aber grundsätzlich ist es weder ein Problem noch kritisch. Der Hauptgrund ist ja eigentlich die Beanspruchung von Ressourcen, da bei jedem Aufruf alle .htaccess Dateien durchgearbeitet werden müssen.

  • Genau deswegen habe ich keine htaccess im Einsatz sondern löse das mit Einstellungen für Apache & nginx.

    Gruß


    RR


    Das Böse triumphiert alleine dadurch,

    das gute Menschen nichts unternehmen.

    Edmund Burke

    12.01.1729 - 09.07.1797

    Anno Domini V.VI.MCMLXV

  • Hallo,


    endlich habe ich es hinbekommen. Mein ganz besonderer Dank gilt de_bonner, der mich auf die richtige Spur gebracht hat.


    Meine .htpasswd habe ich in das zu schützende Verzeichnis akapuma.info/test gelegt:

    Code
    test:$apr1$QjmdAhB2$sBF/pqaz74RbL8Eo5vbnc1

    Das Passwort heißt übrigens "geheim" (ohne Gänsefüßchen). Die .htaccess lautet:

    Apache Configuration
    AuthType Basic
    AuthName "test"
    AuthUserFile /var/www/vhosts/hostingXXXXX.afXXf.netcup.net/httpdocs/dlink/.htpasswd
    require valid-user


    Beide Dateien haben die Berechtigung 0755. Ganz wichtig ist übrigens der Teil "hostingXXXXX.afXXf.netcup.net". Bei Recherchen im Internet findet man oft anstatt dessen den Name der Homepage (bei mir also akapuma.info), und das geht nicht. Dann kommt Fehler 401.


    Einen weiteren Fehler hatte ich gemacht, weil keine index.html im Verzeichnis war. Dann kam auch eine Fehlermeldung. Ich hatte gehofft, daß der Server bei Verzeichnissen ohne index.html automatisch die enthaltenen Verzeichnisse auflistet - aber das geht wohl leider nicht.


    Gruß


    akapuma

  • [...] Ich hatte gehofft, daß der Server bei Verzeichnissen ohne index.html automatisch die enthaltenen Verzeichnisse auflistet - aber das geht wohl leider nicht.


    Dass diese Funktion per Standard deaktiviert ist, ist gut und sinnvoll - schützt den einen oder anderen vor Einblicke Unbefugter, die ggf. nicht gewollt sind.

    Die Option kannst du aber selbst per Hand aktivieren. Einfach in die bereits erstellte .htaccess Datei folgende Zeile hinzufügen:

    Code: .htaccess
    Options +Indexes


    Gruß

    René

  • Beide Dateien haben die Berechtigung 0755.

    Das ist keine gute Idee, da die Datei dann auch von außen beschreibbar, d.h. jeder kann diese ändern, ist. Die Berechtigung ist auf maximal 644 zu setzen, eigentlich 640 aber das geht hier beim Webhosting nicht. Die Berechtigung 755 nutzt man im Webspace eigentlich NIE!

  • Code: .htaccess
    Options +Indexes

    Danke, funktioniert perfekt.


    Das ist keine gute Idee, da die Datei dann auch von außen beschreibbar, d.h. jeder kann diese ändern, ist. Die Berechtigung ist auf maximal 644 zu setzen, eigentlich 640 aber das geht hier beim Webhosting nicht. Die Berechtigung 755 nutzt man im Webspace eigentlich NIE!

    Die 755 hatte ich mir ergoogelt, und ich bin mir sicher, daß ich gestern 755 eingestellt hatte. Heute stand die Dateiberechtigung automatisch auf 644.


    Testweise habe ich mal mit FileZilla 640 eingestellt. Die 640 wird zwar gesetzt, aber es gibt Probleme:

    - Filezilla kann die Datei dann nicht mehr herunterladen/bearbeiten. Zuerst muß man die Berechtigung wieder auf 644 stellen.

    - Der Websiteaufruf funktioniert auch nicht mehr, es kommt eine Fehlermeldung.


    Mit der 644 klappt es prima.


    Vielen Dank!


    Schöne Grüße


    akapuma