Webseite schützen

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hallo hyle,

    hier die Ausgaben der beiden Kommandos:

    Apache Configuration
    pi@blau31:/var/www/html/h6 $ cat /var/www/html/h6/.htaccess
    AuthType Basic
    AuthName "Erst anmelden!"
    AuthUserFile /etc/apache2/.htpasswd
    Require valid-user
    pi@blau31:/var/www/html/h6 $ ls -l /var/www/html/h6/.htaccess
    -rw-r--r-- 1 pi pi 96  5. Nov 21:45 /var/www/html/h6/.htaccess
    pi@blau31:/var/www/html/h6 $

    Danke Thomas

  • .. In #12 fehlt ein Punkt vor htpasswd

    Nein, wieso? Das ist ein Dateiname wie jeder andere auch. Warum sollte man daraus ein leicht zu übersehendes Dot-File machen? Zugriff darauf hast du über den Webserver ohnehin nicht.

    Siehe auch z.B. "Get it working" in

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

    bzw man-page von htpasswd (dem Tool)

    Wenn du nichts zu sagen hast, sag einfach nichts.

    Einmal editiert, zuletzt von llutz (5. November 2022 um 22:49)

  • Warum sollte man daraus ein leicht zu übersehendes Dot-File machen?

    Weil es folgende Regel in der /etc/apache2/apache2.conf gibt:

    Code
    # The following lines prevent .htaccess and .htpasswd files from being
    # viewed by Web clients.
    #
    <FilesMatch "^\.ht">
            Require all denied
    </FilesMatch>

    Das ist zwar in dem Fall (wenn die .htpasswd in /etc/apache2/ liegt) egal, aber trotzdem sollte man sich m.M.n. an die Konventionen halten.

  • Das ist zwar in dem Fall (wenn die .htpasswd in /etc/apache2/ liegt) egal, aber trotzdem sollte man

    Das Passwortfile sollte nie in einem vom Webserver erreichbaren Pfad liegen, um bei eventueller Fehlkonfiguration (z.B Fehlen / Überschreiben der von dir genannten Direktive durch admin-Fehler) ein Herunterladen des Files definitiv auszuschliessen.

    Wenn du nichts zu sagen hast, sag einfach nichts.

  • Hallo zusammen,

    noch was zum Überlegen:

    In der apache2.conf steht dieser Eintrag:

    Code
    <Directory />
            Options FollowSymLinks
            #AllowOverride None
            AllowOverride All
            Require all denied
    </Directory>

    Wenn ich den, wie geschehen, von

    AllowOverride None auf AllowOverride All ändere, passiert gar nichts.

    Kommentiere ich diese Sektion aber ganz aus (# vor jede Zeile), dann erhalte ich beim Aufruf der Seite eine Fehlermeldung:

    Code
    Internal Server Error
    The server encountered an internal error or misconfiguration and was unable to complete your request.
    
    Please contact the server administrator at webmaster@localhost 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.
    
    Apache/2.4.54 (Raspbian) Server at 192.168.10.31 Port 80

    ???

    Habe das jetzt wieder geändert, so dass zumindest die Seite wieder angezeigt wird.

    Dann habe ich die .htpasswd in /etc/apache2/ geändert in htpasswd.

    In der .htaccess habe ich das auch angepasst

    AuthUserFile /etc/apache2/htpasswd

    Es funktioniert nicht. Die Seite wird ohne Rückfrage angezeigt. Habe das auch mit einem anderen Browser getestet. Auch mit Seite neu Laden, Cache löschen, Browserdaten löschen etc.

    Danke Thomas

  • Hallo hyle,

    der Pfad /var/www/html/ war in der apache2.conf nicht vorhanden.

    Habe ihn ergänzt:

    Code
    <Directory /var/www/html/>
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
    </Directory>

    - keine Änderung.

    Das Kommando cat /etc/os-release ergibt dieses Ergebnis:

    Danke Thomas

  • Thomas220 Prüfe mal deine gesamte Konfiguration und die Apache2-Logs. Eventuell wurde beim Rumspielen irgendwo etwas geändert, was nun basic_auth verhindert.

    Aktive Konfiguration kannst du z.B. mit folgendem einsehen:

    Bash
    #!/bin/sh
    a2enmod info
    apache2ctl -DDUMP_CONFIG | grep -vE "^[ ]*#[ ]*[0-9]+:$"
    a2dismod info
    apache2ctl -M |grep auth

    Ich habe hier gerade mal einen nackten Debian 11 Container (allerdings kein Raspbian, sollte aber keinen Unterschied machen) mit

    Apache2 aufgesetzt und Basic-Auth wie in #12 beschrieben aktiviert - es funktioniert genau so.

    Keine Änderung apache2.conf, keine .htaccess, kein rewrite etc. lediglich in der aktivierten /etc/apache2/sites-available/000-default.conf die passende Direktive eingebaut und ein Reload gemacht.

    Wenn du nichts zu sagen hast, sag einfach nichts.

  • Guten Morgen zusammen.

    Gestern Abend war es mir zu spät und auch das Gehirn hing schon aus dem Kopf :sleepy:

    hyle:

    Also aufgesetzt wurde das System mit diesem Abbild 2021-10-30-raspios-bullseye-armhf.img

    Das Verzeichnis .../h6 habe ich angelegt. Dort befinden sich die Seiten/Dateien, die ich schützen will. Doch selbst wenn ich alles schützen will, also von /var/www/ abwärts, geht es nicht.

    @llutz :

    Habe die Zeilen in ein Shellscript kopiert. Das Ergebnis ist das hier:

    Weiß damit leider nicht so viel anzufangen.

    Wenn ich die /var/log/apache2/access.log auslese, habe ich diese beiden Einträge von Heute:

    Code
    192.168.10.117 - - [06/Nov/2022:10:58:04 +0100] "GET / HTTP/1.1" 200 11138 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHT>
    192.168.10.117 - - [06/Nov/2022:10:58:04 +0100] "GET /favicon.ico/favicon-32x32.png HTTP/1.1" 200 3474 "http://192.168.10.31/" "Mozilla/5.0 (Wind>

    Und in der /var/log/apache2/error.log diese beiden Zeilen:

    Code
    [Sun Nov 06 00:00:06.804070 2022] [mpm_event:notice] [pid 366:tid 3070037568] AH00489: Apache/2.4.54 (Raspbian) configured -- resuming normal ope>
    [Sun Nov 06 00:00:06.804387 2022] [core:notice] [pid 366:tid 3070037568] AH00094: Command line: '/usr/sbin/apache2'

    Ich kann nichts erkennen, was auf einen Missstand hindeutet. Aber vielleicht sehe ich auch nicht richtig.

    Danke Thomas

  • Weiß damit leider nicht so viel anzufangen.

    Dann vergleiche mit dieser (zu #37 passenden) Ausgabe und versuche deine Konfiguration zu verstehen und ggf. anzupassen.

    Spoiler anzeigen

    ..

    # In file: /etc/apache2/apache2.conf

    <Directory />

    Options FollowSymLinks

    AllowOverride None

    Require all denied

    </Directory>

    <Directory /usr/share>

    AllowOverride None

    Require all granted

    </Directory>

    <Directory /var/www/>

    Options Indexes FollowSymLinks

    AllowOverride None

    Require all granted

    </Directory>

    AccessFileName .htaccess

    <FilesMatch "^\.ht">

    Require all denied

    </FilesMatch>

    ..

    ..

    # In file: /etc/apache2/sites-enabled/000-default.conf

    <VirtualHost *:80>

    ServerAdmin webmaster@localhost

    DocumentRoot /var/www/html

    <Location />

    AuthType Basic

    AuthName "Please login."

    AuthUserFile "/etc/apache2/htpasswd"

    Require valid-user

    </Location>

    ErrorLog /var/log/apache2/error.log

    CustomLog /var/log/apache2/access.log combined

    </VirtualHost>


    Wenn du nichts zu sagen hast, sag einfach nichts.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!