SSL/HTTPS error kommen wieder im Log vor

Begonnen von Burny4600, 07 August 2017, 15:02:53

Vorheriges Thema - Nächstes Thema

Burny4600

Irgendwie ist mit den SSL/HTTPS eine gewisse Eigendynamik vorhanden.
Aus irgend einem Grund kommen wieder diese Meldungen im LOG vor.
telnet SSL/HTTPS error:  SSL connect accept failed because of handshake problems
FHEMWEB SSL/HTTPS error:  SSL connect accept failed because of handshake problems

An der Konfiguration wurde nichts geändert ausser das alles auf dem neuesten Softwarestand ist.
Mfg Chris

Raspberry Pi 2/2+/3/3+/4 / Betriebssystem: Bullseye Lite
Schnittstellen: RFXtrx433E, SIGNALduino, MQTT, nanoCUL, HM-MOD-UART, 1-Wire, LAN, ser2net, FHEM2FEHEM
Devices: S.USV, APC-USV, Fronius Datalogger Web 2, FS20, IT, Resol VBUS & DL2, TEK603, WMR200, YouLess, Homematic, MQTT

rudolfkoenig

Sind diese Ports von aussen erreichbar? Wenn ja, dann "klopfen" nur "nette" Besucher an.
Oder du hast auch intern einen Scanner am laufen.

Burny4600

Virenscanner laufen auf allen PC's.
Auf den Raspis nicht.
Von Aussen ist ein Zugang auf die Raspis über die Fritzbox nicht möglich.
Da ist alles dicht.
Mfg Chris

Raspberry Pi 2/2+/3/3+/4 / Betriebssystem: Bullseye Lite
Schnittstellen: RFXtrx433E, SIGNALduino, MQTT, nanoCUL, HM-MOD-UART, 1-Wire, LAN, ser2net, FHEM2FEHEM
Devices: S.USV, APC-USV, Fronius Datalogger Web 2, FS20, IT, Resol VBUS & DL2, TEK603, WMR200, YouLess, Homematic, MQTT

rudolfkoenig

Evtl pruefen die Virenscanner die Raspis. Oder du hast trotz Virenscanner Besucher.

Ich habe jetzt TcpServerUtils.pm angepasst, damit im SSL Fehlerfall die Adresse der Gegenseite ausgegeben wird, vlt. hilft das beim lokalisieren.

Burny4600

Danke für die Info.
Ist dies schon eingecheckt?
Mfg Chris

Raspberry Pi 2/2+/3/3+/4 / Betriebssystem: Bullseye Lite
Schnittstellen: RFXtrx433E, SIGNALduino, MQTT, nanoCUL, HM-MOD-UART, 1-Wire, LAN, ser2net, FHEM2FEHEM
Devices: S.USV, APC-USV, Fronius Datalogger Web 2, FS20, IT, Resol VBUS & DL2, TEK603, WMR200, YouLess, Homematic, MQTT

Burny4600

#5
Mit der Änderung kommen zwar eindeutigere Meldungen aber wie ich diese abstellen kann weis ich trotzdem noch nicht.
2017.08.08 19:26:41.810 1: telnet SSL/HTTPS error:  SSL connect accept failed because of handshake problems (peer: 192.168.17.182)
2017.08.08 19:26:47.265 1: telnet SSL/HTTPS error:  SSL connect accept failed because of handshake problems (peer: 192.168.17.184)
2017.08.08 19:26:47.768 1: telnet SSL/HTTPS error:  SSL connect accept failed because of handshake problems (peer: 192.168.17.185)
2017.08.08 19:26:47.913 1: telnet SSL/HTTPS error:  SSL connect accept failed because of handshake problems (peer: 192.168.17.186)
2017.08.08 19:26:51.382 1: telnet SSL/HTTPS error:  SSL connect accept failed because of handshake problems (peer: 192.168.17.189)
2017.08.08 19:26:52.051 1: telnet SSL/HTTPS error:  SSL connect accept failed because of handshake problems (peer: 192.168.17.131)
2017.08.08 19:29:46.604 1: telnet SSL/HTTPS error:  SSL connect accept failed because of handshake problems (peer: 192.168.17.182)
2017.08.08 19:29:48.906 1: telnet SSL/HTTPS error:  SSL connect accept failed because of handshake problems (peer: 192.168.17.186)
2017.08.08 19:29:49.243 1: telnet SSL/HTTPS error:  SSL connect accept failed because of handshake problems (peer: 192.168.17.185)
2017.08.08 19:29:49.943 1: telnet SSL/HTTPS error:  SSL connect accept failed because of handshake problems (peer: 192.168.17.184)
2017.08.08 19:29:50.237 1: telnet SSL/HTTPS error:  SSL connect accept failed because of handshake problems (peer: 192.168.17.189)
2017.08.08 19:29:50.545 1: telnet SSL/HTTPS error:  SSL connect accept failed because of handshake problems (peer: 192.168.17.131)

Zu diesen Raspis sind FHEM2FHEM Verbindungen von diese diesem Gerät aus wo die Meldungen generiert werden.

List einer Remoteverbindung auf dem Gerät wo die Fehlermeldungen sind.
Internals:
   CFGFN      /media/hdd/fhem/mycfg/FHEM2FHEM/f2f_rasp01.cfg
   DEF        192.168.17.184:7072:SSL LOG:BMP180:(pressureof|pressure-nnof|temperatureof).*|AB_P_(BLLED_S1|ZP_S1D).*|AB_PB_SBL_S1.*|AB_WS_RS.*|SDS011.* <Klartextpasswort>
   FD         402
   Host       192.168.17.184:7072
   NAME       F2F_Rasp04
   NR         360
   PARTIAL
   SSL        1
   STATE      connected
   TYPE       FHEM2FHEM
   informType LOG
   portpassword <Klartextpasswort>
   regexp     BMP180:(pressureof|pressure-nnof|temperatureof).*|AB_P_(BLLED_S1|ZP_S1D).*|AB_PB_SBL_S1.*|AB_WS_RS.*|SDS011.*
Attributes:
   alias      AB Wetterstation - LOG Schnittstelle Rasp04
   devStateIcon connected:it_network@lightgreen disconnected:it_network@red
   group      Schnittstellen FHEM2FHEM
   icon       it_network
   room       _RxTx
Mfg Chris

Raspberry Pi 2/2+/3/3+/4 / Betriebssystem: Bullseye Lite
Schnittstellen: RFXtrx433E, SIGNALduino, MQTT, nanoCUL, HM-MOD-UART, 1-Wire, LAN, ser2net, FHEM2FEHEM
Devices: S.USV, APC-USV, Fronius Datalogger Web 2, FS20, IT, Resol VBUS & DL2, TEK603, WMR200, YouLess, Homematic, MQTT

rudolfkoenig

Merkwuerdige Sachen:

- der FHEM2FHEM Client ist auf dem gleichen Rechner, wie der FHEM-Server (192.168.17.184). Client: wg. der gezeigten peer: Meldung, das kommt naemlich auf dem Server. Server: wg der gezeigten FHEM2FHEM Definition.

- "Deine" Fehlermeldung "SSL connect accept failed because of handshake problems" gibt es weder in den Perl-Quellen noch in einer Internet-Suche, und einen Sinn ergibt es auch nicht. Es gibt aber sehr wohl eine Meldung "SSL connect attempt failed because of handshake problems".

Man koennte das Problem weiter debuggen, indem man in TcpServerUtils.pm irgendwo oben
use IO::Socket::SSL qw(debug3);
einfuegt, bin aber unsicher, ob ich mit den Ausgaben was anfangen kann.

Btw. ich habe kein Problem auf dem gleichen Rechner 2 FHEMs mit FHEMWEB/SSL/Passwort zu verbinden. Auch das Stoppen/Starten des Servers bringt den Client nicht aus dem Tritt, und "deine" Meldung sehe ich nicht.

Welche Distributionen laufen auf den RPis? Es stand neuerdings in den Nachrichten, dass Debian TLS 1.0 und 1.1 deaktivieren will. Evtl. haengt das Problem damit zusammen, bin aber kein TLS Experte.

dtavb

Hoi Ihr,

ich habe diese Meldungen ab und zu auch.
Mal häufiger, mal seltener...bin noch auf der Suche woran das liegt.
Dachte ich könnte es relativ einfach reproduzieren via Browser, aktuell aber nicht mehr.
Wenn der Fehler via Browser geschieht, dreht er sehr lange und lädt.

