RFC: Kommende XML-API CCU Addon 2.0 Version
Verfasst: 23.12.2022, 20:55
Hallo Zusammen,
in den letzten Tagen habe ich mich nun endlich einmal an das XML-API Addon wieder herangewagt um einige Verbesserungen umzusetzen die mir schon länger durch den Hinterkopf gegangen sind. Wie vielleicht bereits bekannt ist/war, bietet das XML-API Addon eine recht simple Art&Weise um nicht nur Werte einer CCU/RaspberryMatic abzufragen und die Antworten im XML Format zurück zu erhalten, es erlaubt auch gewisse Operationen oder Änderungen an Geräten, Systemvariablen, etc. hierüber vorzunehmen ähnlich wie das mit der internen JSONRPC API oder anderen APIs möglich ist.
Ein großes Problem dieses XML-API Addons ist/war es bisher jedoch, das alle diese Abfragen und Operationen völlig ohne Authentifizierungsprüfung stattgefunden haben. Und da dieses Addon jedoch einen recht hohen Verbreitungsgrad besitzt ist dies gerade nach Installation dieses Addons mitunter recht problematisch. Und auch wenn das Einrichten eines einfachen Port Forwardings weiterhin ein absolutes NoGo ist im Bezug auf eine CCU/RaspberryMatic, so ist es wirklich bisher für jemanden ein Leichtes bei einem installierten XML-API Addon beliebige Operationen bis hin zum kompletten Löschen oder anlegen von Admin Accounts vorzunehmen. Und da eben dieses Addon recht weit verbreitet ist, so ist es nicht verwunderlich das einige CCU-Zentralen die fälscherlicherweise via Port Forwarding freigegeben wurden von Fremden übernommen wurde. Genau deshalb existieren im XML-API Addon Projekt auch schon seit längerem Tickets und auch PullRequests die diesem Umstand versuchen Rechnung zu tragen (siehe https://github.com/homematic-community/ ... /issues/29, https://github.com/homematic-community/XML-API/pull/31).
Da es sich bei diesen Sicherheitsanpassungen jedoch leider nicht um einfach Anpassungen handelt wie diese bei anderen Addons bereits umgesetzt wurden, sondern es sich beim XML-API Addon eben um ein Addon handelt bei dem man eben eine API für die Abfragen/Nutzung erhält muss man hier eben etwas anders vorgehen damit bestehende Applikationen/Nutzungsfälle die diese API nutzen nicht komplett aufgeschmissen sind.
Und so gibt es nun inzwischen schon eine erste beta-version einer XML-API CCU Addon 2.0 Version die ich heute im GitHub Projekt als Pre-Release Version freigegeben habe. Siehe:
https://github.com/homematic-community/ ... /tag/2.0b4
Hier sei jedoch explizit davor gewarnt diese einfach in einem produktivem System über eine alte XML-API Addon Version drüberzuinstallieren, da durch das einführen von Authentifizierungsfunktionen (login + logout) es nun notwendig ist bestehende Applikationen zu anzupassen, das diese mittels Nutzername+Passwort sich erst eine valide Session ID generieren lassen die man dann für die weitere Aufrufe der API Funktionen nutzen muss.
Und da mir aktuell nicht alle Nutzungsszenarien bzw. Use-Cases bzgl. XML-API Addon bekannt sind, habe ich mich eben dazu entschieden erst diesen Pre-Release herauszubringen um dazu einzuladen sich bei der Finalisierung der kommenden 2.0 Version entsprechend zu beteiligen. Gerade Entwickler oder Nutzer die bereits auf die alte XML-API 1.x Version setzen sind hier explizit angesprochen und dazu aufgerufen entsprechende Tests der neuen 2.0 Version zu machen um gerade die neuen Authentifizierungsfunktionen auf Herz+Nieren zu testen und auch Feedback zu geben wo vielleicht das Eine oder Andere noch fehlt.
In diesem Sinne würde ich mich freuen wenn hier Interessierte bzgl. XML-API Addon sich zusammenführen würden damit die finale 2.0 Version hoffentlich noch in Q1/2023 so erscheinen kann das diese dann auf die Allgemeinheit losgelassen werden kann.
in den letzten Tagen habe ich mich nun endlich einmal an das XML-API Addon wieder herangewagt um einige Verbesserungen umzusetzen die mir schon länger durch den Hinterkopf gegangen sind. Wie vielleicht bereits bekannt ist/war, bietet das XML-API Addon eine recht simple Art&Weise um nicht nur Werte einer CCU/RaspberryMatic abzufragen und die Antworten im XML Format zurück zu erhalten, es erlaubt auch gewisse Operationen oder Änderungen an Geräten, Systemvariablen, etc. hierüber vorzunehmen ähnlich wie das mit der internen JSONRPC API oder anderen APIs möglich ist.
Ein großes Problem dieses XML-API Addons ist/war es bisher jedoch, das alle diese Abfragen und Operationen völlig ohne Authentifizierungsprüfung stattgefunden haben. Und da dieses Addon jedoch einen recht hohen Verbreitungsgrad besitzt ist dies gerade nach Installation dieses Addons mitunter recht problematisch. Und auch wenn das Einrichten eines einfachen Port Forwardings weiterhin ein absolutes NoGo ist im Bezug auf eine CCU/RaspberryMatic, so ist es wirklich bisher für jemanden ein Leichtes bei einem installierten XML-API Addon beliebige Operationen bis hin zum kompletten Löschen oder anlegen von Admin Accounts vorzunehmen. Und da eben dieses Addon recht weit verbreitet ist, so ist es nicht verwunderlich das einige CCU-Zentralen die fälscherlicherweise via Port Forwarding freigegeben wurden von Fremden übernommen wurde. Genau deshalb existieren im XML-API Addon Projekt auch schon seit längerem Tickets und auch PullRequests die diesem Umstand versuchen Rechnung zu tragen (siehe https://github.com/homematic-community/ ... /issues/29, https://github.com/homematic-community/XML-API/pull/31).
Da es sich bei diesen Sicherheitsanpassungen jedoch leider nicht um einfach Anpassungen handelt wie diese bei anderen Addons bereits umgesetzt wurden, sondern es sich beim XML-API Addon eben um ein Addon handelt bei dem man eben eine API für die Abfragen/Nutzung erhält muss man hier eben etwas anders vorgehen damit bestehende Applikationen/Nutzungsfälle die diese API nutzen nicht komplett aufgeschmissen sind.
Und so gibt es nun inzwischen schon eine erste beta-version einer XML-API CCU Addon 2.0 Version die ich heute im GitHub Projekt als Pre-Release Version freigegeben habe. Siehe:
https://github.com/homematic-community/ ... /tag/2.0b4
Hier sei jedoch explizit davor gewarnt diese einfach in einem produktivem System über eine alte XML-API Addon Version drüberzuinstallieren, da durch das einführen von Authentifizierungsfunktionen (login + logout) es nun notwendig ist bestehende Applikationen zu anzupassen, das diese mittels Nutzername+Passwort sich erst eine valide Session ID generieren lassen die man dann für die weitere Aufrufe der API Funktionen nutzen muss.
Und da mir aktuell nicht alle Nutzungsszenarien bzw. Use-Cases bzgl. XML-API Addon bekannt sind, habe ich mich eben dazu entschieden erst diesen Pre-Release herauszubringen um dazu einzuladen sich bei der Finalisierung der kommenden 2.0 Version entsprechend zu beteiligen. Gerade Entwickler oder Nutzer die bereits auf die alte XML-API 1.x Version setzen sind hier explizit angesprochen und dazu aufgerufen entsprechende Tests der neuen 2.0 Version zu machen um gerade die neuen Authentifizierungsfunktionen auf Herz+Nieren zu testen und auch Feedback zu geben wo vielleicht das Eine oder Andere noch fehlt.
In diesem Sinne würde ich mich freuen wenn hier Interessierte bzgl. XML-API Addon sich zusammenführen würden damit die finale 2.0 Version hoffentlich noch in Q1/2023 so erscheinen kann das diese dann auf die Allgemeinheit losgelassen werden kann.