TinyMatic und passwortgesicherter Zugang zum XML-API
Moderator: Co-Administratoren
TinyMatic und passwortgesicherter Zugang zum XML-API
Hallo alle,
ich habe den Zugang zum XML-API meiner CCU2 mit Passwort gesichert (Anleitung hier).
Allerdings kann TinyMatic damit nichts anfangen; trotz der entsprechenden Einstellungen erhalte ich nur die Fehlermeldung "401 Unauthorized".
Vom Rechner aus über den Browser funktioniert das auch wie gewünscht, nur die App TinyMatic verweigert die Anmeldung und gibt den Fehler 401 Unauthorized aus.
HTTP Auth ist in den Netzwerkeinstellungen aktiviert, Benutzername und Passwort sind eingetragen (und funktionieren im Browser auch).
Ich habe die Einstellungen komplett zurück gesetzt und alles neu eingetragen. Es funktioniert einfach nicht (unabhängig auch von der Einstellung "HTTPS aktiviert").
Wo liegt der Fehler?
Beste Grüße
DAC324
ich habe den Zugang zum XML-API meiner CCU2 mit Passwort gesichert (Anleitung hier).
Allerdings kann TinyMatic damit nichts anfangen; trotz der entsprechenden Einstellungen erhalte ich nur die Fehlermeldung "401 Unauthorized".
Vom Rechner aus über den Browser funktioniert das auch wie gewünscht, nur die App TinyMatic verweigert die Anmeldung und gibt den Fehler 401 Unauthorized aus.
HTTP Auth ist in den Netzwerkeinstellungen aktiviert, Benutzername und Passwort sind eingetragen (und funktionieren im Browser auch).
Ich habe die Einstellungen komplett zurück gesetzt und alles neu eingetragen. Es funktioniert einfach nicht (unabhängig auch von der Einstellung "HTTPS aktiviert").
Wo liegt der Fehler?
Beste Grüße
DAC324
-
- Beiträge: 427
- Registriert: 08.03.2010, 13:38
- Hat sich bedankt: 6 Mal
- Danksagung erhalten: 34 Mal
Re: TinyMatic und passwortgesicherter Zugang zum XML-API
Hi,
Es gibt von dieser Anleitung eine aktualisierte Version, die mit TinyMatic funktioniert:
https://web.archive.org/web/20170627190 ... -mod_auth/
Danke übrigens für die Idee mit archive.org, ich hatte die Anleitung schon verloren geglaubt!
Es gibt von dieser Anleitung eine aktualisierte Version, die mit TinyMatic funktioniert:
https://web.archive.org/web/20170627190 ... -mod_auth/
Danke übrigens für die Idee mit archive.org, ich hatte die Anleitung schon verloren geglaubt!
Re: TinyMatic und passwortgesicherter Zugang zum XML-API
Vielen herzlichen Dank für diese Aktualisierung und die schnelle Hilfe. Damit funktioniert es tatsächlich wie gewünscht.ultrah hat geschrieben: ↑05.06.2019, 23:17Hi,
Es gibt von dieser Anleitung eine aktualisierte Version, die mit TinyMatic funktioniert:
https://web.archive.org/web/20170627190 ... -mod_auth/
Danke übrigens für die Idee mit archive.org, ich hatte die Anleitung schon verloren geglaubt!
Ich habe hier bei mir auf den Einsatz einer extra SD-Karte verzichtet und die Dateien nebst Anleitung auf meinem Rechner gespeichert. Da man nach einem Update der CCU-Firmware ohnehin die Konfigurationsdateien des lighttpd anpassen muss, kann man bei dieser Gelegenheit dann auch die config.conf wieder zurück spielen.
Außerdem fand ich den Hinweis in den Kommentaren, doch am besten gleich den kompletten Zugang über SSL zu schützen, sehr sinnvoll. Bei der normalen Portweiterleitung über den Router ist die Oberfläche der CCU sonst aus dem Internet ohne Schutz erreichbar.
Verkürzte Vorgehensweise also:
- SSH-Zugang über die Web-Oberfläche der CCU freischalten (Einstellung -> Systemsteuerung -> Sicherheit)
Über SSH auf der CCU einloggen:Man landet dabei automatisch im Verzeichnis /root, welches sich sehr gut als Ablage für die Konfigurationsdateien missbrauchen lässt. Im Folgenden wird also dieses Verzeichnis verwendet. Wer eine SD-Karte hat, muss natürlich die Pfade gemäss Anleitung von psycho0verload anpassen.Code: Alles auswählen
ssh root@IP-Adresse.der.CCU
- Root-Filesystem als schreibbar einhängen:
Code: Alles auswählen
mount -o remount,rw /
- Konfigurationsdatei für den Zugriff auf das XML-API erstellen: Inhalt der Datei:
Code: Alles auswählen
vi config.conf
Code: Alles auswählen
auth.backend = "plain" auth.backend.plain.userfile = "/root/.pw" auth.require = ( "/config/xmlapi" => ( "method" => "basic", "realm" => "Benutzername", "require" => "valid-user" ), "/addons/xmlapi" => ( "method" => "basic", "realm" => "Benutzername", "require" => "valid-user" ) )
- Konfigurationsdatei für den Zugriff über SSL erstellen: Inhalt der Datei:
Code: Alles auswählen
vi config.conf.ssl
Code: Alles auswählen
auth.backend = "plain" auth.backend.plain.userfile = "/root/.pw" auth.require = ( "/" => ( "method" => "basic", "realm" => "Benutzername", "require" => "valid-user" ) )
- Datei mit Benutzernamen und Passwörtern erstellen: Inhalt der Datei:
Code: Alles auswählen
vi .pw
WICHTIG: Der Benutzername sollte mit dem Namen unter "realm" in den Konfigurationsdateien übereinstimmen!Code: Alles auswählen
Benutzername:Passwort
- Konfiguration des lighttpd aktualisieren: Folgende Zeile ist ganz ans Ende der Datei einzutragen (mit "G" springt man im VI ans Dateiende):
Code: Alles auswählen
vi /etc/lighttpd/lighttpd.conf
Code: Alles auswählen
include "/root/config.conf"
- Konfiguration des lighttpd für SSL-Zugriff aktualisieren: Folgende Zeile ist ganz ans Ende der Datei einzutragen (mit "G" springt man im VI ans Dateiende):
Code: Alles auswählen
vi /etc/lighttpd/lighttpd_ssl.conf
Code: Alles auswählen
include "/root/config.conf.ssl"
- CCU neu starten mit
Code: Alles auswählen
reboot