Gleich mal fhem update und schauen ob sich das mit Browser/PC bestätigt.

Grüsse,
Stefan
fhem:pi3&kvm, z-wave, it-funk, milight, zigbee, wifi, bt & presence, geo-tracking, alexa, esp.
Monitoring: ELK(syslog), grafana (grafik), netdata (ermittlung)
Security: haproxy (access), ossec (überall), snort (access), opnsense (fw)
Geplant: KVM-Cluster

Burny4600

#8
Ich werde diesen VorschlagTcpServerUtils.pmfür die Tests noch erweitern.
Und melde mich wieder.

Ich habe diesen Vorschlag durchlaufen lassen
2017.08.09 09:02:33.906 3: telnetForBlockingFn_1502262153: port 43111 opened
2017.08.09 09:02:36.032 5: PRESENCE (OG2_FR_EDVAWE01) - stopping timer
2017.08.09 09:02:36.040 5: PRESENCE (OG2_FR_EDVAWE01) - starting blocking call for mode lan-ping
2017.08.09 09:02:36.117 5: PRESENCE (OG2_FR_EDVAWE01) - starting ping scan: OG2_FR_EDVAWE01|192.168.17.46|0|4
DEBUG: .../IO/Socket/SSL.pm:2536: new ctx 79804264
DEBUG: .../IO/Socket/SSL.pm:1343: start handshake
DEBUG: .../IO/Socket/SSL.pm:553: ssl handshake not started
DEBUG: .../IO/Socket/SSL.pm:586: using SNI with hostname 192.168.17.189
DEBUG: .../IO/Socket/SSL.pm:640: set socket to non-blocking to enforce timeout=4
DEBUG: .../IO/Socket/SSL.pm:653: Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:1769: SSL connect attempt failed

DEBUG: .../IO/Socket/SSL.pm:1774: SSL connect attempt failed error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
DEBUG: .../IO/Socket/SSL.pm:659: fatal SSL error: SSL connect attempt failed error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
DEBUG: .../IO/Socket/SSL.pm:2569: free ctx 79804264 open=79804264
DEBUG: .../IO/Socket/SSL.pm:2581: OK free ctx 79804264
2017.08.09 09:02:36.551 3: Can't connect to 192.168.17.189:7072:
DEBUG: .../IO/Socket/SSL.pm:2536: new ctx 80797496
DEBUG: .../IO/Socket/SSL.pm:1343: start handshake
DEBUG: .../IO/Socket/SSL.pm:819: starting sslifying
DEBUG: .../IO/Socket/SSL.pm:863: Net::SSLeay::accept -> -1
DEBUG: .../IO/Socket/SSL.pm:863: Net::SSLeay::accept -> 1
DEBUG: .../IO/Socket/SSL.pm:911: handshake done, socket ready
DEBUG: .../IO/Socket/SSL.pm:2536: new ctx 85248368
DEBUG: .../IO/Socket/SSL.pm:1343: start handshake
DEBUG: .../IO/Socket/SSL.pm:553: ssl handshake not started
DEBUG: .../IO/Socket/SSL.pm:586: using SNI with hostname 192.168.17.184
DEBUG: .../IO/Socket/SSL.pm:640: set socket to non-blocking to enforce timeout=4
DEBUG: .../IO/Socket/SSL.pm:653: Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:1769: SSL connect attempt failed

DEBUG: .../IO/Socket/SSL.pm:1774: SSL connect attempt failed error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
DEBUG: .../IO/Socket/SSL.pm:659: fatal SSL error: SSL connect attempt failed error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
DEBUG: .../IO/Socket/SSL.pm:2569: free ctx 85248368 open=85248368 80797496
DEBUG: .../IO/Socket/SSL.pm:2581: OK free ctx 85248368
2017.08.09 09:02:37.184 3: Can't connect to 192.168.17.184:7072:
DEBUG: .../IO/Socket/SSL.pm:2536: new ctx 85248368
DEBUG: .../IO/Socket/SSL.pm:1343: start handshake
DEBUG: .../IO/Socket/SSL.pm:553: ssl handshake not started
DEBUG: .../IO/Socket/SSL.pm:586: using SNI with hostname 192.168.17.188
DEBUG: .../IO/Socket/SSL.pm:640: set socket to non-blocking to enforce timeout=4
DEBUG: .../IO/Socket/SSL.pm:653: Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:1769: SSL connect attempt failed

DEBUG: .../IO/Socket/SSL.pm:1774: SSL connect attempt failed error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
DEBUG: .../IO/Socket/SSL.pm:659: fatal SSL error: SSL connect attempt failed error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
DEBUG: .../IO/Socket/SSL.pm:2569: free ctx 85248368 open=85248368 80797496
DEBUG: .../IO/Socket/SSL.pm:2581: OK free ctx 85248368
2017.08.09 09:02:37.196 3: Can't connect to 192.168.17.188:7072:
DEBUG: .../IO/Socket/SSL.pm:2536: new ctx 85248368
DEBUG: .../IO/Socket/SSL.pm:1343: start handshake
DEBUG: .../IO/Socket/SSL.pm:553: ssl handshake not started
DEBUG: .../IO/Socket/SSL.pm:586: using SNI with hostname 192.168.17.183
DEBUG: .../IO/Socket/SSL.pm:640: set socket to non-blocking to enforce timeout=4
DEBUG: .../IO/Socket/SSL.pm:653: Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:1769: SSL connect attempt failed

DEBUG: .../IO/Socket/SSL.pm:1774: SSL connect attempt failed error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
DEBUG: .../IO/Socket/SSL.pm:659: fatal SSL error: SSL connect attempt failed error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
DEBUG: .../IO/Socket/SSL.pm:2569: free ctx 85248368 open=80797496 85248368
DEBUG: .../IO/Socket/SSL.pm:2581: OK free ctx 85248368
2017.08.09 09:02:37.531 3: Can't connect to 192.168.17.183:7072:
DEBUG: .../IO/Socket/SSL.pm:2536: new ctx 85248368
DEBUG: .../IO/Socket/SSL.pm:1343: start handshake
DEBUG: .../IO/Socket/SSL.pm:553: ssl handshake not started
DEBUG: .../IO/Socket/SSL.pm:586: using SNI with hostname 192.168.17.186
DEBUG: .../IO/Socket/SSL.pm:640: set socket to non-blocking to enforce timeout=4
DEBUG: .../IO/Socket/SSL.pm:653: Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:1769: SSL connect attempt failed

DEBUG: .../IO/Socket/SSL.pm:1774: SSL connect attempt failed error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
DEBUG: .../IO/Socket/SSL.pm:659: fatal SSL error: SSL connect attempt failed error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
DEBUG: .../IO/Socket/SSL.pm:2569: free ctx 85248368 open=80797496 85248368
DEBUG: .../IO/Socket/SSL.pm:2581: OK free ctx 85248368
2017.08.09 09:02:37.542 3: Can't connect to 192.168.17.186:7072:
DEBUG: .../IO/Socket/SSL.pm:2536: new ctx 85248368
DEBUG: .../IO/Socket/SSL.pm:1343: start handshake
DEBUG: .../IO/Socket/SSL.pm:553: ssl handshake not started
DEBUG: .../IO/Socket/SSL.pm:586: using SNI with hostname 192.168.17.182
DEBUG: .../IO/Socket/SSL.pm:640: set socket to non-blocking to enforce timeout=4
DEBUG: .../IO/Socket/SSL.pm:653: Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:1769: SSL connect attempt failed

DEBUG: .../IO/Socket/SSL.pm:1774: SSL connect attempt failed error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
DEBUG: .../IO/Socket/SSL.pm:659: fatal SSL error: SSL connect attempt failed error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
DEBUG: .../IO/Socket/SSL.pm:2569: free ctx 85248368 open=85248368 80797496
DEBUG: .../IO/Socket/SSL.pm:2581: OK free ctx 85248368
2017.08.09 09:02:37.558 3: Can't connect to 192.168.17.182:7072:
2017.08.09 09:02:39.151 5: PRESENCE (OG2_FR_EDVAWE01) - ping command returned with output:
PING 192.168.17.46 (192.168.17.46) 56(84) bytes of data.
64 bytes from 192.168.17.46: icmp_seq=1 ttl=64 time=1.65 ms
64 bytes from 192.168.17.46: icmp_seq=2 ttl=64 time=1.60 ms
64 bytes from 192.168.17.46: icmp_seq=3 ttl=64 time=1.64 ms
64 bytes from 192.168.17.46: icmp_seq=4 ttl=64 time=1.67 ms

