Proxy-Zugang: Benutzer (lokale Variante)

Tripwire, Guardian, Snort, Squidclamav
Post Reply
maveipfire
Posts: 11
Joined: May 10th, 2016, 1:01 pm

Proxy-Zugang: Benutzer (lokale Variante)

Post by maveipfire » August 25th, 2018, 2:36 pm

Hallo,

im Wiki wird für die https://wiki.ipfire.org/configuration/n ... roxy-Usern beschrieben, dass bei der Methode "Local user authentication" die einzelnen User selbst die Passwörter (nachträglich) ändern könnten. Dazu wäre aufzurufen:

https://ipfire:444/cgi-bin/chpasswd.cgi

Wenn ich das mache, erhalte ich allerdings die Fehlermeldung:

Code: Select all

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
...
Voraussetzung: Neuinstallation IPFire 2.21 (x86_64) - Core Update 122.

Habe ich etwas übersehen? Für Hinweise bin ich dankbar!

BeBiMa
Posts: 2842
Joined: July 30th, 2011, 12:55 pm
Location: Mannheim

Re: Proxy-Zugang: Benutzer (lokale Variante)

Post by BeBiMa » August 25th, 2018, 3:11 pm

Bei mir tritt dieser Fehler leider nicht auf.

Du kannst aber zur Fehlereingrenzung in /srv/web/ipfire/cgi-bin/chpasswd.cgi am Anfang die Fehlerbehandlung auskommentieren. D.h. dort sollte stehen

Code: Select all

# enable only the following on debugging purpose
use warnings;
no warnings "once";
use CGI::Carp 'fatalsToBrowser';
Damit werden evtl. Programmfehler im Browser ausgegeben.
Image
Unitymedia Cable Internet ( 32MBit )

maveipfire
Posts: 11
Joined: May 10th, 2016, 1:01 pm

Re: Proxy-Zugang: Benutzer (lokale Variante)

Post by maveipfire » August 25th, 2018, 9:03 pm

.. vielen Dank! Leider steht der aufgeführte Debug-Code gar nicht in der chpasswd.cgi meiner Installation. Und wenn ich den Code einfüge, passiert auch nichts anderes. Ich sehe gerade, dass es auf einem anderen, ebenso aktuellen IPFire funktioniert. Da frage ich mich nun, was da anders ist. Also mal mit den Log-Files anfangen, z.B., das hier:

Code: Select all

HTTP-Server:
 A total of 2 sites probed the server
    192.168.198.30
    192.168.198.71

 Requests with error response codes
    400 Bad Request
       null: 11 Time(s)
       /: 2 Time(s)
    401 Unauthorized
       /cgi-bin/index.cgi: 12 Time(s)
       /cgi-bin/speed.cgi: 1 Time(s)
    404 Not Found
       /chpasswd.cgi: 5 Time(s)
    500 Internal Server Error
       /cgi-bin/chpasswd.cgi: 1 Time(s)
401 Unauthorized: mal schauen, was das verursacht ...

BeBiMa
Posts: 2842
Joined: July 30th, 2011, 12:55 pm
Location: Mannheim

Re: Proxy-Zugang: Benutzer (lokale Variante)

Post by BeBiMa » August 25th, 2018, 9:18 pm

Wenn dieser Programmcode in chpasswd.cgi nicht enthalten ist, ist wohl etwas schiefgelaufen bei der Installation.
Image
Unitymedia Cable Internet ( 32MBit )

maveipfire
Posts: 11
Joined: May 10th, 2016, 1:01 pm

Re: Proxy-Zugang: Benutzer (lokale Variante)

Post by maveipfire » August 25th, 2018, 10:50 pm

Leider nicht. Die Datei ist völlig identisch mit derjenigen der funktionierenden Installation.

[Ergänzung:]

Soeben habe ich mit der ipfire-2.21.x86_64-full-core122.iso auf einem APU.2C0-Board eine Neuinstallation durchgeführt und unmittelbar danach die https://xxx.xxx.xxx.xxx:444/cgi-bin/chpasswd.cgi aufgerufen. => Internal Server Error. Uuuups. :o

BeBiMa
Posts: 2842
Joined: July 30th, 2011, 12:55 pm
Location: Mannheim

Re: Proxy-Zugang: Benutzer (lokale Variante)

Post by BeBiMa » August 26th, 2018, 9:04 am

