HTTPS & SCEP mit iOS 10.0.1 & macOS 10.12 nicht mehr möglich

Forum zu aktuellen Geräten der LANCOM Router/Gateway Serie

Moderator: Lancom-Systems Moderatoren

Antworten
rrr
Beiträge: 102
Registriert: 06 Okt 2007, 01:10

HTTPS & SCEP mit iOS 10.0.1 & macOS 10.12 nicht mehr möglich

Beitrag von rrr »

Mit Umstieg auf iOS 10.0.1 sowie macOS 10.12 ist die Kommunikation mit dem Lancom 1781VA-4G (getestet unter LCOS 9.20.0647RU1 sowie 9.24.0070Rel) per HTTPS fehlerhaft. Die Verbindung läuft ins Timeout bzw. wird vom Lancom getrennt.

Dadurch funktioniert die Lancom-Konfiguration mit o.a. iOS/macOS-Versionen nicht mehr. Schlimmer ist jedoch, dass dadurch auch der Zertifikatsbezug via SCEP mit Apple-Geräten nicht mehr funktioniert. Per HTTP sind sowohl die LC-Konfiguration als auch SCEP problemlos möglich.

Der nachfolgende Trace zeigt den Versuch die die LC-Konfigurationsseite per HTTPS aufzurufen.
(Dabei ist es merkwürdig, dass beim vorletzten Eintrag das "L" von "URL" in eine neue Zeile rutscht, sowie im letzten Eintrag das "t" von request fehlt!?)

Lancom Trace (HTTP-Server):

Code: Alles auswählen

[HTTP-Server] 2016/09/17 17:57:27,434  Devicetime: 2016/09/17 17:57:27,529 [HTTP-Server] : [Job LJ: ] -> Trying to read new request  using HTTPS

[HTTP-Server] 2016/09/17 17:57:27,621  Devicetime: 2016/09/17 17:57:27,579 [HTTP-Server] : [Job LJ: ] -> Got GET request

[HTTP-Server] 2016/09/17 17:57:27,621  Devicetime: 2016/09/17 17:57:27,579 [HTTP-Server] : [Job LJ: ] -> Got URL /, processing parameters

[HTTP-Server] 2016/09/17 17:57:27,621  Devicetime: 2016/09/17 17:57:27,579 [HTTP-Server] : [Job LJ: ] -> Old Authentification [0]

[HTTP-Server] 2016/09/17 17:57:27,621  Devicetime: 2016/09/17 17:57:27,579 [HTTP-Server] : [Job LJ: ] -> Processing HTTP header fields

[HTTP-Server] 2016/09/17 17:57:27,621  Devicetime: 2016/09/17 17:57:27,579 [HTTP-Server] : [Job LJ: ] -> Found Accept-Language field

[HTTP-Server] 2016/09/17 17:57:27,621  Devicetime: 2016/09/17 17:57:27,579 [HTTP-Server] : [Job LJ: ] -> Using language Deutsch

[HTTP-Server] 2016/09/17 17:57:27,637  Devicetime: 2016/09/17 17:57:27,579 [HTTP-Server] : [Job LJ: ] -> Check if compression should be used

[HTTP-Server] 2016/09/17 17:57:27,637  Devicetime: 2016/09/17 17:57:27,579 [HTTP-Server] : [Job LJ: ] -> Compression is enabled

[HTTP-Server] 2016/09/17 17:57:27,637  Devicetime: 2016/09/17 17:57:27,579 [HTTP-Server] : [Job LJ: ] -> Port is not using public spot

[HTTP-Server] 2016/09/17 17:57:27,637  Devicetime: 2016/09/17 17:57:27,579 [HTTP-Server] : [Job LJ: ] -> Checking if config is blocked by another app...

[HTTP-Server] 2016/09/17 17:57:27,653  Devicetime: 2016/09/17 17:57:27,580 [HTTP-Server] : [Job LJ: ] -> add challenge [5e956fdcda620e14f384db61169cc6cf6d0e0b98d0291bf61d01a63c71b67fbf]

[HTTP-Server] 2016/09/17 17:57:27,653  Devicetime: 2016/09/17 17:57:27,580 [HTTP-Server] : [Job LJ: ] -> mac[xx:xx:xx:xx:xx:xx] using challenge [5e956fdcda620e14f384db61169cc6cf6d0e0b98d0291bf61d01a63c71b67fbf]