--- 192.168.17.46 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 1.605/1.644/1.679/0.039 ms
DEBUG: .../IO/Socket/SSL.pm:2536: new ctx 82524440
DEBUG: .../IO/Socket/SSL.pm:1343: start handshake
DEBUG: .../IO/Socket/SSL.pm:819: starting sslifying
DEBUG: .../IO/Socket/SSL.pm:863: Net::SSLeay::accept -> 0
DEBUG: .../IO/Socket/SSL.pm:1774: SSL connect accept failed because of handshake problems
DEBUG: .../IO/Socket/SSL.pm:2569: free ctx 82524440 open=80797496 82524440
DEBUG: .../IO/Socket/SSL.pm:2581: OK free ctx 82524440
2017.08.09 09:02:41.220 1: telnet SSL/HTTPS error:  SSL connect accept failed because of handshake problems (peer: 192.168.17.182)
DEBUG: .../IO/Socket/SSL.pm:2536: new ctx 82760432
DEBUG: .../IO/Socket/SSL.pm:1343: start handshake
DEBUG: .../IO/Socket/SSL.pm:553: ssl handshake not started
DEBUG: .../IO/Socket/SSL.pm:586: using SNI with hostname 192.168.17.185
DEBUG: .../IO/Socket/SSL.pm:640: set socket to non-blocking to enforce timeout=4
DEBUG: .../IO/Socket/SSL.pm:653: Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:1769: SSL connect attempt failed

DEBUG: .../IO/Socket/SSL.pm:1774: SSL connect attempt failed error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
DEBUG: .../IO/Socket/SSL.pm:659: fatal SSL error: SSL connect attempt failed error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
DEBUG: .../IO/Socket/SSL.pm:2569: free ctx 82760432 open=82760432 80797496
DEBUG: .../IO/Socket/SSL.pm:2581: OK free ctx 82760432
2017.08.09 09:02:45.913 3: Can't connect to 192.168.17.185:7072:
DEBUG: .../IO/Socket/SSL.pm:2536: new ctx 82760432
DEBUG: .../IO/Socket/SSL.pm:1343: start handshake
DEBUG: .../IO/Socket/SSL.pm:553: ssl handshake not started
DEBUG: .../IO/Socket/SSL.pm:586: using SNI with hostname 192.168.17.187
DEBUG: .../IO/Socket/SSL.pm:640: set socket to non-blocking to enforce timeout=4
DEBUG: .../IO/Socket/SSL.pm:653: Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:1769: SSL connect attempt failed

