httpUtils will bei einem Modul sslv3 - Bug, meine Dummheit oder was?

Begonnen von curt, 20 Juli 2019, 04:07:21

Vorheriges Thema - Nächstes Thema

devien

Zitat von: rudolfkoenig am 25 August 2019, 11:41:02
Lösung gibt es vermutlich schon, nur die, die es kennen, halten sich zurueck.
- funktionert update mit HTTP (was die Voreinstellung ist)?

Hallo Herr Koenig
per http, also wenn ich das global ssl atribut rausnehme läuft das update problemlos

Zitat von: rudolfkoenig am 25 August 2019, 11:41:02
- warum bist Du der Ansicht, dass Setzen des global Attributes auf diesem Wert helfen sollte?


ich habe die Versuche aus diesem Thread ausprobiert weil es in dem Thread eben um Updates geht und ich keinen anderen Ansatz mehr hatte um Fehler
auszuschließen. habe bereits (wie im anderen Thread beschrieben einiges anderes probiert:
- ich hab libio-socket-ssl-perl reinstalliert um ein Problem damit (ja hab im Forum schon einige Tage gesucht) auszuschließen.
- ich hab getestet ob dns Auflösung funktioniert (ja)
- ich hab geprüft ob die Kiste ssh nach draußen kann (ja)
- ich hab ssl v2 und v3 aus den global atributen rausgenommen, obgleich auf den 2 noch verbliebenen wheezy's mit v2 und v3 funktioniert
- ich hab die Gruppenzugehörigkeit geprüft


Zitat von: rudolfkoenig am 25 August 2019, 11:41:02
- wie schaut ein "attr global verbose 5" Log Mitschnitt der Problems aus?

das sieht dann so aus:
2019.08.28 09:50:50 5: Starting notify loop for global, 1 event(s), first is ATTR global verbose 5
2019.08.28 09:50:50 5: createNotifyHash
2019.08.28 09:50:50 5: End notify loop for global
2019.08.28 09:50:50 5: Cmd: >{AttrVal("global","room","")}<
2019.08.28 09:50:53 5: Cmd: >update<
2019.08.28 09:50:53 5: Loading ./FHEM/98_update.pm
2019.08.28 09:50:54 3: telnetForBlockingFn_1566978654: port 39283 opened
2019.08.28 09:50:54 4: BlockingCall (doUpdateInBackground): created child (17404), uses telnetForBlockingFn_1566978654 to connect back
2019.08.28 09:50:56 5: HttpUtils url=https://fhem.de/fhemupdate/controls_fhem.txt
2019.08.28 09:50:56 4: Connection accepted from telnetForBlockingFn_1566978654_127.0.0.1_38692
2019.08.28 09:50:56 5: Cmd: >{Log('1','https://fhem.de/fhemupdate/controls_fhem.txt: Can\'t connect(2) to https://fhem.de:443:  SSL connect attempt failed error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure')}<
2019.08.28 09:50:56 1: https://fhem.de/fhemupdate/controls_fhem.txt: Can't connect(2) to https://fhem.de:443:  SSL connect attempt failed error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure
2019.08.28 09:50:56 5: Cmd: >{BlockingStart('1')}<
2019.08.28 09:50:56 5: Cmd: >{updDone('0')}<

FHEM + UniPi + Arduino = gute Lösung

rudolfkoenig

sslVersion zu aendern empfehle ich nur diejenigen, die wissen, was es bewirkt, ich selbst z.Bsp. weiss es nicht (genau genug).
Ist evtl. ein Proxy im Weg?

Evtl. hilft die Ausgabe der folgende Skripte zu studieren:
https://raw.githubusercontent.com/noxxi/p5-ssl-tools/master/analyze-ssl.pl
https://labs.portcullis.co.uk/tools/ssl-cipher-suite-enum/

amenomade

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

devien

Zitat von: rudolfkoenig am 28 August 2019, 20:14:02
sslVersion zu aendern empfehle ich nur diejenigen, die wissen, was es bewirkt, ich selbst z.Bsp. weiss es nicht (genau genug).
Ist evtl. ein Proxy im Weg?

Evtl. hilft die Ausgabe der folgende Skripte zu studieren:
https://raw.githubusercontent.com/noxxi/p5-ssl-tools/master/analyze-ssl.pl
https://labs.portcullis.co.uk/tools/ssl-cipher-suite-enum/
Ich habe keinen Proxy im heimischen Netzwerk, außerdem haben meine anderen beiden PIs (mit unipian image wegen unipi Board) keinerlei Problem mit den gleichen Settings aus dem gleichen Netz das Update zu fahren.

Zitat von: amenomade am 29 August 2019, 01:50:36
Was hast Du denn jetzt im attr global sslVersion?
attr global sslVersion SSLv23:!SSLv2:!TLSv12:!SSLv3
FHEM + UniPi + Arduino = gute Lösung

mahowi

Ich habe bei mir
attr global sslVersion !TLSv1:!TLSv1_1:TLSv1_2:!SSLv23:!SSLv3:!SSLv2
gesetzt und bisher keine Probleme mit dem Update. Es ist also nur TLSv1_2 aktiv.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

amenomade

Zitat von: devien am 29 August 2019, 14:29:48
attr global sslVersion SSLv23:!SSLv2:!TLSv12:!SSLv3

Damit ist nur SSL v2.3 erlaubt und TLSv1.2 nicht.
Da der Fhem Server TLS v1.2 verschlüsselung benutzt, kannst Du keinen Zugriff haben

Mit
!TLSv1:!TLSv1_1:TLSv1_2:!SSLv23:!SSLv3:!SSLv2 wie bei mahowi ist alles verboten ("!" vor dem Protokol) bis auf TLSv1_2. Somit funktioniert Fhem Update und meiste Webserver (die andere Protokole sind so wie so weniger sicher)
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

devien

Zitat von: rudolfkoenig am 28 August 2019, 20:14:02
Evtl. hilft die Ausgabe der folgende Skripte zu studieren:
https://raw.githubusercontent.com/noxxi/p5-ssl-tools/master/analyze-ssl.pl
https://labs.portcullis.co.uk/tools/ssl-cipher-suite-enum/
hier mal die ausgabe von analyze-ssl.pl
pi@NikitaHWR1:/opt/fhem $ sudo ./analyze-ssl.pl -v 5 fhem.de:443
+ checking host=fhem.de(88.99.31.202 2a01:4f8:10a:806::2) port=443
* version SSLv23 no verification, ciphers= -> TLSv1_2,ECDHE-RSA-AES128-GCM-SHA256
* version SSLv23 no verification, ciphers=HIGH:ALL -> TLSv1_2,ECDHE-RSA-AES128-GCM-SHA256
* version TLSv1_2 no verification, ciphers= -> TLSv1_2,ECDHE-RSA-AES128-GCM-SHA256
* version TLSv1_2 no verification, ciphers=HIGH:ALL -> TLSv1_2,ECDHE-RSA-AES128-GCM-SHA256
* version TLSv1_1 no verification, ciphers= -> TLSv1_1,ECDHE-RSA-AES128-SHA
* version TLSv1_1 no verification, ciphers=HIGH:ALL -> TLSv1_1,ECDHE-RSA-AES128-SHA
* version TLSv1 no verification, ciphers= -> TLSv1,ECDHE-RSA-AES128-SHA
* version TLSv1 no verification, ciphers=HIGH:ALL -> TLSv1,ECDHE-RSA-AES128-SHA
+ successful connect with TLSv1_2, cipher=ECDHE-RSA-AES128-SHA, sni=fhem.de and no other TLS extensions
+ SNI success
* same certificate chain in without SNI
+ certificate verify success
+ OCSP stapling: no stapled response
<3> need to send 120 bytes OCSP request to http://isrg.trustid.ocsp.identrust.com
<3> need to send 122 bytes OCSP request to http://ocsp.int-x3.letsencrypt.org
+ all certificates verified
+ failed tcp connect to IP 2a01:4f8:10a:806::2: tcp connect: Network is unreachable at ./analyze-ssl.pl line 229.

* connect with version TLSv1_2 cipher ECDHE-RSA-AES128-GCM-SHA256
* connect with version TLSv1_2 cipher ECDHE-RSA-AES256-GCM-SHA384
<3> tried with cipher list 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:HIGH:ALL' -> ECDHE-RSA-AES128-GCM-SHA256
<3> tried with cipher list 'ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:HIGH:ALL' -> ECDHE-RSA-AES128-GCM-SHA256
* server decides cipher order
-- fhem.de port 443
! failed tcp connect to IP 2a01:4f8:10a:806::2: tcp connect: Network is unreachable at ./analyze-ssl.pl line 229.

* maximum SSL version  : TLSv1_2 (SSLv23)
* supported SSL versions with handshake used and preferred cipher(s):
   * handshake protocols ciphers
   * SSLv23    TLSv1_2   ECDHE-RSA-AES128-GCM-SHA256
   * TLSv1_2   TLSv1_2   ECDHE-RSA-AES128-GCM-SHA256
   * TLSv1_1   TLSv1_1   ECDHE-RSA-AES128-SHA
   * TLSv1     TLSv1     ECDHE-RSA-AES128-SHA
* cipher order by      : server
* SNI supported        : ok
* certificate verified : ok
* chain on 88.99.31.202
   * [0/0] bits=2048, ocsp_uri=http://ocsp.int-x3.letsencrypt.org, /CN=fhem.de SAN=DNS:cloud.fhem.de,DNS:commandref.fhem.de,DNS:conf.fhem.de,DNS:fhem-test.fhem.de,DNS:fhem.de,DNS:fhem.org,DNS:forum.fhem.de,DNS:svn.fhem.de,DNS:wiki.fhem.de,DNS:www.fhem.de
   * [1/1] bits=2048, ocsp_uri=http://isrg.trustid.ocsp.identrust.com, /C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
   * [-/2] bits=2048, ocsp_uri=, /O=Digital Signature Trust Co./CN=DST Root CA X3
* OCSP stapling        : no stapled response
* OCSP status          : good


also grob überblickt sieht das aus als ob der Raspberry rauskommt mit ssl und kommunizieren kann...
mehr kann ich aber nicht wirklich erkennen.
FHEM + UniPi + Arduino = gute Lösung

devien

Zitat von: amenomade am 29 August 2019, 15:14:36
Damit ist nur SSL v2.3 erlaubt und TLSv1.2 nicht.
Da der Fhem Server TLS v1.2 verschlüsselung benutzt, kannst Du keinen Zugriff haben

Mit
!TLSv1:!TLSv1_1:TLSv1_2:!SSLv23:!SSLv3:!SSLv2 wie bei mahowi ist alles verboten ("!" vor dem Protokol) bis auf TLSv1_2. Somit funktioniert Fhem Update und meiste Webserver (die andere Protokole sind so wie so weniger sicher)
mit dem atribut bekomme ich:

https://fhem.de/fhemupdate/controls_fhem.txt: Can't connect(1) to https://fhem.de:443: IO::Socket::INET: connect: timeout

also nochmal wie in https://forum.fhem.de/index.php/topic,34076.msg282099.html#msg282099 beschrieben die Rchte aktualisiert und siehe da, es läuft das update durch.

Ich hoffe dauerhaft, aber fürs erste bin ich zufrieden :)

vielen Dank @all
FHEM + UniPi + Arduino = gute Lösung