Allowed: Unterschied zwischen den Versionen
K (Modultyp geändert) |
(HTTPS als Empfehlung, ungenutzte Bereiche deaktiviert, Baustelle entfernt) |
||
Zeile 1: | Zeile 1: | ||
{{SEITENTITEL:allowed}} <!-- da richtige Schreibweise kleinen Anfangsbuchstaben hat --> | {{SEITENTITEL:allowed}} <!-- da richtige Schreibweise kleinen Anfangsbuchstaben hat --> | ||
{{Infobox Modul | {{Infobox Modul | ||
Zeile 27: | Zeile 26: | ||
==Weitere Hinweise== | ==Weitere Hinweise== | ||
Sofern FHEM nicht nur aus dem lokalen Netz erreichbar sein soll, sollten neben der Definition einer oder mehrerer allowed-Instanzen zusätzliche Sicherheitsmaßnahmen ergriffen werden. Mögliche Optionen dafür sind die Verwendung eines VPNs (Virtual Private Network) und/oder eines Reverse-Proxy-Servers mit z.B. [[Apache_Authentication_Proxy|Apache]] oder [[HTTPS-Absicherung_%26_Authentifizierung_via_nginx_Webserver|nginx]]. | Sofern FHEM nicht nur aus dem lokalen Netz erreichbar sein soll, sollten neben der Definition einer oder mehrerer allowed-Instanzen zusätzliche Sicherheitsmaßnahmen ergriffen werden. Mögliche Optionen dafür sind die Verwendung eines VPNs (Virtual Private Network) und/oder eines Reverse-Proxy-Servers mit z.B. [[Apache_Authentication_Proxy|Apache]] oder [[HTTPS-Absicherung_%26_Authentifizierung_via_nginx_Webserver|nginx]]. | ||
Es wird dringend empfohlen, für alle Webserver des Typs '''FHEMWEB''' mithilfe des Attributes {{Link2CmdRef|Anker=HTTPS|Lang=de|Label=HTTPS}} eine HTTPS-Verbindung zu aktivieren. Für telnet (welches mehr oder weniger ein TCP/IP Port ist) wird das Attribut {{Link2CmdRef|Anker=SSL|Lang=de|Label=SSL}} verwendet. | |||
<!-- | |||
== Einschränkungen == | == Einschränkungen == | ||
--> | |||
== Beispiele == | == Beispiele == | ||
Festlegen eines Users samt Passwort für gängige FHEMWEB-Instanzen: | Festlegen eines Users samt Passwort für gängige FHEMWEB-Instanzen: | ||
Zeile 42: | Zeile 41: | ||
attr allowedTelnet validFor telnetPort | attr allowedTelnet validFor telnetPort | ||
attr allowedTelnet password secret | attr allowedTelnet password secret | ||
<!-- | |||
== Links == | == Links == | ||
--> |
Version vom 14. März 2018, 07:21 Uhr
allowed | |
---|---|
Zweck / Funktion | |
Absicherung des FHEM-Servers | |
Allgemein | |
Typ | Hilfsmodul |
Details | |
Dokumentation | EN / DE |
Support (Forum) | Automatisierung |
Modulname | 96_allowed.pm |
Ersteller | rudolfkoenig / rudolfkoenig |
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref! |
allowed ist ein Erweiterungsmodul um Zugriffe auf die von fhem.pl bereitgestellten Serverdienste (FHEM-Webserver und FHEM-telnet-Server) abzusichern und zu steuern.
Einführung
In der Grundkonfiguration kann jeder, der sich in dem selben Netzwerk[1] wie der FHEM-Server befindet, unverschlüsselt und ohne der Eingabe von Benutzerdaten auf FHEM zugreifen. FHEM weist mit einer Sicherheitswarnung auf diesen Umstand hin. Das Definieren einer allowed-Instanz ist eine Möglichkeit, die Installation abzusichern.
Daher ist es erforderlich, eine allowed-Instanz zu definieren, um
- Zugriffe auf FHEM aus anderen Netzwerken zu ermöglichen und/oder
- die Möglichkeiten, auf FHEM zuzugreifen für Teilnehmer desselben Netzwerks einzuschränken oder auszuschließen.
Syntax
Ein allowed-Device für ein- oder mehrere FHEMWEB oder telnet-Instanzen wird wie folgt definiert:
define <name> allowed <deviceList>
Weitere Hinweise
Sofern FHEM nicht nur aus dem lokalen Netz erreichbar sein soll, sollten neben der Definition einer oder mehrerer allowed-Instanzen zusätzliche Sicherheitsmaßnahmen ergriffen werden. Mögliche Optionen dafür sind die Verwendung eines VPNs (Virtual Private Network) und/oder eines Reverse-Proxy-Servers mit z.B. Apache oder nginx. Es wird dringend empfohlen, für alle Webserver des Typs FHEMWEB mithilfe des Attributes HTTPS eine HTTPS-Verbindung zu aktivieren. Für telnet (welches mehr oder weniger ein TCP/IP Port ist) wird das Attribut SSL verwendet.
Beispiele
Festlegen eines Users samt Passwort für gängige FHEMWEB-Instanzen:
define allowedWEB allowed attr allowedWEB validFor WEB,WEBphone,WEBtablet attr allowedWEB basicAuth { "$user:$password" eq "admin:secret" } attr allowedWEB allowedCommands set,get
Dasselbe für Telnet:
define allowedTelnet allowed attr allowedTelnet validFor telnetPort attr allowedTelnet password secret
- ↑ Haben z.B. in Ihrem Heimnetzwerk alle angeschlossenen Geräte Adressen aus dem Bereich 192.168.178.x, wäre ein Zugriff von einem Gerät mit der Adresse 192.168.178.3 zulässig, nicht aber von 192.168.179.3