HTTPMOD und Server Name Identification (SNI)

Begonnen von CQuadrat, 07 Juli 2018, 14:43:52

Vorheriges Thema - Nächstes Thema

CQuadrat

Hallo Zusammen,

ich nutze HTTPMOD, um auf der Seite meiner Kreisverwaltung Abfuhrtermine für den Müll abzufragen. Bis vor ca. einer Woche hat das funktioniert.
Nun wird mir per HTTPMOD der Aufruf der Seite mit Verweis auf eine fehlende "Server Name Identification" verwehrt:


2018.07.07 14:38:04.784 5: HttpUtils response header:
HTTP/1.1 403 Forbidden
Date: Sat, 07 Jul 2018 12:38:04 GMT
Server: Apache
Content-Length: 376
Connection: close
Content-Type: text/html; charset=iso-8859-1
2018.07.07 14:38:04.784 4: Abfall_Abfuhrtermine: Read callback: request type was update retry 1,
Header: HTTP/1.1 403 Forbidden
Date: Sat, 07 Jul 2018 12:38:04 GMT
Server: Apache
Content-Length: 376
Connection: close
Content-Type: text/html; charset=iso-8859-1,
Body: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /aktuelles/abfallkalender.html
on this server.<br />
Reason: The client software did not provide a hostname using Server Name Indication (SNI), which is required to access this server.<br />
</p>
</body></html>


Im Browser und Abruf der Seite mit wget funktioniert aber noch alles einwandfrei. Was kann man hier tun?


Danke und  Gruß

Christoph
FHEM auf Mini-ITX-Server mit Intel Quad-Core J1900:
+ HM: HM-LAN, HM-USB, HM-MOD-UART mit div. HM-Komponenten
+ RFXtrx: Funkwetterstation Bresser mit ext. Thermometer, Regenmesser und Windmesser
+ TUL (KNX-Anbindung), KM271 (per ser2net), SONOS (div. Gimmicks), OneWire, Hue

CQuadrat

Keine eine Idee, wo man ggf. ansetzen könnte?
FHEM auf Mini-ITX-Server mit Intel Quad-Core J1900:
+ HM: HM-LAN, HM-USB, HM-MOD-UART mit div. HM-Komponenten
+ RFXtrx: Funkwetterstation Bresser mit ext. Thermometer, Regenmesser und Windmesser
+ TUL (KNX-Anbindung), KM271 (per ser2net), SONOS (div. Gimmicks), OneWire, Hue

frank

schau dir den header des browseraufrufs an und übernimm die angaben in httpmod.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

CQuadrat

Mmh:
In den Header-Daten kann ich diesbezüglich nichts finden; und wenn, wo sollte ich das denn im HTTPMOD-Device übergeben?
FHEM auf Mini-ITX-Server mit Intel Quad-Core J1900:
+ HM: HM-LAN, HM-USB, HM-MOD-UART mit div. HM-Komponenten
+ RFXtrx: Funkwetterstation Bresser mit ext. Thermometer, Regenmesser und Windmesser
+ TUL (KNX-Anbindung), KM271 (per ser2net), SONOS (div. Gimmicks), OneWire, Hue

Christoph Morrison

Zitat von: CQuadrat am 13 Juli 2018, 21:43:21
Mmh:
In den Header-Daten kann ich diesbezüglich nichts finden; und wenn, wo sollte ich das denn im HTTPMOD-Device übergeben?

Du könntest mal versuchen ob deine OpenSSL-Version überhaupt SNI unterstützt. Eine Anleitung an der du dich orientieren kannst, findest du hier: http://blog.chrismeller.com/testing-sni-certificates-with-openssl

Ansonsten könnten wir sicher eher helfen, wenn du mehr von deinem HTTPMOD-Device zeigst.

CQuadrat

