Zum Inhalt springen

Allowed: Unterschied zwischen den Versionen

Aus FHEMWiki
Beta-User (Diskussion | Beiträge)
K Modultyp geändert
Beta-User (Diskussion | Beiträge)
HTTPS als Empfehlung, ungenutzte Bereiche deaktiviert, Baustelle entfernt
Zeile 1: Zeile 1:
{{Baustelle}}
{{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]].
Zusätzlich kann für FHEMWEB mithilfe des Attributes {{Link2CmdRef|Anker=HTTPS|Lang=de|Label=HTTPS}} eine HTTPS-Verbindung aktiviert werden. Für telnet (welches mehr oder weniger ein TCP/IP Port ist) wird das Attribut {{Link2CmdRef|Anker=SSL|Lang=de|Label=SSL}} verwendet.  
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, 08: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


  1. ↑ 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