Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze | ||
| cs:spravce:monitoring:end2end_monitoring_new [2019/10/29 14:20] – [CAT] dopsani poznamky kontrola na zaklade angl. nazvu 239a8d2a8a211996c346195d534ad6f1ab7222b3@einfra.cesnet.cz | cs:spravce:monitoring:end2end_monitoring_new [2024/05/17 08:36] (aktuální) – odstraněno Jan Čáslavský | ||
|---|---|---|---|
| Řádek 1: | Řádek 1: | ||
| - | ====== end2end monitoring ====== | ||
| - | ===== Úvod ===== | ||
| - | |||
| - | Na základě zkušeností s zaváděním // | ||
| - | že monitoring postavený jen na kontrole stavu jednotlivých RADIUS | ||
| - | serverů není dostatečný. Docházelo totiž k případům, | ||
| - | konfiguraci na některé z organizaci vedla k tomu, že se návštěvníci | ||
| - | nemohli získat přístup k síti ale monitoring nás na toto neupozornil | ||
| - | předem. | ||
| - | |||
| - | Ideální by asi bylo mít možnost instalovat do každé připojené | ||
| - | instituce počítač s WiFi kartou a příslušným softwarovým vybavením. To | ||
| - | by ale bylo dosti nákladné a administrativně jen velmi obtížně | ||
| - | realizovatelné. | ||
| - | |||
| - | CESNETem implementované řešení používá k monitorování jediný k tomuto | ||
| - | účelu vyhrazený počítač. Tento počítač je nezávislý na //eduroam// | ||
| - | infrastruktuře a s jednotlivými RADIUS servery organizací zapojenými | ||
| - | do // | ||
| - | provozován, | ||
| - | nutné, aby měl přístup k RADIUS serveru organizace, který se běžně | ||
| - | stará o vyřizování dotazů z AP. | ||
| - | |||
| - | Díky přímému přístupu ke koncovým RADIUS serverům a faktu, že pro | ||
| - | testování se používají testovací účty všech zapojených institucí, se | ||
| - | jedná o testování každého s každým, tedy o end2end monitoring. Výhodou | ||
| - | tohoto monitoringu je kromě získání informací, kde mohou mít | ||
| - | návštěvníci z některých institucí problém s přístupem, | ||
| - | nezohledňuje transport dotazů mezi RADIUS serverem hostitelské a | ||
| - | domácí instituce. Díky tomu bude tento monitoring použitelný i v | ||
| - | případě, že v budoucnu dojde k vyřazení proxy serverů a komunikace | ||
| - | mezi zapojenými institucemi bude probíhat přímo. | ||
| - | |||
| - | ===== Zátěž generovaná monitoringem ===== | ||
| - | |||
| - | {{ : | ||
| - | |||
| - | Nevýhodou tohoto způsobu monitorování je, že systém generuje podstatně | ||
| - | vyšší zátěž než jak tomu bylo v minulosti. Zátěž se pochopitelně | ||
| - | agreguje na proxy serverech, ale i koncové RADIUS servery organizací | ||
| - | musí vyřídit nemalé množství dotazů. | ||
| - | |||
| - | Na obrázku je znázorněna situace z pohledu monitoringu. Pro monitoring | ||
| - | není podstatné, že komunikace je realizována prostřednictvím NREN | ||
| - | proxy RADIUS serverů. Také není moc podstatné, že některé instituce | ||
| - | mají dva RADIUS servery a jiné jen jeden. Hrubě řečeno - monitorující | ||
| - | systém má k dispozici seznam serverů a seznam testovacích účtů, | ||
| - | testuje každý s každým a nic víc nepotřebuje. | ||
| - | |||
| - | To, že pro monitoring není podstatná znalost zapojení infrastruktury, | ||
| - | zjednodušení, | ||
| - | zátěže. Implementovaný monitoring pochopitelně bere ohled na zapojení | ||
| - | infrastruktury. Ve výpočtu zohledňuji pouze fakt, že dotaz s funkčním | ||
| - | testovacím účtem stojí podstatně méně zdrojů, než dotaz s testovacím | ||
| - | účtem, jehož domácí RADIUS server neodpovídá. To je dáno tím, že | ||
| - | monitoring musí dlouho čekat než vyprší timeouty a RADIUS servery po | ||
| - | cestě musí zkoušet opakovat dotazy na protějšek, | ||
| - | |||
| - | ==== Odvození teoretické zátěže ==== | ||
| - | |||
| - | |**RS** |Počet monitorovaných RADIUS serverů. | | ||
| - | |**TA** |Počet testovacích účtů (test account). | | ||
| - | |**N< | ||
| - | |**N< | ||
| - | | || | ||
| - | |**Q< | ||
| - | |**Q< | ||
| - | |**Q< | ||
| - | |**Q< | ||
| - | |||
| - | ==== Vypočtená teoretická zátěž ==== | ||
| - | |||
| - | Zátěž celé infrastruktury závisí na počtu zapojených organizací | ||
| - | **TA**, počet RADIUS serverů je odvozen od počtu testovacích účtů: | ||
| - | **RS=1.5*TA**. **N< | ||
| - | intervalu 1 hodiny se cizí účty testují 2x a vlastní | ||
| - | (lokální) každých 5min. Po dosazení jsem dostal tato čísla: | ||
| - | |||
| - | | ^ **TA=20, RS=30** ^^ **TA=50, RS=75** ^^ **TA=500, RS=750** ^^ **TA=2000, RS=3000** ^^ | ||
| - | ^server organizace | 108| 0,03| | ||
| - | ^NREN servery | ||
| - | |||
| - | Čísla v prvním sloupci představují absolutní počet vyřízených dotazů | ||
| - | za hodinu, hodnota v druhém sloupci je přepočtena na vteřinu. Je třeba | ||
| - | mít na paměti, že množství paketů bude o jeden řád vyšší. V tabulce | ||
| - | jsou uvedeny EAP dotazy, což např. v případě PEAP-MSCHAPv2 znamená 10 | ||
| - | RADIUS paketů na vyřízení. Chcete-li si s výpočty pohrát, je k | ||
| - | {{: | ||
| - | OpenOffice Calc Sheet}}, který jsem použil. | ||
| - | |||
| - | Z čísel je tedy vidět, že pro koncové servery není monitoring žádným | ||
| - | rizikem, problémy se objeví mnohem dříve na NREN RADIUS | ||
| - | serverech. Reálné výkonnostní parametry v tento okamžik nemám k | ||
| - | dispozici, ale očekávám, | ||
| - | paketů za vteřinu. | ||
| - | |||
| - | Výše uvedené má zásadní podmínku v tom, že testování musí být v čase | ||
| - | rovnoměrně rozprostřeno. To se zhruba daří splnit, jak ukazují | ||
| - | [[https:// | ||
| - | počtu]] testovacích procesů. Další informace o | ||
| - | [[: | ||
| - | jsou k dispozici v samostatném článku. | ||
| - | |||
| - | ===== Služby monitorované na serverech připojených organizací ===== | ||
| - | |||
| - | {{: | ||
| - | |||
| - | |||
| - | Na každém serveru organizace je monitorována řada služeb. Jejich | ||
| - | význam, závislosti na ostatních službách dalších serverů a vzájemné | ||
| - | závislosti jsou popsány dále. Na připojeném obrázku můžete vidět, jak | ||
| - | icinga tyto služby vizualizuje. | ||
| - | |||
| - | === Čas poslední kontroly === | ||
| - | |||
| - | Při rozkliknutí konkrétní služby se dostaneme na detailní informace. | ||
| - | Last check Udává, kdy naposledy byla služba kontrolována. Pokud služba nemá | ||
| - | splněnu některou ze závislostí, | ||
| - | testy. Například když není povolen přístup pro ping z monitorovacího | ||
| - | systému, tak se netestují žádné služby, ale icinga stále zobrazuje | ||
| - | poslední známý stav služby. | ||
| - | |||
| - | === Historie === | ||
| - | |||
| - | V záložce History v detailu služby je zobrazena kompletní historie stavů služby včetně poslední změny stavu. | ||
| - | Z poslední změny stavu zle odvodit, jak dlouho je daná služba v současném stavu. | ||
| - | |||
| - | |||
| - | ==== PING ==== | ||
| - | * testuje se odpověď na ICMP echo request | ||
| - | * CRITICAL-HARD stav nastává po **10**ti pokusech, tj. max po 5+9*1=**14 minutách** od výpadku | ||
| - | * normální perioda testování je **5 minut** | ||
| - | * v případě výpadku se testuje každou **1 minutu** | ||
| - | * notifikace se posílají | ||
| - | |||
| - | |||
| - | ==== IPSEC ==== | ||
| - | * tato služba je testována jen na RADIUS serverech, které tvoří infrastrukturu a jsou připojeny pomocí IPSEC, není k dispozici u serverů sloužících jen pro monitoring | ||
| - | * testuje se odpověď na ICMP echo request skrz IPSEC tunel | ||
| - | * test se spouští přes vzdáleně na radius1.eduroam.cz | ||
| - | * závisí na: | ||
| - | * **PING** | ||
| - | * CRITICAL-HARD stav nastává po **10**ti pokusech, tj. max po 5+9*1=**14 minutách** od výpadku | ||
| - | * normální perioda testování je **5 minut** | ||
| - | * v případě výpadku se testuje každou **1 minutu** | ||
| - | * notifikace se posílají | ||
| - | |||
| - | |||
| - | ==== RADSEC ==== | ||
| - | * tato služba je testována jen na RADIUS serverech, které tvoří infrastrukturu a jsou připojeny pomocí RADSEC, není k dispozici u serverů sloužících jen pro monitoring | ||
| - | * testuje zda jsou navázána RADSEC spojení oběma směry | ||
| - | * test se spouští přes vzdáleně na radius1.eduroam.cz | ||
| - | * závisí na: | ||
| - | * **PING** | ||
| - | * CRITICAL-HARD stav nastává po **10**ti pokusech, tj. max po 5+9*1=**14 minutách** od výpadku | ||
| - | * normální perioda testování je **5 minut** | ||
| - | * v případě výpadku se testuje každou **1 minutu** | ||
| - | * notifikace se posílají | ||
| - | |||
| - | ==== BIG-PACKET ==== | ||
| - | |||
| - | * test přenosu fragmentovaných UDP paketů | ||
| - | * závisí na navázaném spojení na národní RADIUS server (**IPSEC** nebo **RADSEC**) | ||
| - | * závisí na **HOME-REALM-ALIVE** na radius1.cesnet.cz | ||
| - | * test se provádí pomocí [[https:// | ||
| - | * CRITICAL/ | ||
| - | * normální perioda testování je **24 hodin** | ||
| - | * v případě výpadku se testuje každé **12 hodin** | ||
| - | * notifikace se posílají | ||
| - | |||
| - | ==== VCELKA-MAJA ==== | ||
| - | |||
| - | * test přeposílání vnitřní EAP identity, více viz [[ | ||
| - | https:// | ||
| - | * závisí na **domácím realmu** | ||
| - | * CRITICAL-HARD nastává po **3** neúspěných pokusech | ||
| - | * normální perioda testování je **24 hodin** | ||
| - | * v případě výpadku se testuje každé **12 hodin** | ||
| - | * notifikace se posílají | ||
| - | |||
| - | |||
| - | ==== INSTITUTION-XML ==== | ||
| - | |||
| - | * test existence souboru [[: | ||
| - | * URL souboru institution.xml se bere z definice realmu organizace v CESNET CAAS | ||
| - | * testuje se na existenci stringu inst_realm ve staženém dokumentu | ||
| - | * testuje se na existenci všech aliasů příslušných k realmu ve staženém dokumentu | ||
| - | * testuje se na neexistenci jakýchkoliv dalších realmů ve staženém dokumentu | ||
| - | * CRITICAL/ | ||
| - | * normální perioda testování je **24 hodin** | ||
| - | * v případě výpadku se testuje každé **3 hodiny** | ||
| - | * notifikace se posílají | ||
| - | |||
| - | |||
| - | ==== COVERAGE-INFO ==== | ||
| - | |||
| - | * test dostupnosti informací o pokrytí | ||
| - | * CRITICAL/ | ||
| - | * normální perioda testování je **24 hodin** | ||
| - | * v případě výpadku se testuje každé **3 hodiny** | ||
| - | * notifikace se posílají | ||
| - | |||
| - | |||
| - | ==== domácí realm ==== | ||
| - | |||
| - | * domácí realm je ten, pro který je server koncovým | ||
| - | * domácích realmů může být na jednom serveru definováno několik | ||
| - | * služba má dynamické jméno ve tvaru @realm | ||
| - | * tento test kontroluje, jestli je schopen server autentizovat uživatele domácího realmu | ||
| - | * závisí na **PING** | ||
| - | * CRITICAL-HARD stav nastává po **3** pokusech, tj. max po 5+10*(3-1)=**25 minutách** od výpadku | ||
| - | * normální perioda testování je **5 minut** | ||
| - | * v případě výpadku se testuje každých **10 minut** | ||
| - | * notifikace se posílají | ||
| - | |||
| - | |||
| - | ==== realmy ostatních organizací ==== | ||
| - | |||
| - | * tento test simuluje návštěvu uživatele z cizí organizace | ||
| - | * služba má dynamické jméno ve tvaru @realm | ||
| - | * závisí na: | ||
| - | * **domácí realm**, tj. jestli na serveru funguje RADIUS (pokud je na serveru více domácích realmů, závisí na všech zároveň) | ||
| - | * **domácí server testovaného realmu/ | ||
| - | * CRITICAL-HARD stav nastává po **3** pokusech, tj. max po 6+4*(3-1)=** 14 hodinách ** od výpadku | ||
| - | * normální perioda testování je **6 hodin** | ||
| - | * v případě výpadku se testuje každé **4 hodiny** | ||
| - | * notifikace se **ne**posílají | ||
| - | |||
| - | ==== CALLING-STATION-ID ==== | ||
| - | |||
| - | * test že SP posílá vyplněný RADIUS atribut Calling-Station-Id | ||
| - | * test je implementován na základě dat z logů národního RADIUS serveru, podklady pro sondu se **aktualizují jednou za hodinu** | ||
| - | * CRITICAL/ | ||
| - | * normální perioda testování je **24 hodin** | ||
| - | * v případě výpadku se testuje každých **12 hodin** | ||
| - | * notifikace se posílají | ||
| - | |||
| - | ==== OPERATOR-NAME ==== | ||
| - | |||
| - | * test že SP posílá vyplněný RADIUS atribut Operator-Name, | ||
| - | * test je implementován na základě dat z logů národního RADIUS serveru, podklady pro sondu se aktualizují **jednou za hodinu** | ||
| - | * CRITICAL/ | ||
| - | * normální perioda testování je **24 hodin** | ||
| - | * v případě výpadku se testuje každých **12 hodin** | ||
| - | * notifikace se **ne**posílají | ||
| - | |||
| - | ==== CHARGEABLE-USER-IDENTITY ==== | ||
| - | |||
| - | * test že SP posílá vyplněný RADIUS atribut Chargeable-User-Idenity | ||
| - | * CRITICAL/ | ||
| - | * normální perioda testování je **24 hodin** | ||
| - | * v případě výpadku se testuje každé **3 hodiny** | ||
| - | * notifikace se **ne**posílají | ||
| - | |||
| - | ==== FAKE-UID ==== | ||
| - | |||
| - | * Test že IdP vynucuje shodu vnější a vnitřní identity. Jako vnější (anonymní) identita se použije anonXXX@realm.cz a jako vnitřní pak testovací účet organizace. IdP takový požadavek na ověření nesmí vyhodnotit pozitivně. IdP které nepodporuje Chargeable-User-Identity nesmí povolit žádnou anonymní identitu (tj. ani anonymous@realm.cz), | ||
| - | * [[https:// | ||
| - | * řešení: [[https:// | ||
| - | * CRITICAL/ | ||
| - | * normální perioda testování je **24 hodin** | ||
| - | * v případě výpadku se testuje každé **3 hodiny** | ||
| - | * notifikace se posílají | ||
| - | |||
| - | |||
| - | ==== COMPROMISED-USERS ==== | ||
| - | * test je popsán na stránce systému [[https:// | ||
| - | |||
| - | ==== CONCURRENT-INST ==== | ||
| - | * test je popsán na stránce systému [[https:// | ||
| - | |||
| - | ==== CVE-2017-9148 ==== | ||
| - | * test že RADIUS server správně pracuje s obnovením sezení v PEAP a TTLS | ||
| - | * CRITICAL/ | ||
| - | * normální perioda testování je **48 hodin** | ||
| - | * v případě výpadku se testuje každé **3 hodiny** | ||
| - | * notifikace se posílají | ||
| - | |||
| - | |||
| - | ==== HOME-REALM-ALIVE ==== | ||
| - | * test zda je realm " | ||
| - | * notifikace se **ne**posílají | ||
| - | |||
| - | ==== VISITORS ==== | ||
| - | * test agregovaných návštěvnických realmů | ||
| - | * měl by poskytnout správcům přehled o tom, zda nemají návštěvníci problém s ověřováním | ||
| - | * stav je OK, pokud je více než 80 % uživatelů návštěvnických realmů úšpěšně ověřováno | ||
| - | * test je WARNING, pokud je alespoň více než 70 % uživatelů návštěvnických realmů úšpěšně ověřováno | ||
| - | * v ostatních případech je stav CRITICAL | ||
| - | * závisí na domácím realmu | ||
| - | * CRITICAL/ | ||
| - | * normální perioda testování je **3 hodiny** | ||
| - | * v případě výpadku se testuje každé **2 hodiny** | ||
| - | * notifikace se posílají | ||
| - | |||
| - | |||
| - | ==== CAT ==== | ||
| - | * test přítomnosti organizace v eduroam CAT // | ||
| - | * stav je OK, pokud je organizace registrována v eduroam CAT, má vyplněný profil a je možné stáhnout instalátory | ||
| - | * pokud je detekován nějaký problém s profilem instituce je stav WARNING | ||
| - | * v ostatních případech je stav CRITICAL | ||
| - | * notifikace se neposílají | ||
| - | |||
| - | ==== EAP-CERTIFICATE ==== | ||
| - | * test certifikátu EAP serveru | ||
| - | * pokud je organizace registrována v systému eduroam CAT, provádí se validace certifitikátu proti zadané certifikační autoritě a validují se zadaná DNS jména EAP serverů | ||
| - | * interval kontroly je stanoven na 2 hodiny | ||
| - | * CRITICAL-HARD stav nastává po **3** pokusech | ||
| - | * informace o změně certifikátu je udržována 1 den od detekce tohoto stavu | ||
| - | * stav je OK, nejsou detekovány žádné problémy s odesílaným certifikátem serveru (platnost, neshodny s CA, nesprávné DNS jméno ...) | ||
| - | * stav je CRITICAL pokud vypršela platnost certifikátu (nebo CA z CATu) nebo nebylo možné certifikát získat | ||
| - | * pokud je detekován nějaký jiný problém, je stav WARNING | ||
| - | * notifikace se neposílají | ||
| - | |||
| - | ===== Skupiny služeb a serverů ===== | ||
| - | |||
| - | Pro snazší orientaci ve značném množství serverů a služeb jsou | ||
| - | definovány skupiny, které slučují související objekty a usnadňují | ||
| - | navigaci. | ||
| - | |||
| - | ==== Skupiny serverů ==== | ||
| - | |||
| - | Servery jsou seskupeny podle realmu registrovaného v CESNET CAAS. | ||
| - | |||
| - | ==== Skupiny služeb ==== | ||
| - | |||
| - | Služby jsou seskupeny podle svého názvu. | ||
| - | |||
| - | |||
| - | ===== Matice dostupnosti ===== | ||
| - | |||
| - | {{: | ||
| - | |||
| - | Skupiny služeb a serverů sice trochu usnadňují orientaci v množství | ||
| - | dat, ale neumožňují vidět aktuální stav sítě najednou. Proto jsem | ||
| - | vytvořil na icinze nezávislou matici dostupnosti. V ní jsou na řádcích servery organizací a ve sloupcích jsou uvedeny | ||
| - | jednotlivé realmy. Díky tomu lze na téměř první pohled okamžitě zjistit, kde co nefunguje. | ||
| - | |||
| - | K matici je volný přístup, adresa je [[https:// | ||