Also ich komme ich nicht mehr weiter  >:(

Anbei mal die Definition von meinem Device:

defmod Abfall_Abfuhrtermine HTTPMOD https://landkreis-kusel.de/aktuelles/abfallkalender.html?communedistrict=Kusel&wasteType=&startDate=%%startDate%%&endDate=&submit=suchenl 86400
attr Abfall_Abfuhrtermine userattr reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex reading04Name reading04Regex reading05Name reading05Regex reading06Name reading06Regex replacement01Mode:reading,internal,text,expression,key replacement01Regex replacement01Value
attr Abfall_Abfuhrtermine alias Abfuhrtermine
attr Abfall_Abfuhrtermine alignTime 05:17
attr Abfall_Abfuhrtermine authRetries 1
attr Abfall_Abfuhrtermine devStateIcon .*:.*:reread
attr Abfall_Abfuhrtermine enableControlSet 1
attr Abfall_Abfuhrtermine enableCookies 1
attr Abfall_Abfuhrtermine icon muelltonne
attr Abfall_Abfuhrtermine reAuthAlways 0
attr Abfall_Abfuhrtermine reAuthRegex .*
attr Abfall_Abfuhrtermine reading01Name Restmuell
attr Abfall_Abfuhrtermine reading01Regex class="daten_datum" >([0-9.]+)<\/td>\C{1,90}Restm
attr Abfall_Abfuhrtermine reading02Name Wertstoffsaecke
attr Abfall_Abfuhrtermine reading02Regex class="daten_datum" >([0-9.]+)<\/td>\C{1,90}Wertstoffs
attr Abfall_Abfuhrtermine reading03Name Glasabfuhr
attr Abfall_Abfuhrtermine reading03Regex class="daten_datum" >([0-9.]+)<\/td>\C{1,100}Glasabfuhr
attr Abfall_Abfuhrtermine reading04Name Restmuell_Tag
attr Abfall_Abfuhrtermine reading04Regex class="daten_tag">([A-Za-z]{2})<\/td>\C{1,190}Restm
attr Abfall_Abfuhrtermine reading05Name Wertstoffsaecke_Tag
attr Abfall_Abfuhrtermine reading05Regex class="daten_tag">([A-Za-z]{2})<\/td>\C{1,190}Wertstoffs
attr Abfall_Abfuhrtermine reading06Name Glasabfuhr_Tag
attr Abfall_Abfuhrtermine reading06Regex class="daten_tag">([A-Za-z]{2})<\/td>\C{1,190}Glasabfuhr
attr Abfall_Abfuhrtermine replacement01Mode expression
attr Abfall_Abfuhrtermine replacement01Regex %%startDate%%
attr Abfall_Abfuhrtermine replacement01Value strftime('%d.%m.%Y',localtime)
attr Abfall_Abfuhrtermine replacement[0-9]+Mode expression
attr Abfall_Abfuhrtermine room Keller
attr Abfall_Abfuhrtermine showError 1
attr Abfall_Abfuhrtermine sslArgs SSL_verify_mode,SSL_VERIFY_NONE
attr Abfall_Abfuhrtermine sslVersion TLSv1
attr Abfall_Abfuhrtermine stateFormat Restmüll: Restmuell (Restmuell_Tag)\
Wertstoffsäcke: Wertstoffsaecke (Wertstoffsaecke_Tag)\
Glas: Glasabfuhr (Glasabfuhr_Tag)
attr Abfall_Abfuhrtermine timeout 10
attr Abfall_Abfuhrtermine userReadings Restmuell Wertstoffsaecke Glasabfuhr Restmuell_Tag Wertstoffsaecke_Tag Glasabfuhr_Tag
attr Abfall_Abfuhrtermine verbose 5
FHEM auf Mini-ITX-Server mit Intel Quad-Core J1900:
+ HM: HM-LAN, HM-USB, HM-MOD-UART mit div. HM-Komponenten
+ RFXtrx: Funkwetterstation Bresser mit ext. Thermometer, Regenmesser und Windmesser
+ TUL (KNX-Anbindung), KM271 (per ser2net), SONOS (div. Gimmicks), OneWire, Hue

Christoph Morrison

Zitat von: CQuadrat am 14 Juli 2018, 01:59:39
Also ich komme ich nicht mehr weiter  >:(

Hab ich bei mir eben getestet und funktioniert auch. Bei mir läuft OpenSSL 1.0.1t  3 May 2016 auf einem aktuellen Debian Jessie.

CQuadrat

Zitat von: Christoph Morrison am 27 Juli 2018, 00:12:45
Hab ich bei mir eben getestet und funktioniert auch. Bei mir läuft OpenSSL 1.0.1t  3 May 2016 auf einem aktuellen Debian Jessie.

Bei mir aber auch:

dpkg -l | grep openssl:

ii  libcrypt-openssl-random-perl          0.04-1+b4                          amd64        Access to the OpenSSL pseudo-random number generator
ii  openssl                               1.0.1t-1+deb7u4                    amd64        Secure Socket Layer (SSL) binary and related cryptographic tools


Allerdings auf noch auf wheezy.
FHEM auf Mini-ITX-Server mit Intel Quad-Core J1900:
+ HM: HM-LAN, HM-USB, HM-MOD-UART mit div. HM-Komponenten
+ RFXtrx: Funkwetterstation Bresser mit ext. Thermometer, Regenmesser und Windmesser
+ TUL (KNX-Anbindung), KM271 (per ser2net), SONOS (div. Gimmicks), OneWire, Hue