Autor Thema: Eingeschränkter Nutzer: Zwei verschiedene FHEM-Webs oder?  (Gelesen 1292 mal)

Offline Wernieman

  • Developer
  • Hero Member
  • ****
  • Beiträge: 6379
Antw:Eingeschränkter Nutzer: Zwei verschiedene FHEM-Webs oder?
« Antwort #30 am: 01 August 2020, 12:15:13 »
Ich weiß, das ich den Angriff von Innen nicht berücksichtigt habe. Aber hier ging es um einen Zugriff von Außen ....

Und ja, ich habe beruflich damit zu tuen. Trotzdem werde ich in Sozialen Medien für Normaluser nicht detailliert schreiben. Die meisten verstehen es nicht.

Ansonsten gut von Dir geschrieben ... auch wenn Du Dich widersprichst:
"Außer SSH lässt der exakt nichts rein" ... "Die Ausnahme sind zwei Tunnel" ... also Doch mehr als SSH ;o)

Aber jetzt ist Wochenende ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Offline curt

  • Hero Member
  • *****
  • Beiträge: 1095
Antw:Eingeschränkter Nutzer: Zwei verschiedene FHEM-Webs oder?
« Antwort #31 am: 02 August 2020, 02:46:45 »
Ich weiß, das ich den Angriff von Innen nicht berücksichtigt habe. Aber hier ging es um einen Zugriff von Außen ....

Und ich dachte, es ginge um Systemsicherheit?

Und ja, ich habe beruflich damit zu tuen.

Das passt ja gut - ich auch.

Ansonsten gut von Dir geschrieben ... auch wenn Du Dich widersprichst:
"Außer SSH lässt der exakt nichts rein" ... "Die Ausnahme sind zwei Tunnel" ... also Doch mehr als SSH ;o)

Ich verstehe die Aussage nicht. Es ist nun mal der erste Schritt, dass man genau weiß was man zulässt - und das auch überwacht.

Da sehe ich eine Fritzbox, auf der zig Dienste laufen als deutlich kritischer.

Aber jetzt ist Wochenende ...

Ich wünsche ein schönes solches.

P.S: Zitatebene korrigiert.
« Letzte Änderung: 02 August 2020, 22:54:57 von curt »
RPI 3 Busware-CC1101 Jeelink HomeMatic Z-Wave (USB) + viele RPI Zero W

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 22642
Antw:Eingeschränkter Nutzer: Zwei verschiedene FHEM-Webs oder?
« Antwort #32 am: 02 August 2020, 16:19:00 »
Zitat
Einziger, schon mit Rudolf diskutierter Makel: Es gibt kein access.log im Common-Format.


Ich habe jetzt die FHEMWEB logDevice und logFormat Attribute hinzugefuegt:

Zitat
logDevice fileLogName
Name of the FileLog instance, which is used to log each FHEMWEB access. To avoid writing wrong lines to this file, the FileLog regexp should be set to <WebName>:Log

logFormat ...
Default is the Apache common Format (%h %l %u %t "%r" %>s %b). Currently only these "short" place holders are replaced. Additionally, each HTTP Header X can be accessed via %{X}
Gefällt mir Gefällt mir x 1 Zustimmung Zustimmung x 1 Liste anzeigen

Offline curt

  • Hero Member
  • *****
  • Beiträge: 1095
Antw:Eingeschränkter Nutzer: Zwei verschiedene FHEM-Webs oder?
« Antwort #33 am: 04 August 2020, 01:17:50 »
Zitat
logDevice fileLogName
Name of the FileLog instance, which is used to log each FHEMWEB access. To avoid writing wrong lines to this file, the FileLog regexp should be set to <WebName>:Log

Kannst Du diesen Teil, ggf. am konkreten Beispiel, bitte genauer erläutern?

Mir ist unklar, was da konkret zu stehen hat. Und setzt das ein bestehendes Logfile für die FHEMWEB-Device voraus?
RPI 3 Busware-CC1101 Jeelink HomeMatic Z-Wave (USB) + viele RPI Zero W

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 22642
Antw:Eingeschränkter Nutzer: Zwei verschiedene FHEM-Webs oder?
« Antwort #34 am: 04 August 2020, 09:06:39 »
Zitat
Kannst Du diesen Teil, ggf. am konkreten Beispiel, bitte genauer erläutern?

Fuer die "Copy&Paste, will jetzt nicht lesen und experimentieren" Fraktion:

define webCustomLog FileLog ./log/webCustom.log WEB:Log
attr WEB logDevice webCustomLog

Offline curt

  • Hero Member
  • *****
  • Beiträge: 1095
Antw:Eingeschränkter Nutzer: Zwei verschiedene FHEM-Webs oder?
« Antwort #35 am: 05 August 2020, 01:44:17 »
Lieber Rudolf,
sehr herzlichen Dank: Issjamangeil!

Fuer die "Copy&Paste, will jetzt nicht lesen und experimentieren" Fraktion:

Der Pickser rauscht an mir vorbei ... jeder Mensch lernt halt anders. Und offen gesagt hätte ich das (mit der gegebenen Beschreibung) nie hinbekommen. Auch nach Tagen nicht.

Ich habe mal ganz kurz mit LogFormat rumgespielt: Das ist nicht das mir vertraute Apache2-Format (mit Backslash und Anführungszeichen und "i"). Aber das kriegt man mir kurzem Blick auf das Log ja schnell raus, kein Problem.

Eins fiel mir bei meinen ersten Spielereien auf, ich schaue Dich mit meinem treuen Dackelblick an:
%{Via}
%{X-Forwarded-For}

Die sind beide putt. Wäre es sehr aufwändig, die noch zu implementieren?

Eine Frage noch am Rande, das fiel mir ganz zufällig auf:

.httpAuthHeader
HTTP/1.1 401 Authorization Required
WWW-Authenticate: Basic realm="FHEM: login required"

Ich bin nun nicht der Macher von shodan.io - würde aber schon vermuten wollen, dass die dortige Suchanfrage nach "FHEM" sich genau den Basic realm greift - und damit tonnenweise FHEM-Installationen offenlegt. Reine Theorie: Es ist ja Wurscht, was da vor dem Doppelpunkt steht, das könnst Du für jede Installation auch nach Wörterbuch auswürfeln, beispielsweise.

Nur mal als fixe Idee: Wie wäre es denn, wenn man den String nach "Basic realm=", also der Teil, in dem jetzt "FHEM" steht, konfigurierbar macht? Ich könnte das dann "TanteErna" nennen ...

Damit wir uns aber nicht vertun und meine kleinen Anmerkungen falsch verstanden werden: Danke Rudolf!
RPI 3 Busware-CC1101 Jeelink HomeMatic Z-Wave (USB) + viele RPI Zero W

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 22642
Antw:Eingeschränkter Nutzer: Zwei verschiedene FHEM-Webs oder?
« Antwort #36 am: 05 August 2020, 07:44:43 »
Zitat
Wie wäre es denn, wenn man den String nach "Basic realm=", also der Teil, in dem jetzt "FHEM" steht, konfigurierbar macht?
Siehe "attr allowed basicAuthMsg". Ich habe jetzt FHEM: in der Voreinstellung entfernt.

Zitat
%{Via}
%{X-Forwarded-For}
Die sind beide putt. Wäre es sehr aufwändig, die noch zu implementieren?
Falls diese Daten nicht aus dem HTTP-Header kommen, dann brauche ich Hinweise, wie man an sie rankommt.
Habe die Funktion geaendert, damit alle nicht gefundene oder unbekannte %NAME oder %{NAME} Elemente als - zurueckgeliefert werden.

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 22642
Antw:Eingeschränkter Nutzer: Zwei verschiedene FHEM-Webs oder?
« Antwort #37 am: 05 August 2020, 07:59:55 »
Zitat
Das ist nicht das mir vertraute Apache2-Format (mit Backslash und Anführungszeichen und "i")
Den Backslash finde ich uebertrieben, Apache macht es nur, weil da die Syntax es erfordert. Ich wuerde es ungern implementieren, es resultiert nur in eine Menge von zusaetzlichen Fehlermoeglichkeiten, ohne sichtbares Nutzen.

Das i habe ich in der Apache Doku uebersehen, und habe es jetzt in FHEMWEBs logFormat angepasst: Header Elemente sind ab sofort per %{X}i zu holen.

Offline curt

  • Hero Member
  • *****
  • Beiträge: 1095
Antw:Eingeschränkter Nutzer: Zwei verschiedene FHEM-Webs oder?
« Antwort #38 am: 06 August 2020, 00:23:01 »
Zitat
%{Via}
%{X-Forwarded-For}
Die sind beide putt. Wäre es sehr aufwändig, die noch zu implementieren?

Falls diese Daten nicht aus dem HTTP-Header kommen, dann brauche ich Hinweise, wie man an sie rankommt.

Kommen aus dem Header. Via ist in RFC7230 [¹], %{X-Forwarded-For} ist ein defacto-Standard [²].

Habe die Funktion geaendert, damit alle nicht gefundene oder unbekannte %NAME oder %{NAME} Elemente als - zurueckgeliefert werden.

Den Backslash finde ich uebertrieben, Apache macht es nur, weil da die Syntax es erfordert.

Ja, das klingt überzeugend.

Das i habe ich in der Apache Doku uebersehen, und habe es jetzt in FHEMWEBs logFormat angepasst: Header Elemente sind ab sofort per %{X}i zu holen.

Das (und Basic realm): Da muss ich das Update abwarten.

[¹] https://tools.ietf.org/html/rfc7230#section-5.7.1
[²] https://de.wikipedia.org/wiki/X-Forwarded-For
RPI 3 Busware-CC1101 Jeelink HomeMatic Z-Wave (USB) + viele RPI Zero W