DEBUG: .../IO/Socket/SSL.pm:1774: SSL connect attempt failed error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
DEBUG: .../IO/Socket/SSL.pm:659: fatal SSL error: SSL connect attempt failed error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
DEBUG: .../IO/Socket/SSL.pm:2569: free ctx 82760432 open=80797496 82760432
DEBUG: .../IO/Socket/SSL.pm:2581: OK free ctx 82760432
2017.08.09 09:02:45.926 3: Can't connect to 192.168.17.187:7072:
DEBUG: .../IO/Socket/SSL.pm:2536: new ctx 46075600
DEBUG: .../IO/Socket/SSL.pm:1343: start handshake
DEBUG: .../IO/Socket/SSL.pm:819: starting sslifying
DEBUG: .../IO/Socket/SSL.pm:863: Net::SSLeay::accept -> 0
DEBUG: .../IO/Socket/SSL.pm:1774: SSL connect accept failed because of handshake problems
DEBUG: .../IO/Socket/SSL.pm:2569: free ctx 46075600 open=46075600 80797496
DEBUG: .../IO/Socket/SSL.pm:2581: OK free ctx 46075600
2017.08.09 09:02:47.089 1: telnet SSL/HTTPS error:  SSL connect accept failed because of handshake problems (peer: 192.168.17.184)
DEBUG: .../IO/Socket/SSL.pm:2536: new ctx 46078104
DEBUG: .../IO/Socket/SSL.pm:1343: start handshake
DEBUG: .../IO/Socket/SSL.pm:819: starting sslifying
DEBUG: .../IO/Socket/SSL.pm:863: Net::SSLeay::accept -> 0
DEBUG: .../IO/Socket/SSL.pm:1774: SSL connect accept failed because of handshake problems
DEBUG: .../IO/Socket/SSL.pm:2569: free ctx 46078104 open=80797496 46078104
DEBUG: .../IO/Socket/SSL.pm:2581: OK free ctx 46078104
2017.08.09 09:02:47.804 1: telnet SSL/HTTPS error:  SSL connect accept failed because of handshake problems (peer: 192.168.17.185)
DEBUG: .../IO/Socket/SSL.pm:2536: new ctx 87575144
DEBUG: .../IO/Socket/SSL.pm:1343: start handshake
DEBUG: .../IO/Socket/SSL.pm:819: starting sslifying
DEBUG: .../IO/Socket/SSL.pm:863: Net::SSLeay::accept -> 0
DEBUG: .../IO/Socket/SSL.pm:1774: SSL connect accept failed because of handshake problems
DEBUG: .../IO/Socket/SSL.pm:2569: free ctx 87575144 open=80797496 87575144
DEBUG: .../IO/Socket/SSL.pm:2581: OK free ctx 87575144
2017.08.09 09:02:48.025 1: telnet SSL/HTTPS error:  SSL connect accept failed because of handshake problems (peer: 192.168.17.185)
DEBUG: .../IO/Socket/SSL.pm:2536: new ctx 81673336
DEBUG: .../IO/Socket/SSL.pm:1343: start handshake
DEBUG: .../IO/Socket/SSL.pm:819: starting sslifying
DEBUG: .../IO/Socket/SSL.pm:863: Net::SSLeay::accept -> 0
DEBUG: .../IO/Socket/SSL.pm:1774: SSL connect accept failed because of handshake problems
DEBUG: .../IO/Socket/SSL.pm:2569: free ctx 81673336 open=81673336 80797496
DEBUG: .../IO/Socket/SSL.pm:2581: OK free ctx 81673336
2017.08.09 09:02:48.087 1: telnet SSL/HTTPS error:  SSL connect accept failed because of handshake problems (peer: 192.168.17.186)
DEBUG: .../IO/Socket/SSL.pm:2536: new ctx 87571288
DEBUG: .../IO/Socket/SSL.pm:1343: start handshake
DEBUG: .../IO/Socket/SSL.pm:819: starting sslifying
DEBUG: .../IO/Socket/SSL.pm:863: Net::SSLeay::accept -> 0
DEBUG: .../IO/Socket/SSL.pm:1774: SSL connect accept failed because of handshake problems
DEBUG: .../IO/Socket/SSL.pm:2569: free ctx 87571288 open=87571288 80797496
DEBUG: .../IO/Socket/SSL.pm:2581: OK free ctx 87571288
2017.08.09 09:02:48.311 1: telnet SSL/HTTPS error:  SSL connect accept failed because of handshake problems (peer: 192.168.17.189)
DEBUG: .../IO/Socket/SSL.pm:2536: new ctx 86292496
DEBUG: .../IO/Socket/SSL.pm:1343: start handshake
DEBUG: .../IO/Socket/SSL.pm:819: starting sslifying
DEBUG: .../IO/Socket/SSL.pm:863: Net::SSLeay::accept -> 0
DEBUG: .../IO/Socket/SSL.pm:1774: SSL connect accept failed because of handshake problems
DEBUG: .../IO/Socket/SSL.pm:2569: free ctx 86292496 open=80797496 86292496
DEBUG: .../IO/Socket/SSL.pm:2581: OK free ctx 86292496
2017.08.09 09:02:48.453 1: telnet SSL/HTTPS error:  SSL connect accept failed because of handshake problems (peer: 192.168.17.131)
DEBUG: .../IO/Socket/SSL.pm:2536: new ctx 87570088
DEBUG: .../IO/Socket/SSL.pm:1343: start handshake
DEBUG: .../IO/Socket/SSL.pm:819: starting sslifying
DEBUG: .../IO/Socket/SSL.pm:863: Net::SSLeay::accept -> -1
DEBUG: .../IO/Socket/SSL.pm:863: Net::SSLeay::accept -> -1
DEBUG: .../IO/Socket/SSL.pm:863: Net::SSLeay::accept -> 1
DEBUG: .../IO/Socket/SSL.pm:911: handshake done, socket ready
DEBUG: .../IO/Socket/SSL.pm:2536: new ctx 39086272
DEBUG: .../IO/Socket/SSL.pm:1343: start handshake
DEBUG: .../IO/Socket/SSL.pm:819: starting sslifying
DEBUG: .../IO/Socket/SSL.pm:863: Net::SSLeay::accept -> -1
DEBUG: .../IO/Socket/SSL.pm:863: Net::SSLeay::accept -> 1
DEBUG: .../IO/Socket/SSL.pm:911: handshake done, socket ready
DEBUG: .../IO/Socket/SSL.pm:2536: new ctx 86092768
DEBUG: .../IO/Socket/SSL.pm:1343: start handshake
DEBUG: .../IO/Socket/SSL.pm:819: starting sslifying
DEBUG: .../IO/Socket/SSL.pm:863: Net::SSLeay::accept -> -1
DEBUG: .../IO/Socket/SSL.pm:863: Net::SSLeay::accept -> 1
DEBUG: .../IO/Socket/SSL.pm:911: handshake done, socket ready
DEBUG: .../IO/Socket/SSL.pm:2536: new ctx 75698520
DEBUG: .../IO/Socket/SSL.pm:1343: start handshake
DEBUG: .../IO/Socket/SSL.pm:819: starting sslifying
DEBUG: .../IO/Socket/SSL.pm:863: Net::SSLeay::accept -> -1
DEBUG: .../IO/Socket/SSL.pm:863: Net::SSLeay::accept -> 1
DEBUG: .../IO/Socket/SSL.pm:911: handshake done, socket ready
DEBUG: .../IO/Socket/SSL.pm:2536: new ctx 75696072
DEBUG: .../IO/Socket/SSL.pm:1343: start handshake
DEBUG: .../IO/Socket/SSL.pm:819: starting sslifying
DEBUG: .../IO/Socket/SSL.pm:863: Net::SSLeay::accept -> -1
DEBUG: .../IO/Socket/SSL.pm:863: Net::SSLeay::accept -> -1
DEBUG: .../IO/Socket/SSL.pm:863: Net::SSLeay::accept -> 1
DEBUG: .../IO/Socket/SSL.pm:911: handshake done, socket ready
DEBUG: .../IO/Socket/SSL.pm:2536: new ctx 88775816
DEBUG: .../IO/Socket/SSL.pm:1343: start handshake
DEBUG: .../IO/Socket/SSL.pm:819: starting sslifying
DEBUG: .../IO/Socket/SSL.pm:863: Net::SSLeay::accept -> -1
DEBUG: .../IO/Socket/SSL.pm:863: Net::SSLeay::accept -> 1
DEBUG: .../IO/Socket/SSL.pm:911: handshake done, socket ready
DEBUG: .../IO/Socket/SSL.pm:2536: new ctx 88680848
DEBUG: .../IO/Socket/SSL.pm:1343: start handshake
DEBUG: .../IO/Socket/SSL.pm:553: ssl handshake not started
DEBUG: .../IO/Socket/SSL.pm:586: using SNI with hostname 192.168.17.189
DEBUG: .../IO/Socket/SSL.pm:640: set socket to non-blocking to enforce timeout=4
DEBUG: .../IO/Socket/SSL.pm:653: Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:663: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:673: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:693: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:653: Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:663: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:673: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:693: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:653: Net::SSLeay::connect -> 1
DEBUG: .../IO/Socket/SSL.pm:708: ssl handshake done
2017.08.09 09:03:36.842 1: FHEM2FHEM 192.168.17.189:7072 reappeared (F2F_Rasp09)
DEBUG: .../IO/Socket/SSL.pm:2536: new ctx 89388368
DEBUG: .../IO/Socket/SSL.pm:1343: start handshake
DEBUG: .../IO/Socket/SSL.pm:553: ssl handshake not started
DEBUG: .../IO/Socket/SSL.pm:586: using SNI with hostname 192.168.17.188
DEBUG: .../IO/Socket/SSL.pm:640: set socket to non-blocking to enforce timeout=4
DEBUG: .../IO/Socket/SSL.pm:653: Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:663: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:673: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:693: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:653: Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:663: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:673: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:693: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:653: Net::SSLeay::connect -> 1
DEBUG: .../IO/Socket/SSL.pm:708: ssl handshake done
2017.08.09 09:03:37.479 1: FHEM2FHEM 192.168.17.188:7072 reappeared (F2F_Rasp08)
DEBUG: .../IO/Socket/SSL.pm:2536: new ctx 89386472
DEBUG: .../IO/Socket/SSL.pm:1343: start handshake
DEBUG: .../IO/Socket/SSL.pm:553: ssl handshake not started
DEBUG: .../IO/Socket/SSL.pm:586: using SNI with hostname 192.168.17.184
DEBUG: .../IO/Socket/SSL.pm:640: set socket to non-blocking to enforce timeout=4
DEBUG: .../IO/Socket/SSL.pm:653: Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:663: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:673: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:693: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:653: Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:663: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:673: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:693: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:653: Net::SSLeay::connect -> 1
DEBUG: .../IO/Socket/SSL.pm:708: ssl handshake done
2017.08.09 09:03:37.638 1: FHEM2FHEM 192.168.17.184:7072 reappeared (F2F_Rasp04)
DEBUG: .../IO/Socket/SSL.pm:2536: new ctx 89480456
DEBUG: .../IO/Socket/SSL.pm:1343: start handshake
DEBUG: .../IO/Socket/SSL.pm:553: ssl handshake not started
DEBUG: .../IO/Socket/SSL.pm:586: using SNI with hostname 192.168.17.186
DEBUG: .../IO/Socket/SSL.pm:640: set socket to non-blocking to enforce timeout=4
DEBUG: .../IO/Socket/SSL.pm:653: Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:663: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:673: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:693: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:653: Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:663: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:673: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:693: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:653: Net::SSLeay::connect -> 1
DEBUG: .../IO/Socket/SSL.pm:708: ssl handshake done
2017.08.09 09:03:37.840 1: FHEM2FHEM 192.168.17.186:7072 reappeared (F2F_Rasp06)
DEBUG: .../IO/Socket/SSL.pm:2536: new ctx 89482352
DEBUG: .../IO/Socket/SSL.pm:1343: start handshake
DEBUG: .../IO/Socket/SSL.pm:553: ssl handshake not started
DEBUG: .../IO/Socket/SSL.pm:586: using SNI with hostname 192.168.17.183
DEBUG: .../IO/Socket/SSL.pm:640: set socket to non-blocking to enforce timeout=4
DEBUG: .../IO/Socket/SSL.pm:653: Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:663: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:673: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:693: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:653: Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:663: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:673: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:693: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:653: Net::SSLeay::connect -> 1
DEBUG: .../IO/Socket/SSL.pm:708: ssl handshake done
2017.08.09 09:03:37.973 1: FHEM2FHEM 192.168.17.183:7072 reappeared (F2F_Rasp03)
DEBUG: .../IO/Socket/SSL.pm:2536: new ctx 88152200
DEBUG: .../IO/Socket/SSL.pm:1343: start handshake
DEBUG: .../IO/Socket/SSL.pm:553: ssl handshake not started
DEBUG: .../IO/Socket/SSL.pm:586: using SNI with hostname 192.168.17.182
DEBUG: .../IO/Socket/SSL.pm:640: set socket to non-blocking to enforce timeout=4
DEBUG: .../IO/Socket/SSL.pm:653: Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:663: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:673: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:693: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:653: Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:663: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:673: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:693: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:653: Net::SSLeay::connect -> 1
DEBUG: .../IO/Socket/SSL.pm:708: ssl handshake done
2017.08.09 09:03:38.170 1: FHEM2FHEM 192.168.17.182:7072 reappeared (F2F_Rasp02)
DEBUG: .../IO/Socket/SSL.pm:2536: new ctx 88144800
DEBUG: .../IO/Socket/SSL.pm:1343: start handshake
DEBUG: .../IO/Socket/SSL.pm:553: ssl handshake not started
DEBUG: .../IO/Socket/SSL.pm:586: using SNI with hostname 192.168.17.187
DEBUG: .../IO/Socket/SSL.pm:640: set socket to non-blocking to enforce timeout=4
DEBUG: .../IO/Socket/SSL.pm:653: Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:663: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:673: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:683: handshake failed because socket did not became ready
DEBUG: .../IO/Socket/SSL.pm:2569: free ctx 88144800 open=88152200 89480456 88144800 39086272 89388368 88680848 88775816 75696072 80797496 89482352 89386472 75698520 87570088 86092768
DEBUG: .../IO/Socket/SSL.pm:2581: OK free ctx 88144800
DEBUG: .../IO/Socket/SSL.pm:2536: new ctx 88145248
DEBUG: .../IO/Socket/SSL.pm:1343: start handshake
DEBUG: .../IO/Socket/SSL.pm:553: ssl handshake not started
DEBUG: .../IO/Socket/SSL.pm:586: using SNI with hostname 192.168.17.185
DEBUG: .../IO/Socket/SSL.pm:640: set socket to non-blocking to enforce timeout=4
DEBUG: .../IO/Socket/SSL.pm:653: Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:1769: SSL connect attempt failed