[HTTP-Server] 2016/09/17 17:57:27,653  Devicetime: 2016/09/17 17:57:27,710 [HTTP-Server] : [Job LJ: ] -> Trying to read new request  using HTTPS

[HTTP-Server] 2016/09/17 17:57:27,653  Devicetime: 2016/09/17 17:57:27,710 [HTTP-Server] : [Job LJ: ] -> Trying to read new request  using HTTPS

[HTTP-Server] 2016/09/17 17:57:27,653  Devicetime: 2016/09/17 17:57:27,711 [HTTP-Server] : [Job LJ: ] -> Trying to read new request  using HTTPS

[HTTP-Server] 2016/09/17 17:57:27,653  Devicetime: 2016/09/17 17:57:27,713 [HTTP-Server] : [Job LJ: ] -> Trying to read new request  using HTTPS

[HTTP-Server] 2016/09/17 17:57:27,902  Devicetime: 2016/09/17 17:57:27,760 [HTTP-Server] : [Job LJ: ] -> Got GET request

[HTTP-Server] 2016/09/17 17:57:27,902  Devicetime: 2016/09/17 17:57:27,760 [HTTP-Server] : [Job LJ: ] -> Got URL /css/login.css, processing parameters

[HTTP-Server] 2016/09/17 17:57:27,902  Devicetime: 2016/09/17 17:57:27,760 [HTTP-Server] : [Job LJ: ] -> Old Authentification [0]

[HTTP-Server] 2016/09/17 17:57:27,902  Devicetime: 2016/09/17 17:57:27,760 [HTTP-Server] : [Job LJ: ] -> Processing HTTP header fields

[HTTP-Server] 2016/09/17 17:57:27,902  Devicetime: 2016/09/17 17:57:27,760 [HTTP-Server] : [Job LJ: ] -> Found Accept-Language field

[HTTP-Server] 2016/09/17 17:57:27,918  Devicetime: 2016/09/17 17:57:27,760 [HTTP-Server] : [Job LJ: ] -> Using language Deutsch

[HTTP-Server] 2016/09/17 17:57:27,918  Devicetime: 2016/09/17 17:57:27,760 [HTTP-Server] : [Job LJ: ] -> Check if compression should be used

[HTTP-Server] 2016/09/17 17:57:27,918  Devicetime: 2016/09/17 17:57:27,760 [HTTP-Server] : [Job LJ: ] -> Compression is enabled

[HTTP-Server] 2016/09/17 17:57:27,918  Devicetime: 2016/09/17 17:57:27,760 [HTTP-Server] : [Job LJ: ] -> Port is not using public spot

[HTTP-Server] 2016/09/17 17:57:27,918  Devicetime: 2016/09/17 17:57:27,760 [HTTP-Server] : [Job LJ: ] -> Found handler for URL

[HTTP-Server] 2016/09/17 17:57:27,918  Devicetime: 2016/09/17 17:57:27,762 [HTTP-Server] : [Job LJ: ] -> Got GET request

[HTTP-Server] 2016/09/17 17:57:27,918  Devicetime: 2016/09/17 17:57:27,762 [HTTP-Server] : [Job LJ: ] -> Got URL /images/productsvg.svg, processing parameters

[HTTP-Server] 2016/09/17 17:57:27,918  Devicetime: 2016/09/17 17:57:27,762 [HTTP-Server] : [Job LJ: ] -> Old Authentification [0]

[HTTP-Server] 2016/09/17 17:57:27,918  Devicetime: 2016/09/17 17:57:27,762 [HTTP-Server] : [Job LJ: ] -> Processing HTTP header fields

[HTTP-Server] 2016/09/17 17:57:27,933  Devicetime: 2016/09/17 17:57:27,762 [HTTP-Server] : [Job LJ: ] -> Found Accept-Language field

[HTTP-Server] 2016/09/17 17:57:27,933  Devicetime: 2016/09/17 17:57:27,762 [HTTP-Server] : [Job LJ: ] -> Using language Deutsch

[HTTP-Server] 2016/09/17 17:57:27,933  Devicetime: 2016/09/17 17:57:27,762 [HTTP-Server] : [Job LJ: ] -> Check if compression should be used

