Verständnisfrage zu Telegram-Bot und Sicherheit

Begonnen von andies, 25 März 2017, 11:24:45

Vorheriges Thema - Nächstes Thema

andies

Ich habe eine Verständnisfrage zu Telegram-Bot und den Sicherheitseinstellungen, weil sich mir das aus der Commandref nicht vollständig erschloss.

  • Nehmen wir an, man sendet von seinem Clienten (Handy etc.) eine Nachricht an den TelegramBot. Wenn allowUnknownContacts=0, dann nimmt FHEM die Nachricht nur entgegen, wenn der Absender in der Contacts-Liste enthalten ist. Richtig?
  • Wenn es sich bei der Nachricht um ein Kommando handelt, wird dies nur ausgeführt, wenn der Absender aus der Liste cmdRestrictedPeer und das Kommando aus allowedCommands ist; sonst wird textResponseUnauthorized geantwortet. Richtig? 
  • Wenn FHEM auf die Anfrage mit einer Nachricht antwortet, wird diese nur an defaultPeer gesendet. Andere Personen, die dem Bot beigetreten sind, bekommen die Nachricht nicht. Richtig?

Vielen Dank für die Hilfe!
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

amenomade

#1
Hi

1. Richtig
2. Richtig wenn allowedCommands definiert ist. Ansonsten werden alle Kommandos von erlaubte Kontakten ausgeführt
3. Antwort an Sender +(defaultPeer wenn defaultPeerCopy definiert)

Gruß
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

viegener

Ein paar Ergänzungen zu der Antwort von amenomade (die aber völlig richtig ist):

Kommandos heisst in diesem Fall FHEM-Befehle, die als Favoriten oder über den Kommandoprefix ausgeführt werden.
Antwort heisst hier Rückgabe / Ergebnis des Kommandos.

cmdRestrictedPeer sollte grundsätzlich mit peerIds gefüllt werden.

Grundsätzlich gilt aber, dass ich keinen Einblick habe ob die peerIds ein sicheres Kriterium für die Identifikation von Telegram accounts sind.
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Uwe S.

Hallo, eine Nachfrage noch dazu:

wenn allowUnknownContacts=0 und alle bekannten Kontakte Kommandos senden dürfen, kann ich mir die cmdRestrictedPeer doch sparen, oder?!
Dann sollten doch Nachrichten (und somit auch Kommandos) von nicht erwünschten (unbekannten) Absendern auch nicht ankommen bzw. bearbeitet werden. Ist das so richtig?

Gruß
Uwe

amenomade

Ich würde sagen ja
Das ist aber relativ einfach zu testen
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

viegener

Zitat von: Uwe S. am 05 Juni 2019, 16:46:13
Hallo, eine Nachfrage noch dazu:

wenn allowUnknownContacts=0 und alle bekannten Kontakte Kommandos senden dürfen, kann ich mir die cmdRestrictedPeer doch sparen, oder?!
Dann sollten doch Nachrichten (und somit auch Kommandos) von nicht erwünschten (unbekannten) Absendern auch nicht ankommen bzw. bearbeitet werden. Ist das so richtig?

Gruß
Uwe


Ich würde cmdRestrictedPeer immer setzen (und zwar mit account ids), da es immer mal wieder Fälle gibt, bei denen man allowUnknownContacts kurz verändern muss um einen neuen oder geänderten Benutzer aufzunehmen. Wenn dann cmdRestrictedPeer nicht gesetzt ist hat man ein Scheunentor geöffnet.

Mit der Kommandomöglichkeit über Telegram öffnet man einen Zugang zur Hausautomatisierung, da sollte man immer kritisch bleiben und lieber restriktiver als offener betreiben.
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

rohlande

Hallo Experten,

hat sich mal jemand überlegt statt Telegram-Bot den Chat-Bot einer Synology Disk Station zu verwenden?
Die bietet auch externe Anbindung und es gibt wohl auch User welche es per *.php an Fhem angebunden haben und damit auch eine interaktive Kommunikation erreichen.
Das ganze dann völlig losgelöst von externen Server Strukturen.

Vg Denny
HostSystem: Synology DS918 | FHEM im Docker Version: 6.0-s22528_v2.2.4 (dedizierte IP Adresse) | MQTT_Broker auf DS918 NAS | MQTT_FHEM | TASMOTA_DEVICE | SSChatBot | SSCam | LaMetric | FBAHAHTTP | CUL | SONOS | HUEBridge (deCONZ) Zigbee | FB_CALLMONITOR | InfluxDBLogger

viegener

Da ich das auch per PM gefragt wurde, hier nochmal meine Antwort @rohlande zu dem Punkt Synology Disk Station Chat als Alternative zu Telegram:

Die Frage ist immer Alternative zu was im Telegram-Bot? Versenden / Steuern / Status senden / ...

Ich kenne den Synology Chat auf der Diskstation nicht. Ich habe mal kurz auf die Doku geschaut. Im Prinzip wäre es damit möglich auch chats (per ausgehender Webhooks) an FHEM zu binden und natürlich auch Nachrichten von aussen zu posten. Es gibt auch eine App (in iOs ist die Bewertung aber nicht so gut...)

Also prinzipiell kann man sicher etwas damit machen, aber Du müsstest von Grund auf ein neues Modul dazu bauen.
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können