DEBUG: .../IO/Socket/SSL.pm:1774: SSL connect attempt failed error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
DEBUG: .../IO/Socket/SSL.pm:659: fatal SSL error: SSL connect attempt failed error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
DEBUG: .../IO/Socket/SSL.pm:2569: free ctx 88145248 open=88152200 89480456 39086272 89388368 88680848 88775816 75696072 80797496 89482352 89386472 88145248 75698520 87570088 86092768
DEBUG: .../IO/Socket/SSL.pm:2581: OK free ctx 88145248
DEBUG: .../IO/Socket/SSL.pm:2536: new ctx 88934288
DEBUG: .../IO/Socket/SSL.pm:1343: start handshake
DEBUG: .../IO/Socket/SSL.pm:553: ssl handshake not started
DEBUG: .../IO/Socket/SSL.pm:586: using SNI with hostname 192.168.17.187
DEBUG: .../IO/Socket/SSL.pm:640: set socket to non-blocking to enforce timeout=4
DEBUG: .../IO/Socket/SSL.pm:653: Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:663: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:673: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:693: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:653: Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:663: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:673: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:693: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:653: Net::SSLeay::connect -> 1
DEBUG: .../IO/Socket/SSL.pm:708: ssl handshake done
2017.08.09 09:04:50.286 1: FHEM2FHEM 192.168.17.187:7072 reappeared (F2F_Rasp07)
DEBUG: .../IO/Socket/SSL.pm:2536: new ctx 88935288
DEBUG: .../IO/Socket/SSL.pm:1343: start handshake
DEBUG: .../IO/Socket/SSL.pm:553: ssl handshake not started
DEBUG: .../IO/Socket/SSL.pm:586: using SNI with hostname 192.168.17.185
DEBUG: .../IO/Socket/SSL.pm:640: set socket to non-blocking to enforce timeout=4
DEBUG: .../IO/Socket/SSL.pm:653: Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:663: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:673: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:693: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:653: Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:663: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:673: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:693: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:653: Net::SSLeay::connect -> 1
DEBUG: .../IO/Socket/SSL.pm:708: ssl handshake done
2017.08.09 09:04:50.419 1: FHEM2FHEM 192.168.17.185:7072 reappeared (F2F_Rasp05)


Insgesamt gibt es 11 Raspberrys.
Ein Raspberry Pi 3 erledigt alles. Er holt sich die notwendigen Daten via FHEM2FEHM und ser2net von den 10 Raspberrys. Diese 10 Raspberrys holen sich ebenfalls wie FHEM2FHEM die benötigten Daten. Datenübertragungen sind mit LOG:regexp begrenzt um keine unnötige Belastung hervor zu rufen.
Diese SSL/HTTPS Meldungen kommen auch auf den anderen Raspberrys vor wie feststellen musste, nur halt nicht so häufig.
Anbei eine Skizze der Raspberrys. Hier wurde nur eine Richtung der FHEM2FHEM Verbindungswege skizziert. Bei den FHEM2FHEM Verbindungen wurde darauf geachtet das es keine LOG:regexp Kreisläufer gibt.

Habe folgende Test auf der Console ausgeführt.
pi@ccs-ht-rasp01:~ $ openssl s_client -connect 192.168.17.184:7002 -ssl2
unknown option -ssl2
usage: s_client args

-host host     - use -connect instead
-port port     - use -connect instead
-connect host:port - who to connect to (default is localhost:4433)
-verify arg   - turn on peer certificate verification
-verify_return_error - return verification errors
-cert arg     - certificate file to use, PEM format assumed
-certform arg - certificate format (PEM or DER) PEM default
-key arg      - Private key file to use, in cert file if
                 not specified but cert file is.
-keyform arg  - key format (PEM or DER) PEM default
-pass arg     - private key file pass phrase source
-CApath arg   - PEM format directory of CA's
-CAfile arg   - PEM format file of CA's
-no_alt_chains - only ever use the first certificate chain found
-reconnect    - Drop and re-make the connection with the same Session-ID
-pause        - sleep(1) after each read(2) and write(2) system call
-prexit       - print session information even on connection failure
-showcerts    - show all certificates in the chain
-debug        - extra output
-msg          - Show protocol messages
-nbio_test    - more ssl protocol testing
-state        - print the 'ssl' states
-nbio         - Run with non-blocking IO
-crlf         - convert LF from terminal into CRLF
-quiet        - no s_client output
-ign_eof      - ignore input eof (default when -quiet)
-no_ign_eof   - don't ignore input eof
-psk_identity arg - PSK identity
-psk arg      - PSK in hex (without 0x)
-srpuser user     - SRP authentification for 'user'
-srppass arg      - password for 'user'
-srp_lateuser     - SRP username into second ClientHello message
-srp_moregroups   - Tolerate other than the known g N values.
-srp_strength int - minimal length in bits for N (default 1024).
-ssl2         - just use SSLv2
-ssl3         - just use SSLv3
-tls1_2       - just use TLSv1.2
-tls1_1       - just use TLSv1.1
-tls1         - just use TLSv1
-dtls1        - just use DTLSv1
-fallback_scsv - send TLS_FALLBACK_SCSV
-mtu          - set the link layer MTU
-no_tls1_2/-no_tls1_1/-no_tls1/-no_ssl3/-no_ssl2 - turn off that protocol
-bugs         - Switch on all SSL implementation bug workarounds
-serverpref   - Use server's cipher preferences (only SSLv2)
-cipher       - preferred cipher to use, use the 'openssl ciphers'
                 command to see what is available
-starttls prot - use the STARTTLS command before starting TLS
                 for those protocols that support it, where
                 'prot' defines which one to assume.  Currently,
                 only "smtp", "pop3", "imap", "ftp" and "xmpp"
                 are supported.
-engine id    - Initialise and use the specified engine
-rand file:file:...
-sess_out arg - file to write SSL session to
-sess_in arg  - file to read SSL session from
-servername host  - Set TLS extension servername in ClientHello
-tlsextdebug      - hex dump of all TLS extensions received
-status           - request certificate status from server
-no_ticket        - disable use of RFC4507bis session tickets
-nextprotoneg arg - enable NPN extension, considering named protocols supported (comma-separated list)
-legacy_renegotiation - enable use of legacy renegotiation (dangerous)
-use_srtp profiles - Offer SRTP key management with a colon-separated profile list
-keymatexport label   - Export keying material using label
-keymatexportlen len  - Export len bytes of keying material (default 20)


Korrektur 2017.08.11
pi@ccs-ht-rasp01:~ $ openssl s_client -connect 192.168.17.184:7072 -tls1_2
Es wird der komplette Schlüssel angezeigt und das Passwort verlangt


Eines was mir dabei aufgefallen ist, ist dass auf allen Systemen unter fhem\certs nur eine server-cert.pem und server-key.pem gibt.
Eigenlich müsste hierfür doch auch eine client-cert.pem und cleint-key.pem angelegt werden auf allen Systemen. Oder liege ich da falsch bei FHEM.
Mfg Chris

Raspberry Pi 2/2+/3/3+/4 / Betriebssystem: Bullseye Lite
Schnittstellen: RFXtrx433E, SIGNALduino, MQTT, nanoCUL, HM-MOD-UART, 1-Wire, LAN, ser2net, FHEM2FEHEM
Devices: S.USV, APC-USV, Fronius Datalogger Web 2, FS20, IT, Resol VBUS & DL2, TEK603, WMR200, YouLess, Homematic, MQTT