[HTTP-Server] 2016/09/17 17:57:27,933  Devicetime: 2016/09/17 17:57:27,762 [HTTP-Server] : [Job LJ: ] -> Compression is enabled

[HTTP-Server] 2016/09/17 17:57:27,933  Devicetime: 2016/09/17 17:57:27,762 [HTTP-Server] : [Job LJ: ] -> Port is not using public spot

[HTTP-Server] 2016/09/17 17:57:27,933  Devicetime: 2016/09/17 17:57:27,762 [HTTP-Server] : [Job LJ: ] -> Found handler for URL

[HTTP-Server] 2016/09/17 17:57:27,933  Devicetime: 2016/09/17 17:57:27,763 [HTTP-Server] : [Job LJ: ] -> Trying to read new request  using HTTPS

[HTTP-Server] 2016/09/17 17:57:27,933  Devicetime: 2016/09/17 17:57:27,763 [HTTP-Server] : [Job LJ: ] -> Got GET request

[HTTP-Server] 2016/09/17 17:57:27,933  Devicetime: 2016/09/17 17:57:27,763 [HTTP-Server] : [Job LJ: ] -> Got URL /images/prodimg.jpeg, processing parameters

[HTTP-Server] 2016/09/17 17:57:27,933  Devicetime: 2016/09/17 17:57:27,763 [HTTP-Server] : [Job LJ: ] -> Old Authentification [0]

[HTTP-Server] 2016/09/17 17:57:27,933  Devicetime: 2016/09/17 17:57:27,763 [HTTP-Server] : [Job LJ: ] -> Processing HTTP header fields

[HTTP-Server] 2016/09/17 17:57:27,933  Devicetime: 2016/09/17 17:57:27,763 [HTTP-Server] : [Job LJ: ] -> Found Accept-Language field

[HTTP-Server] 2016/09/17 17:57:27,933  Devicetime: 2016/09/17 17:57:27,763 [HTTP-Server] : [Job LJ: ] -> Using language Deutsch

[HTTP-Server] 2016/09/17 17:57:27,933  Devicetime: 2016/09/17 17:57:27,763 [HTTP-Server] : [Job LJ: ] -> Check if compression should be used

[HTTP-Server] 2016/09/17 17:57:27,933  Devicetime: 2016/09/17 17:57:27,763 [HTTP-Server] : [Job LJ: ] -> Compression is enabled

[HTTP-Server] 2016/09/17 17:57:27,933  Devicetime: 2016/09/17 17:57:27,764 [HTTP-Server] : [Job LJ: ] -> Port is not using public spot

[HTTP-Server] 2016/09/17 17:57:27,933  Devicetime: 2016/09/17 17:57:27,764 [HTTP-Server] : [Job LJ: ] -> Found handler for URL

[HTTP-Server] 2016/09/17 17:57:27,933  Devicetime: 2016/09/17 17:57:27,764 [HTTP-Server] : [Job LJ: ] -> Trying to read new request  using HTTPS

[HTTP-Server] 2016/09/17 17:57:27,933  Devicetime: 2016/09/17 17:57:27,764 [HTTP-Server] : [Job LJ: ] -> Got GET request

[HTTP-Server] 2016/09/17 17:57:27,933  Devicetime: 2016/09/17 17:57:27,764 [HTTP-Server] : [Job LJ: ] -> Got URL /js/sjcl.js, processing parameters

[HTTP-Server] 2016/09/17 17:57:27,933  Devicetime: 2016/09/17 17:57:27,764 [HTTP-Server] : [Job LJ: ] -> Old Authentification [0]

[HTTP-Server] 2016/09/17 17:57:27,933  Devicetime: 2016/09/17 17:57:27,764 [HTTP-Server] : [Job LJ: ] -> Processing HTTP header fields

[HTTP-Server] 2016/09/17 17:57:27,933  Devicetime: 2016/09/17 17:57:27,765 [HTTP-Server] : [Job LJ: ] -> Found Accept-Language field

[HTTP-Server] 2016/09/17 17:57:27,933  Devicetime: 2016/09/17 17:57:27,765 [HTTP-Server] : [Job LJ: ] -> Using language Deutsch

[HTTP-Server] 2016/09/17 17:57:27,933  Devicetime: 2016/09/17 17:57:27,765 [HTTP-Server] : [Job LJ: ] -> Check if compression should be used