Vielen Dank und beste Grüße
DAC324
Re: TinyMatic und passwortgesicherter Zugang zum XML-API
Seit einem der letzten Updates funktioniert das so nicht mehr. Der Passwortschutz wird ignoriert und man kann die Seite wieder einfach so aufrufen. Hat Jemand eine Idee was angepasst werden muss? Oder gibt's irgendwo eine noch aktuellere Anleitung?
-
- Beiträge: 304
- Registriert: 19.06.2017, 09:24
- Hat sich bedankt: 18 Mal
- Danksagung erhalten: 54 Mal
Re: TinyMatic und passwortgesicherter Zugang zum XML-API
Bei mir läuft XML-API 1.22 auf PivCCU3 3.65.8, müsste also beides aktuelle sein.
Die Passwortabfrage für die XML-API hatte ich mir seinerzeit irgendwo gegoogelt, weiß aber nicht mehr wo.
Am Ende der /etc/lighttpd/lighttpd.conf steht include "/etc/config/lighttpd/*.conf", ich glaube das ist da standardmäßig schon drin.
/etc/config/lighttpd/xmlapi_auth.conf hat dann folgenden Inhalt:
Frag mich bitte nicht, wie ich die /etc/config/lighttpd/.htpasswd erstellt habe, das htpasswd Tool gibt es nämlich nicht. Wahrscheinlich auf dem Raspberry OS und dann rein kopiert.
Da alles unter /etc/config liegt, wird es in Backups mit gesichert und bei Updates nicht überschrieben.
Die Passwortabfrage für die XML-API hatte ich mir seinerzeit irgendwo gegoogelt, weiß aber nicht mehr wo.
Am Ende der /etc/lighttpd/lighttpd.conf steht include "/etc/config/lighttpd/*.conf", ich glaube das ist da standardmäßig schon drin.
/etc/config/lighttpd/xmlapi_auth.conf hat dann folgenden Inhalt:
Code: Alles auswählen
auth.backend = "htpasswd"
auth.backend.htpasswd.userfile = "/etc/config/lighttpd/.htpasswd"
auth.require = ( "/addons/xmlapi/" =>
(
"method" => "basic",
"realm" => "Authentication required",
"require" => "valid-user"
),
"/config/xmlapi/" =>
(
"method" => "basic",
"realm" => "Authentication required",
"require" => "valid-user"
)
)
Da alles unter /etc/config liegt, wird es in Backups mit gesichert und bei Updates nicht überschrieben.
- blackhole
- Beiträge: 3686
- Registriert: 21.07.2015, 14:03
- System: CCU
- Hat sich bedankt: 181 Mal
- Danksagung erhalten: 569 Mal
- Kontaktdaten:
Re: TinyMatic und passwortgesicherter Zugang zum XML-API
Erzähle doch einmal, warum genau Du einen Passwortschutz benötigst.
Es gibt sicherlich einen sinnvolleren Weg den Zugriff auf die API einzuschränken.
-
- Beiträge: 1089
- Registriert: 14.02.2016, 12:32
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Heidenheim
- Hat sich bedankt: 54 Mal
- Danksagung erhalten: 204 Mal
Re: TinyMatic und passwortgesicherter Zugang zum XML-API
War bei mir z.B. sehr hilfreich im Zusammenspiel mit einem vorgeschalteten ReverseProxy mit Auth. (+ Fail2Ban), der die Basic Auth. an die Zentrale durchgereicht hat (natürlich mit einem passenden Zertifikat per HTTPS).
So konnte ich TinyMatic mittels SplitDNS intern wie extern mit einheitlicher Einstellung konfigurieren.
Aber inzwischen gehe ich eh andere Wege was die (manchmal notwendige) Bedienung angeht, die XML-API hab ich nicht mehr drauf, war mir ein Dorn im Auge...
So konnte ich TinyMatic mittels SplitDNS intern wie extern mit einheitlicher Einstellung konfigurieren.
Aber inzwischen gehe ich eh andere Wege was die (manchmal notwendige) Bedienung angeht, die XML-API hab ich nicht mehr drauf, war mir ein Dorn im Auge...
Re: TinyMatic und passwortgesicherter Zugang zum XML-API
Ich habe 3.65.11 installiert, seitdem funktioniert es nicht mehr. Also Vorsicht beim Upgrade, ich habe auch deine Konfiguration getestet.
Ich möchte einfach auf so sicherheitskritischen Diensten einen Passwortschutz haben. Selbst wenn ich es nur im lokalen Netzwerk nutze. Und es hat ja auch immer funktioniert. Nur seit Version 3.65.11 nicht mehr.
- jmaus
- Beiträge: 9609
- Registriert: 17.02.2015, 14:45
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Dresden
- Hat sich bedankt: 428 Mal
- Danksagung erhalten: 1748 Mal
- Kontaktdaten:
Re: TinyMatic und passwortgesicherter Zugang zum XML-API
Du kannst dich gerne auch mal an der aktuellen development version des XML-API Addons versuchen die es aktuell als v2 pre-release zum testen und feedback dazu geben hier diskutiert wird:
viewtopic.php?f=41&t=77234
Diese kommt unter anderem mit einem verpflichtendem Login-Mechanismus daher um sich somit Authentifizieren zu müssen bevor mal die API nutzen kann. Und wenn man da jetzt das ganze via HTTPS absichert sollte das ganze nun sehr sicher ablaufen. Ein einfaches Port Forwarding würde ich aber trotzdem nicht drauf loslassen, vmtl.
RaspberryMatic 3.71.12.20231020 @ Proxmox – ~195 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Twitter / Facebook / Sponsors