Das mit dem fehlenden Debugcode ist leider so richtig.
Aufgrund der Logs scheint er entweder nicht auf chpasswd zugreifen zu können. "Datei fehlt" können wir ausschliessen. Du hast ja die Files verglichen.
Image
Unitymedia Cable Internet ( 32MBit )

maveipfire
Posts: 11
Joined: May 10th, 2016, 1:01 pm

Re: Proxy-Zugang: Benutzer (lokale Variante)

Post by maveipfire » August 26th, 2018, 5:07 pm

Sehr merkwürdig. Nach erfolgloser Fehlersuche installierte ich eine vorige Version (2.19), bei der der chpasswd-Aufruf ebenfalls einen Internal Server Error brachte. Nun wechselte ich von der Installation mit gebootetem USB-Stick zu mit der IPFire-Image geflashten mSata-SSD. Und das war's dann. Nach dem Setup lief die Seite. Vermutlich ein Phänomen beim Installationsvorgang. Ob das nun an meinen USB-Sticks liegt oder der mSata-SSD, mag sein. Evt. ist es auch ein Problem im Installationsscript, was aber andere Leute wissen/ermitteln könnten :)

Nun besteht noch dieses kleine Problem: Ich hatte zuvior schon festgestellt, dass die Mindestlänge der Proxy-Passwörter (Methode "lokal") nicht nur Mindestlänge, sondern auch Fixlänge ist. D.h., die Passwörter müssen exakt diese Länge aufweisen. Kürzere werden bei mir nicht angenommen bzw. funktionieren nicht, bei längeren wird automatisch abgeschnitten. Das führt zu Irritationen bei den Nutzern, spätestens, wenn sie ihre Passwörter ändern ... mal schauen, wo ein guter Ort hier im Forum für diese Frage ist.

BeBiMa
Posts: 2842
Joined: July 30th, 2011, 12:55 pm
Location: Mannheim

Re: Proxy-Zugang: Benutzer (lokale Variante)

Post by BeBiMa » August 26th, 2018, 6:57 pm

Also eine Beschränkung auf genau 6 Zeichen Passwortlänge kann ich jetzt auf die Schnelle nicht erkennen.
Weder im .cgi-File noch in den Krypto-/Passwortfile-Verwaltungsroutinen.
Die lokale Identifikation verwendet .htpasswd-kompatible Verschlüsselung. Eine IPFire-spezifische Beschränkung auf 6 Zeichen existiert nicht, da Apache für das WUI zuständig ist, mein admin-PW länger als 6 Zeichen ist und der Zugang zur WUI nicht möglich ist, wenn ich z.B. das letze Zeichen vergesse oder falsch eingebe.
Image
Unitymedia Cable Internet ( 32MBit )

maveipfire
Posts: 11
Joined: May 10th, 2016, 1:01 pm

Re: Proxy-Zugang: Benutzer (lokale Variante)

Post by maveipfire » August 26th, 2018, 7:18 pm

... auch (wieder) merkwürdig. ::)

Also, die minimale Passwortlänge (NCSA_MIN_PASS_LEN) ist hinterlegt in der Datei /var/ipfire/proxy/advanced/settings und ich habe das vorhin nochmal durchgespielt (basic auth des Squid): Gebe ich mein Anlegen eines Benutzers ein längeres oder (!) kürzeres Passwort ein, wird das scheinbar akzeptiert, einloggen ist aber nicht. Es erfolgt ja keine Meldung, der Benutzer hingegen wird angelegt.

Die in /var/ipfire/proxy/advanced/ncsa/passwd hinterlegten Benutzernamen und kodierten Passwörter funktionieren (hier) immer nur dann, wenn sie beim Anlegen eines Benutzers die exakte Länge hatten. Ändere ich diese, lege neue Benutzer an, funktionieren die zuvor erzeugten Benutzer mit ihren Passwörtern immer noch (soweit ich das jetzt durchgespielt habe). Irgendwo scheint der Parameter NCSA_MIN_PASS_LEN berücksichtigt zu werden.

Das Problem ist, wenn nun ein Benutzer über https://ipfireIP:44/cgi-bin/chpasswd.cgi sein Passwort ändert, dieses aber länger als die Mindestlänge ist, funktioniert das von ihm (gedacht) gesetzte nicht, obgleich es vom CGI-Formular angenommen wurde. Tatsächlich funktioniert sein auf die aktuelle Mindestlänge "abgeschnittenes" Passwort, d.h. beim Ändern/Anlegen wird es schon gekürzt. Hmmmm.

Allemal: Dank für die Rückmeldungen!

Post Reply