[HTTP-Server] 2016/09/17 17:57:27,933  Devicetime: 2016/09/17 17:57:27,765 [HTTP-Server] : [Job LJ: ] -> Compression is enabled

[HTTP-Server] 2016/09/17 17:57:27,933  Devicetime: 2016/09/17 17:57:27,765 [HTTP-Server] : [Job LJ: ] -> Port is not using public spot

[HTTP-Server] 2016/09/17 17:57:27,949  Devicetime: 2016/09/17 17:57:27,765 [HTTP-Server] : [Job LJ: ] -> Found handler for UR

L

[HTTP-Server] 2016/09/17 17:57:37,668  Devicetime: 2016/09/17 17:57:37,766 [HTTP-Server] : [Job LJ: ] -> Read-Timeout: could not read request

[HTTP-Server] 2016/09/17 17:57:37,668  Devicetime: 2016/09/17 17:57:37,767 [HTTP-Server] : [Job LJ: ] -> Read-Timeout: could not read reques
Auf der Clientseite (macOS) meldet die Safari-Konsole "Failed to load resource: Die Netzwerkverbindung wurde unterbrochen"

Auf die Konfiguration per HTTPS kann ich ja dank VPN verzichten, aber SCEP ist mir HTTP zu heikel. Hat jemand ne Ahnung wie sich das beheben lässt?
GrandDixence
Beiträge: 1151
Registriert: 19 Aug 2014, 22:41

Re: HTTPS & SCEP mit iOS 10.0.1 & macOS 10.12 nicht mehr mög

Beitrag von GrandDixence »

Wenn die LANCOM-Geräte wegen einer Fehlkonfiguration nur die Verschlüsselung mit RC4 zulassen, so funktioniert die verschlüsselte Kommunikation ab iOS/macOS 10 zwischen Apple-Geräten und LANCOM-Geräten nicht mehr:

https://www.heise.de/security/meldung/i ... 20109.html
rrr
Beiträge: 102
Registriert: 06 Okt 2007, 01:10

Re: HTTPS & SCEP mit iOS 10.0.1 & macOS 10.12 nicht mehr mög

Beitrag von rrr »

Daran liegts nicht, im LANCOM sind selbstverständlich alle RC4 Krypto-Algorithmen deaktiviert.
Ich habe sie dennoch testweise mal wieder aktiviert, aber der Fehler bleibt bestehen.
marsbewohner
Beiträge: 532
Registriert: 27 Mär 2007, 13:17

Re: HTTPS & SCEP mit iOS 10.0.1 & macOS 10.12 nicht mehr mög

Beitrag von marsbewohner »

RC4 und SLv3 wurden ja extra bei iOS 10 entfernt, es liest sich für mich eher so als würdest du trotzdem noch etwas anbieten das nicht passt?

In den Notes findet sich zu SCEP folgendes:
Starting in iOS 10, SCEP payloads no longer default to MD5 if a SCEP server fails to return a CACaps or does not claim capability for SHA-1, SHA-256, or SHA-512 in CACaps.

If a SCEP server does not respond to GetCACaps, SHA-1 will be assumed and used for the SCEP attempt. If the SCEP servers respond to GetCACaps, the server needs to note they have SHA-1, SHA-256, or SHA-512 capability or the SCEP enrollment request is failed due to insufficient capabilities.
Vielleicht hilft dir das?

Gruß,
rrr
Beiträge: 102
Registriert: 06 Okt 2007, 01:10

Re: HTTPS & SCEP mit iOS 10.0.1 & macOS 10.12 nicht mehr mög

Beitrag von rrr »

Das hatte ich auch schon gelesen und deshalb mehrere Tests mit verschiedenen Algorithmen-Einstellungen beim Lancom versucht. Der Eintrag in den Releasenotes bezieht sich aber auch nur auf SCEP.

Bei meinen Versuchen die Lancom HTTPS-Webconfig auf iOS/OSX-Geräten abzurufen, wird ja auch teilweise Content abgerufen, der Lancom bricht die Verbindung jedoch mit einem Timeout ab (siehe Trace).

Dies spricht ja zumindest dafür, dass die SSL-Verbindung zustande gekommen ist...
rrr
Beiträge: 102
Registriert: 06 Okt 2007, 01:10

