pondělí 30. října 2017

Pozor od 1.1.2018 na komunikaci s ISZR

Aktualizace 9.11.2017

SZR (resp. Autocont) dnes udělalo nějaké změny, takže se na pub.egon.cms lze dostat přes TLS 1.2 s TLS_RSA_WITH_AES_128_CBC_SHA. Bohužel ale stále stav nesouhlasí s popisem, protože je například povolen Cipher Suite TLS_DHE_RSA_WITH_AES_256_GMC_SHA384, který by být povolen neměl.

Aktualizace 1.11.2017

Podařilo se nám získat neoficiální vyjádření (není od SZR):

O níže popsaných problémech při komunikaci s ISZR u některých připojených AISů víme a snažíme se je řešit. V současné době pracujeme na řešení, které problémy odstraní. Nápravné opatření však zahrnuje rizikové činnosti jak na testovacím, tak na produkčním prostředí. Tyto rizikové činnosti nám však SZR zatím nepovolilo. Se SZR jednáme o termínech.

Z toho a dřívejších zjištění plynou dvě základní věci:
  • prostředí EGON-4 (https://egon.gov.cz, https://pub.egon.cms) a EGON-5 (https://edit.egon.gov.cz, https://edit.egon.cms) neodpovídají stavu podle  Oznámení o vypnutí protokolů TLS 1.0 a TLS 1.1 a podporují pouze Cipher Suite s RC4, který je ale dle dokumentu zakázán a naopak nepodporují Cipher Suite s AES, které by měly být povoleny a podporovány,
  • pokud jste si podle výše uvedeného dokumentu otestovali změnu na TLS 1.2, která má být v produkci od 1.1.2018, tak jste neotestovali vůbec nic a paradoxně, pokud vám testy prošly, tak zřejmě s RC4, což je špatně,
  • vnitro o problémů ví, ale na odbornou veřejnost, vývojáře a provozovatele AIS zvysoka dlabe a neobtěžuje se upozornit na to, že testování, o kterém píší, je zcela bezzubé a zavádějící,
  • vůbec nemáme jistotu, jak skutečně bude produkční prostředí po 1.1.2018 z hlediska podporovaných Cipher Suite vypadat a zda budeme fungovat.
Zatím stále čekáme na oficiální vyjádření vnitra, resp. SZR na náš záznam v helpdesku ID 28313.

Aktualizace 31.10.2017

Problém jsme zapsali do helpdesku SZR pod ID 28313. Již dříve jsme zapsali problémy ID 27025 a 27786, ale oba byly uzavřeny následujícím způsobem, v přímém rozporu s Oznámení o vypnutí protokolů TLS 1.0 a TLS 1.1 (Cipher Suite s RC4 tam není povolen):

Status: 08-VYŘEŠEN, Dobrý den jako dočasné řešení nastavte šifrování TLS_RSA_WITH_RC4_128_SHA na úrovni klienta. IE 10 používá protokkoly, které splňují podmínky nastaveni 128 bit šifrování.

Status: 08-VYŘEŠEN, Dobrý den, rozhodně je třeba používat pouze IE. FF 50 a vyšší ani ostatní nepodporují RC4. V odkazu je postup aktivace požadovaného šifrování v IE.


Původní text

Správa základních registrů (SZR) zveřejnila dokument s názvem Oznámení o vypnutí protokolů TLS 1.0 a TLS 1.1, ve kterém od 1.1.2018 oznámila vypnutí protokolů TLS 1.0 a TLS 1.1. Podporovaný bude pouze protokol TLS 1.2 a následující Cipher Suite (CS):

  • TLS_RSA_WITH_AES_128_CBC_SHA
  • TLS_RSA_WITH_AES_256_CBC_SHA
  • TLS_RSA_WITH_AES_128_CBC_SHA256
  • TLS_RSA_WITH_AES_256_CBC_SHA256

Protože jsou naše systémy na ISZR napojené, tak jsem začal upravovat konfigurace a aplikace. Podle popisu SZR má být na testovacím prostředí změna provedena a je tedy možné odladit systémy:

"V období od 1. 8. 2017 do 31. 12. 2017 otestujte v testovacím prostředí, že váš AIS bezproblémově komunikuje s ISZR i s takto změněným nastavením kryptografických protokolů."

Dva dny jsem se snažil rozchodit připojení na testovací prostředí (pub.egon.cms), ale marně. Neustále jsem končil na chybě, že se nepodařilo sestavit bezpečné spojení. Měl jsem podezření, že mám něco špatně nakonfigurované a aplikace nejede přes TLS 1.2 nebo podporované CS. Klesl jsem až tak hluboko, že jsem sáhl po Microsoft Message Analyzer (něco jako Wireshark) a monitoroval jsem TCP komunikaci. Ověřil jsem, že nabízím podporované protokoly:


Podle odpovědi serveru jsem usoudil, že akceptuje CS TLS_RSA_WITH_AES_128_CBC_SHA:

Vše vypadalo OK, ale spojení stále padalo. Po dvou dnech kolega zkusil aplikaci na jiném, starém stroji, kde je ještě Windows 2008 (ani to není R2). K mému překvapení aplikace fungovala. Tak jsem opět hledal v TCP a zjistil jsem, že spojení jede s CS TLS_RSA_WITH_RC4_128_SHA:

Problém je v tom, že TLS_RSA_WITH_RC4_128_SHA podle dokumentu SZR nemá být podporován a také, že od 1.1.2018 nebude podporován na produkčním prostředí:
Částečně tento stav potvrzuje i fakt, že helpdesk SZR mému kolegovi, který řešil spojení z Internet Exploreru na testovací prostředí (chtěl získat WSDL), odpověděl, že si musí povolit RC4.

Z toho plyne, zřejmě testovací prostředí ISZR neodpovídá tomu, co je v dokumentu uvedeno. Pokud jste si podle pokynů SZR vaše systémy otestovali proti testovacímu prostředí, tak to ještě neznamená, že vám od 1.1.2018 budou fungovat. Vypadá to, že testovací prostředí má nějaký problém s CS jako TLS_RSA_WITH_AES_128_CBC_SHA a funguje jen s CS založenými na RC4, což je přesně opak toho, v jakém stavu by to mělo být. 

Jestli proti jejich testovacímu prostředí ISZR fungujete, nenechte se tím ukolébat a prověřte, že nepoužíváte CS na RC4, ale nějaký CS uvedený v tom dokumentu, jinak od 1.1.2018 nemusíte fungovat (pokud RC4 vypnou a nevyřeší se pravděpodobný problém s neakceptací jiných CS).

Budu to řešit přes Helpdesk SZR a dám vědět, jak to dopadlo. Problém samozřejmě může být na mé straně. Je to zvláštní. Pochopil bych, že jen vypnuli TLS 1.0 1.1, zapnuli TLS 1.2 a zapomněli odstranit RC4. Ale to, že zřejmě neakceptují např. TLS_RSA_WITH_AES_128_CBC_SHA je podivné, i v souvislosti s tím, co je na druhém obrázku, kdy mi jejich serveru odpoví, že je to OK a přesto se spojení nenaváže (zkoušeno z více strojů bez podpory RC4). 

PS: Má aplikace (založena na .NET 4.7), se kterou to zkouším, je OK, protože na produkčním prostředí s TLS 1.0 jede bez problémů. Problém se objeví pouze tehdy, pokud jdu na testovací prostředí, zapnu natvrdo TLS 1.2 a zakážu všechny CS na RC4.

Žádné komentáře:

Okomentovat