lighttpd htpasswd authentification
See original GitHub issueHi Jens,
vorab vielen Dank für deine tolle Arbeit und Unterstützung im ganzen Projekt. So, nun aber zum “fehlerhaften” Part. Ich nutze aktuell (noch bzw. wieder) das Release “RaspberryMatic 2.31.25.20180225”, bei welchem alles so funktioniert wie es soll.
Seit dem Update auf “RaspberryMatic 2.31.25.20180324” oder auch “RaspberryMatic 2.31.25.20180428” stimmt irgend was nicht mehr mit lighttpd und zwar konkret mit dem Authentifizierungsmodul über htpasswd.
Über den Aufruf einer geschützen Seite (z.B. XML API) gehen leider wirklich willkürlich Benutzer und Passwörter oder eben auch nicht beim Login. Ich habe diverse Kombinationen ausgetestet, leider kein logisches Muster. Ebenso wird in den Logs nichts gespeichert, nur das eben die Kobination zwischen Benutzer und Passwort nicht stimmen. Es wurden zudem die User + PW neu generiert, sowie die vorhandenen getestet… keine Chance ein Muster zu erkennen.
Beispiel: User: test Passwort: test –> geht
Beispiel 2: User: test2 Passwort: test –> geht nicht
/etc/lighttpd/conf.d/auth.conf:
auth.backend = "htpasswd"
auth.backend.htpasswd.userfile = "/etc/lighttpd/.lighttpdpassword"
auth.require = (
"/config/xmlapi" =>
(
"method" => "basic",
"realm" => "api",
"require" => "valid-user"
),
"/addons/xmlapi" =>
(
"method" => "basic",
"realm" => "api",
"require" => "valid-user"
),
"/config/email" =>
(
"method" => "basic",
"realm" => "api",
"require" => "valid-user"
),
"/addons/email" =>
(
"method" => "basic",
"realm" => "api",
"require" => "valid-user"
),
"/config/cuxd" =>
(
"method" => "basic",
"realm" => "api",
"require" => "valid-user"
),
"/addons/cuxd" =>
(
"method" => "basic",
"realm" => "api",
"require" => "valid-user"
)
)
/etc/lighttpd/.lighttpdpassword:
test:$apr1$bUJZ8ZB0$xxLP2bXQbocyASNUd3htD0
test2:$apr1$bUJZ8ZB0$xxLP2bXQbocyASNUd3htD0
/etc/lighttpd/lighttpd.conf: -> nur letzte Zeile hinzugefügt
include "/etc/lighttpd/conf.d/auth.conf"
/etc/lighttpd/lighttpd_ssl.conf: -> nur letzte Zeile hinzugefügt
include "/etc/lighttpd/conf.d/auth.conf"
Ggf. kannst du mal schauen was sich zwischen deinen Releases am lighttpd und auth modul selbst geändert hat. Kann gerne sonst noch Feedback geben, falls du Infos für einen PoC brauchst.
Issue Analytics
- State:
- Created 5 years ago
- Comments:21 (13 by maintainers)
Top GitHub Comments
@pfetzing Deine Vermutung war richtig, es liegt an der lighttpd 1.4.48 version die anscheinend einen Bug in der base64 dekodierungsfunktion hat. Habe nun für den nächsten Release auf die 1.4.50 version geupdatet und hoffe das damit das Problem beseitigt sein wird.
Gerne, dann hier mein kleiner PoC. Habe alle Pfade angepasst, d.h. keine Schreibrechte mehr mit extra mount nötig.
/etc/config/lighttpd/auth.conf
/etc/config/lighttpd/.lighttpdpassword (pro Zeile ein User:Passwort)
-> Passwort ist immer: test -> Kannst du auch selbst in der Shell erstellen mit:
htpasswd -n test
curl -k http://test:test@10.24.1.30/addons/xmlapi/info.html
-> 200 - OKcurl -k http://test2:test@10.24.1.30/addons/xmlapi/info.html
-> 401 - Unauthorizedcurl -k http://test3:test@10.24.1.30/addons/xmlapi/info.html
-> 401 - UnauthorizedFazit: Die 3 User sind nur exemplarisch, d.h. manche User gehen und manche nicht. Ggf. regex match oder so… und dann falsches Passwort herangezogen. Bin gespannt was dein Debug bringt. Danke 😃