Re: HTTPS & SCEP mit iOS 10.0.1 & macOS 10.12 nicht mehr mög

Beitrag von rrr »

So, an der SSL-Verschlüsselung liegt es schonmal nicht.

Vorab, an einem Lancom 1722 mit der letzten Firmware 9.0.0.0316 funktioniert Webconfig per HTTPS tadellos!!!

Sobald ich im LANCOM unter "Setup | HTTP" die Einstellung "Server-Ports-offen-halten" bei LAN/WAN von "automatisch" auf "aktiviert" setze, wird die Webconfig-Loginseite problemlos per HTTPS aufgebaut.

Ein Login ist danach jedoch weiterhin nicht möglich!
Sobald ich die Zugangsdaten eingebe erhalte ich die Fehlermeldung "Sie haben entweder kein, ein ungültiges Passwort eingegeben oder die Challenge ist abgelaufen"

Lancom Trace (HTTP-Server):

Code: Alles auswählen

[HTTP-Server] 2016/09/22 00:09:19,159  Devicetime: 2016/09/22 00:09:20,069 [HTTP-Server] : [Job LJ: ] -> Trying to read new request  using HTTPS

[HTTP-Server] 2016/09/22 00:09:19,362  Devicetime: 2016/09/22 00:09:20,119 [HTTP-Server] : [Job LJ: ] -> Got GET request

[HTTP-Server] 2016/09/22 00:09:19,362  Devicetime: 2016/09/22 00:09:20,119 [HTTP-Server] : [Job LJ: ] -> Got URL /, processing parameters

[HTTP-Server] 2016/09/22 00:09:19,362  Devicetime: 2016/09/22 00:09:20,119 [HTTP-Server] : [Job LJ: ] -> Old Authentification [0]

[HTTP-Server] 2016/09/22 00:09:19,362  Devicetime: 2016/09/22 00:09:20,119 [HTTP-Server] : [Job LJ: ] -> Processing HTTP header fields

[HTTP-Server] 2016/09/22 00:09:19,362  Devicetime: 2016/09/22 00:09:20,120 [HTTP-Server] : [Job LJ: ] -> Found Accept-Language field

[HTTP-Server] 2016/09/22 00:09:19,378  Devicetime: 2016/09/22 00:09:20,120 [HTTP-Server] : [Job LJ: ] -> Using language Deutsch

[HTTP-Server] 2016/09/22 00:09:19,378  Devicetime: 2016/09/22 00:09:20,120 [HTTP-Server] : [Job LJ: ] -> Check if compression should be used

[HTTP-Server] 2016/09/22 00:09:19,378  Devicetime: 2016/09/22 00:09:20,120 [HTTP-Server] : [Job LJ: ] -> Compression is disabled

[HTTP-Server] 2016/09/22 00:09:19,378  Devicetime: 2016/09/22 00:09:20,120 [HTTP-Server] : [Job LJ: ] -> Port is not using public spot

[HTTP-Server] 2016/09/22 00:09:19,378  Devicetime: 2016/09/22 00:09:20,120 [HTTP-Server] : [Job LJ: ] -> Checking if config is blocked by another app...

[HTTP-Server] 2016/09/22 00:09:19,378  Devicetime: 2016/09/22 00:09:20,122 [HTTP-Server] : [Job LJ: ] -> add challenge [6cc76bcdf0026dce903cfb870dde4d7826f3fc9e46dc6bca008479b86f355d12]

[HTTP-Server] 2016/09/22 00:09:19,378  Devicetime: 2016/09/22 00:09:20,122 [HTTP-Server] : [Job LJ: ] -> mac[60:03:08:9a:08:38] using challenge [6cc76bcdf0026dce903cfb870dde4d7826f3fc9e46dc6bca008479b86f355d12

]

[HTTP-Server] 2016/09/22 00:09:24,478  Devicetime: 2016/09/22 00:09:25,392 [HTTP-Server] : [Job LJ: ] -> Trying to read new request  using HTTPS

[HTTP-Server] 2016/09/22 00:09:24,541  Devicetime: 2016/09/22 00:09:25,442 [HTTP-Server] : [Job LJ: ] -> Got POST request

[HTTP-Server] 2016/09/22 00:09:24,541  Devicetime: 2016/09/22 00:09:25,442 [HTTP-Server] : [Job LJ: ] -> Got URL /?JavaScriptEnabled, processing parameters

