XML API Berechtigung

diverse Zusatzsoftware

Moderator: Co-Administratoren

Antworten
Pumbadinho
Beiträge: 11
Registriert: 07.06.2014, 13:44

XML API Berechtigung

Beitrag von Pumbadinho » 12.06.2014, 09:57

Hallo Comunity,

ich habe auf meiner Homematic XML API 1.10 installiert um die Komponenten mit HomeDroid steuern zu können.
Das funktioniert echt gut. Nun habe ich mit Tasker einige Get-Befehle erstellt um Anwesenheit zu setzen. Nur beim verlassen des Hauses, also disconnect vom WLAN kann ich keine Abwesenheit setzen.
Aus diesem Grund habe ich die HomeMatic über das Web veröffentlicht. Nun kann ich bei verlassen des WLANs über das Mobilnetz einen Statusupdate senden.

Nun kommt aber mein Problem damit: Das senden des Get-Befehls über das Internet ist zwar SSL verschlüsselt, aber es gibt keinerlei Benutzerauthentifizierung. Das heißt jeder, könnte theoretisch von Außen an meine HomeMatic einen Befehl schicken.

Nun gibt es ja dieses mein-homematic, allerdings muss ich sagen, dass ich es nicht einsehe hier ein Abo abzuschließen, da das ja anders zu lösen sein muss.
Es ist doch sicher möglich eine Benutzerauthentifizierung durchzuführen, wenn es sein muss mit htaccess files.

Kann mir hier jemand weiterhelfen?

Danke im voraus...

svenp
Beiträge: 630
Registriert: 11.12.2012, 14:24
Hat sich bedankt: 3 Mal
Danksagung erhalten: 4 Mal

Re: XML API Berechtigung

Beitrag von svenp » 12.06.2014, 10:48

Hallo, du hast doch sicher einen Router?
Wenn du eine Fritzbox hast kannst du einen IP Sec Tunnel aufbauen bei anderen Routern würde ich Openvpn nehmen wenn es eine passende Firmware dafür gibt.

Pumbadinho
Beiträge: 11
Registriert: 07.06.2014, 13:44

Re: XML API Berechtigung

Beitrag von Pumbadinho » 12.06.2014, 11:12

Naja das habe ich mir auch schon überlegt, nur wäre es mir lieber, wenn ich die Berechtigungen einfach auf dem Webserver setzen könnte.

VPN hätte wieder andere Probleme, da ich zum Beispiel auch automatisch meinen lockscreen deaktiviere wenn ich daheim bin. Die hat aber zur Folge, dass meine VPN Anmeldespeicher gelöscht werden...

Edit: Außerdem bekomme ich mein Handy nicht dazu automatisch eine VPN Verbindung aufzubauen, wenn ich das Haus verlasse. Dazu braucht man root und ich habe mir extra das N5 geholt, um es nicht zu rooten.

Benutzeravatar
Monty1979
Beiträge: 854
Registriert: 28.10.2010, 20:47
Wohnort: Bremen
Kontaktdaten:

Re: XML API Berechtigung

Beitrag von Monty1979 » 05.08.2014, 16:53

Hallo,
Pumbadinho hat geschrieben:Es ist doch sicher möglich eine Benutzerauthentifizierung durchzuführen, wenn es sein muss mit htaccess files.
htaccess geht auf der CCU (1 und 2) nicht. zumindest habe ich es nicht hinbekommen :?

Du kannst aber einen Raspberry als Proxy mit HTTPS Authentifizierung einsetzen http://home-24.net/wiki/index.php?title ... spberry_PI

Gruß Monty
Zuletzt geändert von Monty1979 am 07.08.2014, 12:07, insgesamt 1-mal geändert.

peissl.at
Beiträge: 1295
Registriert: 16.05.2010, 12:39
Wohnort: Südwestlich von Graz
Danksagung erhalten: 9 Mal

Re: XML API Berechtigung

Beitrag von peissl.at » 05.08.2014, 18:32

Hi,

wenn Zugriff, dann richtig...
...hier ist die Einrichtung für HTTPS sehr gut erklärt:

http://www.lxccu.com/apache-reverse-proxy-manual

Sonnige Grüße!
Robert

Gesendet von meinem iPad mit Tapatalk HD

Benutzeravatar
Monty1979
Beiträge: 854
Registriert: 28.10.2010, 20:47
Wohnort: Bremen
Kontaktdaten:

Re: XML API Berechtigung

Beitrag von Monty1979 » 06.08.2014, 16:53

Hallo Preissl,

hab ich irgend was überlesen. :shock:

Die Beschreibung beim Tutorial des Lighttpd sah ja gar nicht so schlecht aus.
"Als quasi Standard hat sich die letzten Jahre Apache etabliert, verliert aber in den letzten Monaten langsam an Bedeutung, da es mittlerweile Alternativen gibt. Apache ist ein guter Webserver, keine Frage. Er läuft stabil, ist relativ einfach zu konfigurieren und schnell installiert. Leider ist er sehr Hardware hungrig. Mit steigender Benuterzahl wird auch immer mehr Hauptspeicher verwendet, eine Tatsache die für unseren Rapsberry Pi nicht so gut ist."

Ist der Lighttpd nicht sicher oder schlechter?

Grüße Monty

peissl.at
Beiträge: 1295
Registriert: 16.05.2010, 12:39
Wohnort: Südwestlich von Graz
Danksagung erhalten: 9 Mal

Re: XML API Berechtigung

Beitrag von peissl.at » 06.08.2014, 21:22

Hallo Monty,

ich hab in Deinem Beitrag HTTP gelesen und wusste, dass es auf der LXCCU-Seite für eine HTTPS-Verbindung beschrieben wird. Darum mein Beitrag.

Sonnige Grüße!
Robert

Gesendet von meinem iPad mit Tapatalk HD

Benutzeravatar
Monty1979
Beiträge: 854
Registriert: 28.10.2010, 20:47
Wohnort: Bremen
Kontaktdaten:

Re: XML API Berechtigung

Beitrag von Monty1979 » 07.08.2014, 12:08

Hallo Robert,
peissl.at hat geschrieben: ich hab in Deinem Beitrag HTTP gelesen und wusste, dass es auf der LXCCU-Seite für eine HTTPS-Verbindung beschrieben wird. Darum mein Beitrag.
stimmt habe ich mal geändert :wink:

Gruß Monty

ayngush
Beiträge: 345
Registriert: 02.02.2012, 12:05
Danksagung erhalten: 7 Mal

Re: XML API Berechtigung

Beitrag von ayngush » 11.08.2014, 18:09

Hallo,

ich würde in dem Fall auch auf jeden Fall dazu Raten einen Raspberry Pi davor einzusetzen. Den kann man ja auch noch für weitere lustige Dinge nutzen. Und wenn man keinen vollständigen Proxy zur CCU braucht, dann kann man sich auch relativ einfach ein an- und abmelden Script, in PHP zum Beispiel, schreiben, welches man via HTTPS und Basic Auth in Form von https://benutzer:passwort@mein-raspi.de vom Handy aus (oder wovon auch immer) aufruft. So habe ich das mittlerweile gelöst. So und noch einen VPN-Server zusätzlich, falls ich mal manuell mehr machen möchte.

das Sieht (schmutzig zusammen kopiert) dann zum Beispiel so aus:

Code: Alles auswählen

<?php 
$CCU_IP = "192.168.1.200";
$HM_Script = "var sysVar=dom.GetObject('Anwesenheit'); sysVar.State(false);";

function HMRS_HTTP_Post($CCU_IP, $HM_Script) {
	$fp = fsockopen ($CCU_IP, 8181, $errno, $errstr, 2);
	$res = "";
	if (!$fp) {
    	$res = "$errstr ($errno)<br />\n";
	} else {
		fputs($fp, "POST /HMScript.exe HTTP/1.1\r\n");
		fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
		fputs($fp, "Content-length: ". strlen($HM_Script) ."\r\n");
		fputs($fp, "Connection: close\r\n\r\n");
		fputs($fp, $HM_Script);
	    while(!feof($fp)) {
			$res .= fgets($fp, 500);
		}
		fclose($fp);
	}
	return $res;
}

if(substr(HMRS_HTTP_Post($CCU_IP, $HM_Script),0,15) == 'HTTP/1.1 200 OK') echo "abgemeldet"; else echo "error";
?>
Ein Raspi macht an der Stelle auch noch zusätzlich Sinn, da ich dort, falls mal wieder so etwas wie Heartbleed auftaucht, relativ schnell und einfach die Server-Software auf einen aktuellen Stand bringen kann, ohne vom Gutdünken weiter Beteiligter, die für Updates länger brauchen, abhängig zu sein. Sprich: Auf dem Raspberry Pi kann ich den Webserver auch mal aktualisieren bei bekannten Sicherheitsproblemen, auf der CCU nicht.

Grüße

Benutzeravatar
schubertmedia
Beiträge: 3
Registriert: 08.09.2014, 08:27
Wohnort: Orlamünde
Kontaktdaten:

Re: XML API Berechtigung

Beitrag von schubertmedia » 08.09.2014, 15:53

Ich würde vor fsockopen noch eine @ Zeichen setzen, ansonsten spuckt PHP eine Fehlermeldung aus die man eventuell nicht verarbeiten kann. Zusätzlich empfiehlt es sich das Error Reporting Level runterzusetzen.

Antworten

Zurück zu „Sonstige Addons“