dtavb

#9
oh die Logs sind super! fhem&perl meckern über die ssl3 Version in der ssl-Routine.
Man kann doch in den Attributen von den fhemweb-Instanzen hinterlegen welche Versionen unterstützt werden.
sslVersion --> TLSv12:!SSLv3
So schaut es bei mir aus, an ssl3 stört er sich bei Dir, mal bei mir nachgucken...
Man kann doch bestimmt die ssl-Version für die Interconnections der fhems irgendwo festschreiben, sprich ähnlich wie in fhemweb.

Was die Zertifikate angeht (leider mehr Text zu Deiner Neben- als zu Deiner Hauptfrage :) )
sollen server&client sich gegenseitig prüfen, nennt man das mtls, mutual tls. Ansonsten kommt es darauf an, wer die Session aufbaut - also wer die Client und wer die Server Rolle hat.
Habe den Begriff mtls bei fhem noch nicht gelesen, daher gehe ich davon aus, dass es single-side tls (client-server typisch) ist.
Dein daten-holender Pi ("Master" baut Verbindung zu "Slaves" auf) erhält das Server-Zertifikat von einem der anderen "Slaves", sieht die ausstellende CA im Zerti und akzeptiert es oder eben nicht.
Vertraut er der CA, interessiert ihn die CA überhaupt, prüft die x.509 Felder, evt. auch nur das common-names Field mit DNS oder IP etc etc.
Umgekehrt holen Deine "Slaves" Logs vom "Master" ("Slaves" bauen Verbindung zu "Master" auf), dann präsentiert der Master den Slaves sein Zerti und diese akzeptieren das oder eben nicht, prüfen ebenfalls ihre Punkte aus dem erhaltenen Zerti.
Um das ganze Spiel noch etwas komplexer zu gestalten: wenn eine TLS-Session besteht (egal wer jetzt aufgebaut hat) könnte man auch diese Session in umgekehrter Richtung benutzen ohne eine weitere Verbindung aufbauen zu müssen. Das obliegt dem Entwickler und Integrator zu entscheiden, wie er das bei der Entwicklung vorgesehen hat.

Diese verwirrende Client-Server Rollen kann man gut im VoIP-Bereich nachvollziehen, da wechselt dieses Geschehen je nach dem wer den Anruf aufbaut...wenn man aus der klassischen Client/Server Welt kommt, hat man den entsprechenden Kollegen viel zu erklären. Deshalb haben viele PBXen und Clients das Häkchen "allow all certificates" :)

Das sieht man relativ leicht via Netzwerk-Trace was nach dem ersten TCP/TLS Syn geschieht...
fhem:pi3&kvm, z-wave, it-funk, milight, zigbee, wifi, bt & presence, geo-tracking, alexa, esp.
Monitoring: ELK(syslog), grafana (grafik), netdata (ermittlung)
Security: haproxy (access), ossec (überall), snort (access), opnsense (fw)
Geplant: KVM-Cluster

Burny4600

#10
Ich bin leider mit diesen Dingen nicht so vertraut un dhabe diese nach Anleitung erstellt.
Grundsätzlich ist unter FHEM überall die sslVersion --> TLSv12:!SSLv3 definiert.
Es werden auch via FHEM2FHEM die Daten übertragen, aber es ist sehr träge seit dem ich SSL und HTTPS unter FHEM definiert habe.
Fragt sich nur ob ich dieses Bebehalte solange des noch Problem damit gibt und diese nicht soleicht gelöst werden.

Bei deinen Erläuterungen habe ich leider nicht allzu viel verstanden, was mir jetzt weiter helfen kann.
Trotzdem Danke.

2017.08.11
Einen Fehler hatte ich bei der Prüfung des Ports gemacht. Es wird der gesamte Schlüssel angezeigt und das Passwort verlangt. Im Anschluß lande ich beim Verzeichnis fhem
pi@ccs-ht-rasp01:~ $ openssl s_client -connect 192.168.17.184:7072 -tls1_2
CONNECTED(00000003)
.........................
---
No client certificate CA names sent
---
SSL handshake has read 1712 bytes and written 415 bytes
---
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-GCM-SHA384
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : ECDHE-RSA-AES256-GCM-SHA384
........................................................
    Start Time: 1502475872
    Timeout   : 7200 (sec)
    Verify return code: 18 (self signed certificate)
---
▒▒Password: xxxxxxxxxxxxxxxxxxxxxxxxxxx
▒▒

fhem>

Zumindest funktioniert es ausserhalb von FHEM.

Somit ist der Fehler unter FHEM zu suchen!
Kann es an dem Master-Key liegen der auf der Console funktioniert?
Muss ein Master-Key unter FHEM noch konfiguriert werden?

Was hat es unter telnet mit den Attrubuten globalpassword auf sich?
Mfg Chris

Raspberry Pi 2/2+/3/3+/4 / Betriebssystem: Bullseye Lite
Schnittstellen: RFXtrx433E, SIGNALduino, MQTT, nanoCUL, HM-MOD-UART, 1-Wire, LAN, ser2net, FHEM2FEHEM
Devices: S.USV, APC-USV, Fronius Datalogger Web 2, FS20, IT, Resol VBUS & DL2, TEK603, WMR200, YouLess, Homematic, MQTT

Burny4600

Zu diesem Problem gab es schon einmal Änderungsvorschläge die anscheinend nicht fertig integriert wurden.
https://forum.fhem.de/index.php/topic,35004.msg273147.html#msg273147
Eines was ich auch noch nicht nachvollziehen kann ist warum bei der Telnet Verbindung die mit TLS eine Verbindung aufbauen soll bei der Schnittstelle aber nur die Rede ist von SSL.
Das müsste doch anstatt
192.168.17.184:7072:SSL LOG:AB_SA_HZ_T.*|AB_SA_IHZ(O|W)_T.*|AB_SA_RT.*|Handy(BSC|CSC|FST).* Password
192.168.17.184:7072:TLS LOG:AB_SA_HZ_T.*|AB_SA_IHZ(O|W)_T.*|AB_SA_RT.*|Handy(BSC|CSC|FST).* Password
heißen.
Irgendwie sind hier noch ein paar Ungereimtheiten die aufgearbeitet werden sollten.
Zudem wurde eine Ergänzung in der TcpServerUtils.pm testweise gemacht die in der aktuellen Version aber fehlt.
      SSL_version => 'TLSv12:!SSLv3',
      SSL_cipher_list => 'HIGH:!RC4:!eNULL:!aNULL',
Mfg Chris

Raspberry Pi 2/2+/3/3+/4 / Betriebssystem: Bullseye Lite
Schnittstellen: RFXtrx433E, SIGNALduino, MQTT, nanoCUL, HM-MOD-UART, 1-Wire, LAN, ser2net, FHEM2FEHEM
Devices: S.USV, APC-USV, Fronius Datalogger Web 2, FS20, IT, Resol VBUS & DL2, TEK603, WMR200, YouLess, Homematic, MQTT

rudolfkoenig

ZitatEines was ich auch noch nicht nachvollziehen kann ist warum bei der Telnet Verbindung die mit TLS eine Verbindung aufbauen soll bei der Schnittstelle aber nur die Rede ist von SSL.
Weil der Name SSL einem Crypto-Laien bekannter ist als TLS. Das verwendete Perl Modul heisst auch IO::Socket::SSL, und die Parameter fangen alle mit SSL_ an.

ZitatZudem wurde eine Ergänzung in der TcpServerUtils.pm testweise gemacht die in der aktuellen Version aber fehlt.
Ich weiss nicht welche Version du hast, oder was du mit "testweise" meinst, in meiner Version steht

    my $sslVersion = AttrVal($hash->{NAME}, "sslVersion",
                     AttrVal("global", "sslVersion", "TLSv12:!SSLv3"));
[...]
      SSL_version => $sslVersion,
      SSL_cipher_list => 'HIGH:!RC4:!eNULL:!aNULL',

Burny4600

#13
ZitatWeil der Name SSL einem Crypto-Laien bekannter ist als TLS. Das verwendete Perl Modul heisst auch IO::Socket::SSL, und die Parameter fangen alle mit SSL_ an.
Habe ich verstanden. Ich bin nur am Suchen um eine Lösung zu finden.