[HTTP-Server] 2016/09/22 00:09:24,541  Devicetime: 2016/09/22 00:09:25,442 [HTTP-Server] : [Job LJ: ] -> Old Authentification [0]

[HTTP-Server] 2016/09/22 00:09:24,541  Devicetime: 2016/09/22 00:09:25,442 [HTTP-Server] : [Job LJ: ] -> Processing HTTP header fields

[HTTP-Server] 2016/09/22 00:09:24,541  Devicetime: 2016/09/22 00:09:25,443 [HTTP-Server] : [Job LJ: ] -> Found Accept-Language field

[HTTP-Server] 2016/09/22 00:09:24,541  Devicetime: 2016/09/22 00:09:25,443 [HTTP-Server] : [Job LJ: ] -> Using language Deutsch

[HTTP-Server] 2016/09/22 00:09:24,556  Devicetime: 2016/09/22 00:09:25,443 [HTTP-Server] : [Job LJ: ] -> Check if compression should be used

[HTTP-Server] 2016/09/22 00:09:24,556  Devicetime: 2016/09/22 00:09:25,443 [HTTP-Server] : [Job LJ: ] -> Compression is disabled

[HTTP-Server] 2016/09/22 00:09:24,556  Devicetime: 2016/09/22 00:09:25,443 [HTTP-Server] : [Job LJ: ] -> Login button was pressed

[HTTP-Server] 2016/09/22 00:09:24,556  Devicetime: 2016/09/22 00:09:25,446 [HTTP-Server] : [Job LJ: ] -> Authentication state 0

[HTTP-Server] 2016/09/22 00:09:24,556  Devicetime: 2016/09/22 00:09:25,446 [HTTP-Server] : [Job LJ: ] -> remove challenge[6cc76bcdf0026dce903cfb870dde4d7826f3fc9e46dc6bca008479b86f355d12]

[HTTP-Server] 2016/09/22 00:09:24,556  Devicetime: 2016/09/22 00:09:25,446 [HTTP-Server] : [Job LJ: ] -> Port is not using public spot

[HTTP-Server] 2016/09/22 00:09:24,556  Devicetime: 2016/09/22 00:09:25,446 [HTTP-Server] : [Job LJ: ] -> Checking if config is blocked by another app...

[HTTP-Server] 2016/09/22 00:09:24,556  Devicetime: 2016/09/22 00:09:25,446 [HTTP-Server] : [Job LJ: ] -> User could not be authenticated -> Code 401

[HTTP-Server] 2016/09/22 00:09:24,572  Devicetime: 2016/09/22 00:09:25,447 [HTTP-Server] : [Job LJ: ] -> add challenge [4f5bfe14344373610764c0c158573f6ce254e5c678e3e0ff7ca6000e2b2b85bf]

[HTTP-Server] 2016/09/22 00:09:24,572  Devicetime: 2016/09/22 00:09:25,448 [HTTP-Server] : [Job LJ: ] -> mac[60:03:08:9a:08:38] using challenge [4f5bfe14344373610764c0c158573f6ce254e5c678e3e0ff7ca6000e2b2b85bf

]
Ändere ich nun auch noch die Einstellung "HTTP-Kompression" auf "Deaktiviert" und kopiere die URL eines erfolgreichen Logins von einem anderen (Windows)-Computer in die Adresszeile vom Safari auf macOS gelingt der Login, jedoch wird mir nur die rechte Seite angezeigt, die Navigationsleiste auf der linken Seite fehlt vollständig.

Was geht denn da ab?
rrr
Beiträge: 102
Registriert: 06 Okt 2007, 01:10

Re: HTTPS & SCEP mit iOS 10.0.1 & macOS 10.12 nicht mehr mög

Beitrag von rrr »

Nach dem Update auf LCOS 9.24.0075RU1 funktioniert sowohl WEBconfig als auch SCEP per HTTPS wieder problemlos.

Im Changelog wurde der Fehler auch erwähnt: "Es wurde ein Problem behoben, welches dazu führte, dass die HTTPs-Kommunikation von einem Apple-Gerät mit iOS 10 oder macOS 10.12 zu einem LANCOM nicht mehr funktionierte."
Antworten