Propojení IS/STAG se státními systémy - prostřednictvím sítě CMS / KIVS
Školy, kde je CMS modul nakonfigurován: ZČU, JČU, UTB (firewall),
IS/STAG se napojuje na některé státní informační systémy prostřednictvím sítě CMS / KIVS. Server, který je k tomuto účelu delegován, obsahuje zcela klasickou portálovou platformu a nainstalovaný modul WS. Nicméně tento modul WS je specificky nakonfiguorván a obsahuje pouze "ořezanou", zcela nutnou funkcionalitu. Tato stránka obsahuje popis a nastavení takového modulu.
Na takovémto serveru musí být v tomcatu nainstalován pouze modul "ws". Nejsou třeba ani "zdroje". Ten komunikuje s jádrem IS/STAG prostřednictvím databázových objektů (např. Oracle AQ front) a plní "rozkazy" z IS/STAG vůči státním systémům.
Podporované státní systémy jsou uvedeny v dalších podkapitolách této sekce (např. ISZR) a mají vlastní dokumentaci - viz navigace na této stránce.
Příprava prostředí pro napojení IS/STAG
Pro napojení ke státním registrům je bohužel nutné postavit zcela nový (virtuální) server, na němž bude provozován malý IS/STAG modul - jakýsi konektor do sítě CMS. Tento konektor je fakticky to samé (jen "ořezané"), jako je náš komunikační modul (který je součástí modulu WS - ESB), jenže bohužel nelze napojit přímo server s WS do sítě CMS. Kvůli bezpečnosti se tam smí napojovat jen servery, které samy nejsou viditelné z internetu a mají další bezpečnostní omezení. Důsledek je tedy ten, že je potřeba:
- Připravit si připojení do sítě CMS a "konec" té sítě mít připraven na přivedení do nově vznikajícího (virtuálního?) serveru se systémem Debian 11 - viz další bod. Tento bod vývojáři IS/STAG neumějí, kontaktujte Michala Zámečníka z UHK - má informace/návody/kuchařky pro síťaře, jak připravit napojení na státní síť CMS.
- Vytvořit nový server stag-cms.SKOLA.cz, který je součástí portálové platformy IS/STAG - stejně, jako byste vyráběli nový stroj pro WS či portál, jeho obsah bude prakticky shodný. Pro školy, které nejsou outsourcované na ZČU, tedy platí, že si připraví nový stroj dle popisu zde. Kromě všeho tam popsaného připraví na tomto serveru i síťový interface, který bude začleněný do státní sítě CMS.
- Pro školy, kterým řešení outsourcujeme na ZČU (malé školy), máme připravené řešení - umíme "dovést" státní síť CMS určenou Vaší škole i k nám a napojit na ni příslušený (k tomu účelu nově vytvořený) server. A na něm zajišťujeme provoz aplikace.
- Pro školy, kterým řešení outsourcujeme na ZČU (malé školy), máme připravené řešení - umíme "dovést" státní síť CMS určenou Vaší škole i k nám a napojit na ni příslušený (k tomu účelu nově vytvořený) server. A na něm zajišťujeme provoz aplikace.
- Tento server bude obsahovat zcela standardní podobu naší portálové platformy, bude tam tedy i webový kontejner tomcat (ketrý potřebuje platný HTTPS certifikát) - přestože webové rozhraní tento stroj fakticky mít nebude a nebude dostupný po internetu, HTTPS potřebujeme pro správu/provoz/monitoring i pro předávání zpráv mezi jádrem IS/STAG a tímto modulem.
- Asi je zde problém s Let's Encrypt certifikátem - na ZČU z důvodu nařízení bezpečnostní skupiny neumožnili tento server zpřístupnit ani "serverům Let's Encrypt pro ověření ACME protokolu", takže certifikáty tohoto serveru si asi budete muset měnit ručně.
- Pozor na nastavení firewallu tohoto serveru, bude se lehce lišit od běžných serverů s modulem WS (bude striktnější). Detailně je popsáno na stránce o začlenění serveru do zákazníkovy infrastruktury.
- Až budete mít stroj připraven, kontaktujete nás, my jej nakonfigurujeme a napojíme na váš provozní IS/STAG.
- V tuto chvíli neuvažujeme, že by bylo potřeba, aby některý ze zákazníků měl i druhou instanci tohoto serveru napojenou na TEST základní registry. Na ZČU ji máme kvůli vývoji a testování, ale fakticky si neumím představit, k čemu by to bylo jiné škole (test ISZR obsahují nesmyslná testovací data, stejně jako TEST NIA... asi to nemá smysl). Obecně bude asi čím dál větší problém s testováním funkcionalit tohoto typu, protože rozumné TEST prostředí pro kombinaci všeho (STAG, NIA, ISZR, spisovka, ...) se už asi sestavit nikomu nepodaří.
ověření toho, že server je součástí sítě cms a že se lze připojit na api státních registrů iszr
Prosíme, až budete mít z vašeho pohledu server nakonfigurovaný pro připojení do sítě CMS, ověřte tímto jednoduchým testem "první krok", zda se z něj dá připojit k https://iszr.cms2.cz, stačí použít wget následovně:
Takhle to vypadá u nás na stag-cms.zcu.cz, kde to již chodí:
tomcat@stag-cms:/var/lib/tomcat9$ wget https://iszr.cms2.cz/prod/
--2024-06-07 11:07:37-- https://iszr.cms2.cz/prod/
Resolving iszr.cms2.cz (iszr.cms2.cz)... 10.254.16.9
Connecting to iszr.cms2.cz (iszr.cms2.cz)|10.254.16.9|:443... connected.
GnuTLS: A TLS fatal alert has been received.
GnuTLS: received alert [40]: Handshake failed
Unable to establish SSL connection.
-> to, že nejde "establish connection" nevadí, to uz je problem ze pro wget nedáváme ssl klientský certifikát (ten pak náš IS/STAG modul má...), ale je vidět, že spojení na https://iszr.cms2.cz to naváže. Když to ale dopadne takhle:
tomcat@stag-cms:/var/lib/tomcat9$ wget https://iszr.cms2.cz/prod/
Překládám iszr.cms2.cz (iszr.cms2.cz)… 10.254.16.9
Navazuje se spojení s iszr.cms2.cz (iszr.cms2.cz)|10.254.16.9|:443…
-> a navazuje a navazuje a nic... tak to znamená, že ten stroj není součástí té sítě CMS a nebo z nějakého důvodu se po té síti nedostane až na cílový stroj a port. S tímhle je třeba se obrátit na síťové administrátory, aby prověřili, zda je spojení povoleno a nebo možná je nutné v systémech státních aplikací nějak povolit přístup například z konkrétní IP adresy??? (My vývojáři netušíme).
Chyba "Certifikát není povolen pro danou IP adresu."
Pokud náš IS/STAG modul pro napojení na ISZR hlásí chybu "SEC-034 : Certifikát není povolen pro danou IP adresu.", je to již chyba, kterou vrací systém ISZR po úspěšném navázání spojení. Znamená to, že ve státním informačním systému, tam, kde jste registrovali IS/STAG jako AIS a získali certifikát, tak je někde zřejmě uvedena špatná IP adresa. Certifikát je pravděpodobně spojen s IP adresou Vašeho serveru stag-cms.XXX.cz v rámci sítě CMS a tato adresa nesouhlasí.
POZOR - naše zkušenost ze ZČU je taková, že (a teď promiňte, že jen laicky cituji naše správce) "v rámci sítě CMS je někde v CESNETU nějaký NAT, který tu IP adresu překládá na nějakou jinou" - a následně to rozhraní ISZR pak jako klienta vidí tedy tu přeloženou adresu a nikoliv tu skutečnou, kterou má server stag-cms.XXX.cz na svém interfacu přiřazenu.
UPDATE - IP adresa (výčet) nemusí být uvedena přímo v certifikátu, ale jen v žádosti o registraci AIS v RAZRu (Žádosti - IP adresy). A jedná se o IP adresu uvedenou v PDF dokumentu od CESNETu (příloha rozhodnutí k žádosti o zřízení CMS "Propojovací bod subjektu" a tam "Tabulka 30") kde je uvedena "PAT pro přístup na ostatní služby" (kdo nepoužívá připojení přes CESNET, tak si musí poradit adekvátně). O certifikát je bohužel třeba zažádat znovu, pokud jej případně máte aktuálně již registrovaný na jinou adresu.
Více jako vývojáři IS/STAG nevíme, případná Vaše zjištění nám napište a my je sem připíšeme jako radu ostatním.
Konfigurace modulu
1. V souboru ws-config.properties je potřeba provést následující konfiguraci:
spring.profiles.active = cms, iszr
portal_login_methods =
V seznamu profilů musí být uvedena hodnota 'cms' a následně POUZE ty hodnoty, které jsou na dané škole aktivní a odpovídají napojení na nějaký státní registr. Nic jiného zde NESMÍ být.
Jako jediná login metoda v parametru 'portal_login_methods' musí být uveden prázdný řetězec..
2. Parametr IS/STAG STAG_CMS_URL nastavte na hodnotu https://stag-cms.SKOLA.cz/ws (to "SKOLA" samozřejmě nahraďte ...)