Jedenfalls funktionieren die Test der telnet Verbindung unter PuTTY ausserhalb von FHEM ohne Fehler bei:
openssl s_client -connect 192.n.n.n:7072 -tls1_2

Bei der SSL3 Verbindung ist das der gleiche Fehler wie unter FHEM
pi@ccs-ht-rasp01:~ $ openssl s_client -connect 192.168.17.184:7072 -ssl3
CONNECTED(00000003)
1995765856:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:s3_pkt.c:1315:SSL alert number 40
1995765856:error:1409E0E5:SSL routines:SSL3_WRITE_BYTES:ssl handshake failure:s3_pkt.c:637:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 7 bytes and written 0 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : SSLv3
    Cipher    : 0000
    Session-ID:
    Session-ID-ctx:
    Master-Key:
    Key-Arg   : None
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1502520065
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
---


Die im Einsatz befindliche Version ist:
##############################################
# $Id: TcpServerUtils.pm 14862 2017-08-07 15:16:03Z rudolfkoenig $


Der Abschnitt um den es sich handelt ist dieser:
if($hash->{SSL}) {
    # Forum #27565: SSLv23:!SSLv3:!SSLv2', #35004: TLSv12:!SSLv3
    my $sslVersion = AttrVal($hash->{NAME}, "sslVersion",
                     AttrVal("global", "sslVersion", "TLSv12:!SSLv3"));

    # Certs directory must be in the modpath, i.e. at the same level as the
    # FHEM directory
    my $mp = AttrVal("global", "modpath", ".");
    my $ret = IO::Socket::SSL->start_SSL($clientinfo[0], {
      SSL_server    => 1,
      SSL_key_file  => "$mp/certs/server-key.pem",
      SSL_cert_file => "$mp/certs/server-cert.pem",
      SSL_version => $sslVersion,
      SSL_cipher_list => 'HIGH:!RC4:!eNULL:!aNULL',
      Timeout       => 4,
      });

Für diesen Abschnitt gab es damals eine Ergänzung.
SSL_version => 'TLSv12:!SSLv3',
      SSL_cipher_list => 'HIGH:!RC4:!eNULL:!aNULL',

Ein Teil davon befindet sich in der aktuellen Version.

Die Zeile
SSL_version => 'TLSv12:!SSLv3'
Gibt es nicht darin.

Was ich dabei nicht verstehe ist das ja primär die TLSv12 verwendet werden sollte und nur wenn diese nicht antwortet oder fehlerhaft ist soll die SSLv3 genutz werden die aber mit dem Handshake Fehler sich auch ausserhalb von FHEM meldet.
Vieleicht ist es nur ein Timeingproblem oder es ist noch etwas zu installieren was unter FHEM Wiki nicht angeführt ist.
Auffällig ist jedenfalls bei Einsatz von SSL/TLS das die FHEM2FHEM Verbindungen sehr lange nach einem Neustart von FHEM brauchen bis die Verbindung steht. Hängt vielleicht auch mit diesem Fehler zusammen.

Zur Sicherheit nochmals meine Config falls ich hier einen Fehler reingebracht hatte den ich übersehe.
attr global userattr alarmDevice:Actor,Sensor alarmSettings cmdIcon devStateIcon devStateStyle fp_SolarThermie icon sortby webCmd webCmdLabel:textField-long widgetOverride
attr global archivedir /media/hdd/Backup/ccs-ht-rasp01/opt/fhem/restoreDir
attr global autoload_undefined_devices 1
attr global backupdir /media/hdd/Backup/ccs-ht-rasp01/opt/fhem/restoreDir
attr global dupTimeout 0.5
attr global holiday2we OOE
attr global language DE
attr global logdir /media/hdd/fhem/log01
attr global logfile /media/hdd/fhem/log01/fhem-%Y-%m.log
attr global modpath .
attr global mseclog 1
attr global restartDelay 2
attr global room _System
attr global sendStatistics onUpdate
attr global sslVersion TLSv12:!SSLv3
attr global stacktrace 0
attr global statefile /media/hdd/fhem/log01/fhem.save
attr global uniqueID ./FHEM/FhemUtils/uniqueID
attr global updateInBackground 1
attr global verbose 3

# -----------------------------------------------------------------------------------------------
# -----------------------------------------------------------------------------------------------

define telnetPort telnet 7072 global
attr telnetPort SSL 1
attr telnetPort room _System
attr telnetPort sslVersion TLSv12:!SSLv3

define allowed_telnetPort allowed
attr allowed_telnetPort password <sicheres Passwort>
attr allowed_telnetPort room _System
attr allowed_telnetPort validFor telnetPort

# -----------------------------------------------------------------------------------------------
# -----------------------------------------------------------------------------------------------

define WEB FHEMWEB 8083 global
attr WEB userattr { addToAttrList("alarmDevice:Actor,Sensor") } { addToAttrList("alarmSettings") }
attr WEB HTTPS 1
attr WEB JavaScripts codemirror/fhem_codemirror.js pgm2/clock.js
attr WEB editConfig 1
attr WEB fwcompress 0
attr WEB hiddenroom AlarmRoom
attr WEB mainInputLength 80
attr WEB menuEntries Neustart,cmd=save+shutdown+restart,Update,cmd=update,Updatecheck,cmd=update+check,MyUtils_neu_laden,cmd=reload+99_myUtils.pm
attr WEB room _System
attr WEB roomIcons AB:scene_x-mas AB-Fitness:scene_fitness AB-Sauna:scene_sauna AB-Garage:fts_garage AB-Pool:scene_pool Alarmanlage:secur_alarm@red Anwesenheit:user_available Aquarium:Icon_Fisch AB-Bewaesserung:sani_irrigation EG:control_building_s_eg Heizung:icoHEIZUNG Keller:control_building_s_kg OG1-Balkon:awning OG1:control_building_s_og OG2:control_building_s_dg Pegelmessung Mühlbach:time_graph PV-Anlagen:measure_photovoltaic_inst Rolllaeden:fts_shutter_updown SolarThermie:sani_solar Stiegenhaus:control_building_s_all USV:measure_battery_100 Trend:time_graph Verbrauch-Strom:measure_power Verbrauch-Wasser:measure_power_meter Verbrauch-Gas:measure_power_meter Wetterstation:weather_cloudy_light _Alarme:message_attention@red _Energiemessungen:measure_power_meter _Sensor Batteriezustände:measure_battery_100 _Signalstärke Geräte:it_wireless_dcf77
attr WEB sslVersion TLSv12:!SSLv3
attr WEB stylesheetPrefix dark

define allowed_WEB allowed
attr allowed_WEB basicAuth <sicheres Passwort>
attr allowed_WEB room _System
attr allowed_WEB validFor WEB

# -----------------------------------------------------------------------------------------------
# -----------------------------------------------------------------------------------------------

define WEBphone FHEMWEB 8084 global
attr WEBphone HTTPS 1
attr WEBphone hiddenroom AlarmRoom
attr WEBphone room _System
attr WEBphone sslVersion TLSv12:!SSLv3
attr WEBphone stylesheetPrefix smallscreen

define allowed_WEBphone allowed
attr allowed_WEBphone basicAuth <sicheres Passwort>
attr allowed_WEBphone room _System
attr allowed_WEBphone validFor WEBphone

# -----------------------------------------------------------------------------------------------
# -----------------------------------------------------------------------------------------------

define WEBtablet FHEMWEB 8085 global
attr WEBtablet HTTPS 1
attr WEBtablet hiddenroom AlarmRoom
attr WEBtablet room _System
attr WEBtablet sslVersion TLSv12:!SSLv3
attr WEBtablet stylesheetPrefix touchpad

define allowed_WEBtablet allowed
attr allowed_WEBtablet basicAuth <sicheres Passwort>
attr allowed_WEBtablet room _System
attr allowed_WEBtablet validFor WEBtablet
Mfg Chris

Raspberry Pi 2/2+/3/3+/4 / Betriebssystem: Bullseye Lite
Schnittstellen: RFXtrx433E, SIGNALduino, MQTT, nanoCUL, HM-MOD-UART, 1-Wire, LAN, ser2net, FHEM2FEHEM
Devices: S.USV, APC-USV, Fronius Datalogger Web 2, FS20, IT, Resol VBUS & DL2, TEK603, WMR200, YouLess, Homematic, MQTT

dev0

ZitatWas ich dabei nicht verstehe ist das ja primär die TLSv12 verwendet werden sollte und nur wenn diese nicht antwortet oder fehlerhaft ist soll die SSLv3 genutz werden die aber mit dem Handshake Fehler sich auch ausserhalb von FHEM meldet.
Diese Annahme ist falsch: "TLSv12:!SSLv3" verbietet SSLv3, kein Fallback.

ZitatFür diesen Abschnitt gab es damals eine Ergänzung.
Die angesprochene Ergänzung ist eingebaut, auch wenn Du sie nicht erkennst.

Das Attribut sslVersion (bzw. die IO::Socket::SSL Option SSL_version) beeinflusst nicht nur die zu verwendenen Protokolle sondern ggf. auch das Handshake. Details dazu sind in der Doku beschrieben: http://search.cpan.org/~sullr/IO-Socket-SSL-2.049/lib/IO/Socket/SSL.pod#SSL_version

Ein genrelles Problem besteht aber nicht, da es u.a. auch bei mir keine Probleme damit gibt...

Burny4600

Nur woher kommen die Handshake Fehlermeldungen und der Langsame Verbindungsaufbau.
Das System wurde auch schon komplett neu aufgebaut und es ist alles auf Letztstand.
Mfg Chris

Raspberry Pi 2/2+/3/3+/4 / Betriebssystem: Bullseye Lite
Schnittstellen: RFXtrx433E, SIGNALduino, MQTT, nanoCUL, HM-MOD-UART, 1-Wire, LAN, ser2net, FHEM2FEHEM
Devices: S.USV, APC-USV, Fronius Datalogger Web 2, FS20, IT, Resol VBUS & DL2, TEK603, WMR200, YouLess, Homematic, MQTT

dev0

ZitatNur woher kommen die Handshake Fehlermeldungen und der Langsame Verbindungsaufbau.
Kannst Du nachweisen, dass es mit F2F zu tun hat oder tauchen sie "nur" in Deinem Log auf?

Burny4600

Ja kann ich.
Weil es nur telnet Verbindungen zu F2F gibt und auch nur diese IP Adressen auftauchen zu denen es F2F Verbindungen mit TLS gibt.
Mfg Chris

Raspberry Pi 2/2+/3/3+/4 / Betriebssystem: Bullseye Lite
Schnittstellen: RFXtrx433E, SIGNALduino, MQTT, nanoCUL, HM-MOD-UART, 1-Wire, LAN, ser2net, FHEM2FEHEM
Devices: S.USV, APC-USV, Fronius Datalogger Web 2, FS20, IT, Resol VBUS & DL2, TEK603, WMR200, YouLess, Homematic, MQTT

dtavb

#18
Hoi,

in Deinem Verbindungsaufbau mit zwingender ssl3 suite steht:

Zitat von: Burny4600 am 12 August 2017, 08:48:55

pi@ccs-ht-rasp01:~ $ openssl s_client -connect 192.168.17.184:7072 -ssl3
CONNECTED(00000003)
1995765856:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:s3_pkt.c:1315:SSL alert number 40
1995765856:error:1409E0E5:SSL routines:SSL3_WRITE_BYTES:ssl handshake failure:s3_pkt.c:637:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 7 bytes and written 0 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : SSLv3
    Cipher    : 0000
    Session-ID:
    Session-ID-ctx:
    Master-Key:
    Key-Arg   : None
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1502520065
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
---



Alert 40 bedeutet wohl:
SSL alert number 40 means that the server won't accept the connection because no user certificate was presented. You have to specify the user certificate and the private key with the -cert and -key parameters.

Benutzer/Client Zertis werden doch soweit ich das aus Eurer Beschreibung verstehe gar nicht benötigt, Stichwort mtls.
Gibt es irgendwo eine Einstellung in einer Konfig-Datei (sei es fhem.cfg oder Linux) wo man das festschreiben kann?
fhem.cfg kann es fast nicht sein, denn Du schreibst, dass es via Linux CLI ebenfalls auftritt wenn Du die Option -ssl3 benutzt.

Auch macht mich stutzig, dass Deine Logs ausgeben:
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported


Null-Cipher sind gleich verschlüsselt mit Null und daher unverschlüsselt. Naja entschlüsselbar zumindest - man kennt ja den Schlüssel :)

Das ist aber alles eigentlich nicht so relevant, da Du ja die ssl3 Suite sowieso in fhem deaktiviert hast.
Evt. liegt das ganze Verhalten nur daran, dass zu best. Zeitpunkten eben ssl3 benutzt wird und die Handshake Fehler passieren.

Das Verhalten tritt bei all Deinen pi´s auf?

Als Idee:
Du könntest auf einem der Neben-Pis das ausführen (screen und tcpdump installieren via apt-get/aptitude):
screen
tcpdump -i any -C 10 -W 10 -w /tmp/trace_handshake.cap host A.B.C.D and port XYZ
Strg+a+d

Screen: kannst Die ssh session zum Pi wieder beenden und der tcpdump Befehl läuft in einer virt. Session im Hintergrund.
Via screen -list kannst Du die ID anzeigen lassen, via screen -r ID verbindest Du Dich in die Screen Session.
Via logout aus der Session, beendet Du diese oder restart des Pi (nicht neustart-persistent).

IP und Port muss noch gesetzt sein, Port ist wohl 22? Wenn Du das auf einem Neben-Pi absetzt, schnüffelt tcpdump den Netzverkehr auf der Maschine mit zur IP und Port mit. Es legt die Files unter /tmp/name.cap wie oben ab und erstellt ca. alle 10MB ein neues File und rotiert 10 Files (100MB), sprich bei dem bisschen Traffic wird das wohl locker eine Weile reichen.
So hast Du Zeit im Log auf den Fehler zu warten, ab und zu reinschauen und wenn er auftritt: das entsprechende Logfile anhand des Zeitstempels ausfindig machen und:
chown Dein-Linux-User /tmp/DATEI.cap
Die anderen Files nach dem Fehler sind dann noch wichtig, um nachzusehen wie schnell etc. die Gutfälle ausgehandelt werden, bzw. wie die Aushandlung auf Netzebene überhaupt aussieht im Gut wie im Schlechtfall.
Die Files kannst Du dann auch noch in 7zip als Archiv packen (alternativ direkt in Linux mit tar), das sind paar wenige kbytes als Anhang.

Das Anschauen kann ich gerne machen...keine Sorge böse Sache stehen da nicht drin.

Habe so einen Trace bei mir auch laufen, dummerweise bekomme ich gerade keinen Handshake Fehler reproduziert  ::)


Nachtrag 16.8
Konnte Deinen Fehler nicht explizit bei mir nachstellen, aber etwas anderes was schon häufig im Forum genannt worden ist:
FHEMWEB SSL/HTTPS error:  SSL accept attempt failed (peer:blablabla)
und
FHEMWEB SSL/HTTPS error: Connection reset by peer SSL accept attempt failed (peer:blablabla)

sorry
fhem:pi3&kvm, z-wave, it-funk, milight, zigbee, wifi, bt & presence, geo-tracking, alexa, esp.
Monitoring: ELK(syslog), grafana (grafik), netdata (ermittlung)
Security: haproxy (access), ossec (überall), snort (access), opnsense (fw)
Geplant: KVM-Cluster

Burny4600

Danke für die Infos.
Aber dieses Thema muss ich noch weiter verfolgen.
Irgendwo ist mit HTTPS/SSL in FHEM noch der Wurm drinnen.

Vielleicht ist es nur ein Timeing Problem Aufgrund gewisser FHEM2FHEM Verbindungen die Zeitweise einen höheren Datenverkehr haben.
Ich merke schon nach einem Reboot des Systems unter FHEM mit HTTPS/SSL, wenn der Verbindungsaufbau der FHEM2FHEM Schnittstellen beginnt, das dieser mit HTTPS/SSL sehr lange dauert was ohne HTTPS/SSL sofort geschah.
Mfg Chris

Raspberry Pi 2/2+/3/3+/4 / Betriebssystem: Bullseye Lite
Schnittstellen: RFXtrx433E, SIGNALduino, MQTT, nanoCUL, HM-MOD-UART, 1-Wire, LAN, ser2net, FHEM2FEHEM
Devices: S.USV, APC-USV, Fronius Datalogger Web 2, FS20, IT, Resol VBUS & DL2, TEK603, WMR200, YouLess, Homematic, MQTT