Medve, lehúznál a halálistádról?

Mostanában van egy meglehetősen zavarbaejtő munkám. Igen, ez kicsit IT-s írás lesz, de igyekszem nem belemenni a mélységekbe. A történet groteszksége a lényeg.

Szóval adott egy meglehetősen nagyméretű, nemzetközi cég. Exchange területen vagyok érintett, L3 támogatást adok. Az üzemeltető személyzet szerteágazó, de szinte mindenki ki van szervezve valahová. A magyarországi AD/Exchange területen mi adjuk az L2-t is.

A cég megtette, illetve éppen megteszi az első tapogatozó lépéseket: Exchange2010, illetve Windows7/Outlook2010 állapotból szeretnének eljutni Exchange 2016/Windows10/Outlook2016 állapotba. A környezet eszméletlenül túlszabályozott, mint a nagy multiknál általában, ha leejted a ceruzádat, öt ember kell, hogy felvehesd a földről.

Kliens subnet, ahol a magyar részleghez tartozó kliensgépek találhatók, két országban is van. Legyen az egyik ország A, a másik B. Az A országban lévő gépekhez teljeskörű hozzáférésünk van, saját AD-ban vannak. A B országban lévő gépek másik erdőben vannak, semmi jogosultságunk sincs, még lokál admin sem. A B országban kaptunk Windows10/Outlook2016 image-ből felhúzott gépeket. Mi renitensek vagyunk, nem a központi levelezőrendszert használjuk, hanem a sajátunkat. Az első feladat az volt, hogy innen, ebből a környezetből próbáljuk meg elérni a saját Exchange 2010 szervereinket. Abszolút nem sikerült. Az autodiscover szolgáltatás IP címét még megtalálta az Outlook2016, de magát a szolgáltatást már nem érte el. Az ilyesminek rengeteg oka lehet, módszeresen végigmentünk mindenen, semmi nem segített. Aztán tesztelés közben jött egy csúnya incidens az A subnetben, hagytunk mindent a fenébe. (Ennek később lesz jelentősége.)

Utána, mármint az incidens elhárítása után, javasoltam, hogy egyelőre hanyagoljuk a B hálózatot, ott úgy sincs semmihez jogosultságunk. Hozzunk létre az A hálózatban hasonló körülményeket és teszteljünk ott. Itt ugyanis megvan az atyauristens jogosultságunk. Ezzel kapcsolatban kértem a saját user szintű felhasználómnak postafiókot, mert azzal terveztem tesztelni. (Igen, nem lehet akármilyen felhasználóval akárhová belépni.) Megkaptam mindent. Oké, csináljunk a tesztgépen Outlook profilt. Autodiscover megtalálása oké, de rögtön nevet, jelszót kért. Jó, direkt nincs a gép tartományban, megadtam. Erre kérte újból, majd makacsul újra, meg újra. Kipróbáltam mindenféle formában, semmi. Autoconfig teszt, nos, már az autodiscoveren elhasalt. Ez annyiból vicces, hogy itt nem szabadna neki. Majd akkor, ha csatlakozni akar a postafiókhoz. De az autodiscover az ingyenes, azt mindenki elérheti. Aztán legfeljebb hibát ad vissza, ha nem találja a felhasználót, de itt még idáig sem jutottunk el.

Jó, egyszerűsítsük le a helyzetet. Hiszen egy csomó minden lehet a jelenség mögött. Próbáljuk ki az OWÁ-t. Az olyan, mint a Trabant: mindenhol elmegy, még ott is, ahol a többi autó elakad.

Építkezéskor teszteltük. Az Eger közeli mezőn 300 ember egyszerre kezdett el építkezni, tavasszal. Ennek az lett a vége, hogy az első tíz még ki tudta vinni teherautóval az építőanyagot, viszont ezek olyan dagonyát csináltak a felázott talajon, hogy az építkezési terület megközelíthetetlen lett. Egyedül a szomszéd Postás Gyuszi járkált ki vidáman. Trabanttal.

Az OWA bejelentkező ablak szépen fel is jött, usernév, jelszó… nincs ilyen. Vagy user, vagy jelszó. Megint kipróbáltam mindenféle formátumot, semmi. Hmm.
Nem részletezem, két teljes napot görcsöltem vele, a végén már habzó szájjal. Az Exchange-ben full-admin voltam, az AD-ben csak view-only, de elméletileg ennyi is elég volt. Áttúrtam minden beállítást. Minden logot. Kipróbáltam az elérést névvel (ez ugye loadbalanceren megy keresztül), IP címmel, bentről, kintről, Windows laptopról, Android mobiltelcsiről, szóval minden módon. Semmi. Ráadásul eleinte szólni sem mertem. Minden helpdesk-es vigyorog magában, amikor valaki bejelenti, hogy nem tud belépni, a rendszer nem fogadja el a jelszavát. Az ilyesmi ugyanis 99%-ban user error. Elfelejtett jelszó, bekapcsolva maradt capslock, előrehajolva billentyűzetet lenyomó női mellek (nemröhög, valós eset), egy csomó ilyesmi. Én meg itt L3-as szakértőként jövök egy ilyen pimfli problémával. Inkább görcsöltem. Mondjuk olyan sokat nem, két napot tudtam rászánni a történetre… csak hát ez alatt a két nap alatt meg akartam oldani a hozzáférést, aztán ehelyett még a tesztet sem tudtam elkezdeni. A PM meg már a légiósbetegség jeleit kezdte mutatni, legalábbis folyamatosan csesztetett státuszért. Hülye helyzet volt. Végül szóltam a helyi L2 főnöknek, hogy izé. Kipróbálta. Nála működött. Fogalma sincs, nálam miért nem megy.

Passz.

Aztán egyszer be kellett mennem. (A PM szervezett egy megbeszélést, mert mindenkit le akart cseszni, azt meg jobb személyesen.) Gondoltam, kihasználom az alkalmat, megnézem, hogy a helyiek hogyan lépnek be az OWÁ-ba. Lehet, hogy van belépés közben egy titkos mozdulat.
Odaültem az L2 főnök mellé. Belépett. Kilépett. Jöttem én. Megadtam az adatokat, közölte, hogy ilyen user nincs. Nagy fejvakarások. Group Policy? Arra nem láttam rá. Csoporttagság? Állítsunk be mindent úgy, mint nálad. Nem lehet. Rendszeres audit van, buknánk. Akkor mi legyen?
Ekkor jött be kávészünetről az egyik domain admin.

– Te Béla, kell valami speciális beállítás az OWÁ-hoz?
– Igen egy csoporttagság. Betegyelek?
– Jézus. Ez nem jár alapból?
– De jár. Csak a userlétrehozó szkript nem mindig állítja be.
– Fasza.

Beállítottuk. Leteszteltem. Működött.
Lekerültem a halállistáról.

A hírnek mindenki örült. Eltűnt a legnagyobb akadály a valódi tesztelés elől.

Akit kicsit jobban érdekelnek a szakmai mélységek. Nem, a korlátozást nem Exchange oldalon oldották meg. Ahonnan logikus lenne. Akkor megtaláltam volna. Semmilyen OWA házirend nem létezett a rendszerben, OWA segmentation sem volt. Valahogy GPO/registry szinten turkálhattak bele.

Na mindegy, teszteljünk. Szóltam, hogy én majd otthon, ott jobban ki van építve a környezetem, mint a laptopon.
Mire hazaértem, jöttek az ujjongó levelek, hogy a B hálózatból is remekül megy az Outlook2016.
Ami valahol jó hír, de könyörgöm, WTF? Attól, hogy az A hálózatban a szerencsétlen userem megkapta az OWA jogosultságot, hogyan javulhatott meg a B hálózatban más felhasználók hozzáférése?

És akkor beszéljünk egy kicsit a korábban félbehagyott incidensről.

Az történt, hogy amikor kitört a balhé, amikor elkezdtek égni a telefonvonalak, éppen bent voltam. Az Outlook2010-ben nem működik a megbeszélés-szervező varázsló. Bólintottam. Ha a free/busy nem működik, akkor nem fog az Out-of-Office sem, sőt az offline címlista letöltése sem. Kipróbálták. Nem működtek. Érdekes módon nem örültek annak, hogy milyen ügyesen megjósoltam.
Aztán hamarosan az én mosolyom is lehervadt. Ugyanis voltak gépek, amelyekről működött minden. A B hálózatból például gond nélkül. Az A hálózatról meg valamelyikről igen, valamelyikről nem. Ez meg mi a fene lehet? Mint írtam, bonyolult, agyonszabályozott a rendszer, proxykkal, reverse proxykkal, loadbalancerekkel, web application tűzfalakkal. Elméletileg bármi lehet, de mi az, hogy egyik gépről megy, a másikról meg nem? Csont ugyanolyan beállításokkal?
A hálózatot nem mi üzemeltetjük, az egy másik céghez van kiszervezve. Megkerestük őket. Lepattintottak. A hálózat tökéletesen működik. Nem hagytuk magunkat. Kértünk egy konzultációt. Megint elhajtottak. Hogy nincs miről beszélnünk. Hogy minden úgy van beállítva, ahogy mi kértük. De könyörgöm, ki tudja, hogy mit kértünk? Ezen meglepődtek. Nincs dokumentációnk? Nincs. És aki kérte, az már valószínűleg nem is él. Cöcö. Fejcsóválás. Ejnye. Továbbra sem hagytuk magunkat. Kérünk egy óra konzultációt. Le szeretnénk ülni valakivel a hálózati eszközök konzolja elé és közösen átnézni a beállításokat. Azt nem lehet. Oké. Akkor adjatok dokumentációt. Hát, izé… az nincs. Ejnye.
Végül csak megkaptuk az egy óránkat. Csak hogy értsd: egy automatikus site resilience szintű Exchange rendszerről van szó, a telephelyek különböző országokban, a loadbalancerek pedig értelemszerűen _szerves_ részét képezik az Exchange rendszernek. És többszintes hiererchiában van belőlük vagy 20 virtuális példány, néhány fizikai eszközön. Ha én, mint Exchange üzemeltető nem ismerem ezeket, akkor vakon vezetem az autót egy kivilágítatlan alagútban. És nem ismerte senki közülünk.
A konzultációra egy rendes srác jött el, egy korábbi cégben kollégák is voltunk, részletesen végigmutogatott minden beállítást, elmagyarázta mind a nagy képet, azaz a struktúrát, mind a beállítások értelmét. Én is láttam már loadbalancert, bőszen jegyzeteltem. Találtunk is néhány hibás beállítást, aki a health check metódusokat beállította, nem sok Exchange szerverrel találkozhatott.
Aztán az egyik példányon be volt kapcsolva az a bizonyos Web Application Firewall, azaz WAF. Belenéztünk. Egy értelmezhetetlen kifejezés volt benne, fogalmam sincs, milyen nyelven. Annyi látszott, hogy a szabály feltétel része valahogy a forrás IP címeket vizsgálja. A hálózatos srác is csodálkozott. Erről nem tud semmit. Szerencsére a komment mezőben benne volt a regisztráció száma, visszakerestük, kiderült ki kérte, az egyik helyi ember ki is rohant és behívta az illetőt. Nos, a történet röviden az, hogy a szekuritis srác be akart állítani az OWA forgalomra egy BOF elleni védelmet. Arról szólt a szabály.
Csak hát, az egész vérzett. Egy csomó sebből.
– Az illető azt hitte, hogy csak az OWA forgalmat vizsgálja. Nem tudta, hogy az Exchange-nek emellett van még egy csomó egyéb webes szolgáltatása is. Melyeket értelemszerűen ugyanazon a gépnéven érünk el, azaz ugyanazon a loadbalancer példányon keresztül.
– Nem tudta, hogy a kliens gépekről nem csak a böngésző szeretné ezeket a szolgáltatásokat elérni, hanem az Outlook is.
– Az Outlook egy kicsit máshogy próbálta elérni a szervert. Nem lehet tudni, hogy a szabály vizsgált-e valamit, például a user-agent értékét. (Az illető a szabályt egy másik országbéli kollégától vette át.) Mint ahogy azt sem lehet kizárni, hogy az Outlook 2010/Exchange 2010 kommunikációban a Microsoft némileg lazábban kezelte az RFC-t. Mindenesetre az biztos, hogy a szabály az Outlook https kommunikációját blokkolta, a böngészőét engedte. Ez volt az egyik rejtély magyarázata.
– A srác úgy gondolta, hogy első lépésben tesztel. Azaz nem a teljes forgalomra teszi rá a filtert, hanem csak egy részére. Ezért rakta bele a feltételbe azt, hogy csak azokat kapja el a szűrő, akiknek az IP címe 2-re, 5-re vagy 7-re végződik. Ez a magyarázata a másik rejtélynek. Ezért volt az, hogy két tökugyanolyan konfigon miért működött az elérés az egyik gépről, és miért nem a másikról.
– Aztán teljesen természetesnek vették, hogy erről az Exchange üzemeltetőit nem kell tájékoztatniuk. Hiszen azok neandervölgyiek, nem értenek sem az IT biztonsághoz, sem a hálózathoz.
– De, mint ahogy látszott is, még házon belül sem volt minden rendben, hiszen még a hálózatos kolléga is meglepődött a szabály láttán.
– Aztán ott van ugye az első reakciójuk: náluk minden rendben, csak az lett beállítva, amit mi kértünk. Aha.
– És azt most hagyjuk, hogy a szekuritis srác első reakciója nem az volt, hogy bocs fiúk, ezt elbasztam, hanem az, hogy mekkora hulladék alkalmazás már ez az Outlook, meg hogy a Microsoft a hülye zárt kódjával és az RFC-k leszarásával.
– Azt pedig csak félve említem meg, hogy egy ekkora, komplikált cégnél beleturkálni a rendszerbe, mindenféle change management nélkül… hajmeresztő.

Kicsit hosszú kitérő volt.

Nos, összeállt a kép? Amikor a B hálózatból teszteltük a hozzáférésünket, akkor pont be volt kapcsolva ez a WAF szabály. És kinyírta az Outlook kapcsolódási próbálkozásait. A szekuritis pacák pár nappal ezelőtt módosította a szabályt, azóta viszont nem teszteltünk. Mert én az OWA belépésem miatt szívtam. És amikor nekem sikerült a belépésem, a többiek úgy gondolták, hogy tesznek egy új kísérletet. Mely szintén sikerült, mert addigra át lett írva a WAF filter.

Nos, ennyi.

Most jön a moralizálós rész. A legtöbb infrás informatikus, különösen a fiatalok, azt képzelik, hogy ez milyen csodálatos szakma. Komplex rendszereket lehet építeni, minden ezerrel fejlődik, egyre jobb lesz, ugyan folyamatosan tanulnunk kell, de milyen csodálatos már az, amikor egy elképesztően bonyolult rendszert sikerül összeraknunk tesztkörnyezetben. Mekkora jók vagyunk már.

Pedig nem. A szakma nem erről szól. Sokkal földszagúbb. Sokkal gürizősebb. A valóság ugyanis mocskos. Kimész az iparba és gányolások, átkötések, improvizációk mindenhol, dokumentáció gyakorlatilag sehol, az ember, aki valamikor beállított valamit, mára már elérhetetlen, felszívódott, vagy ha nem, akkor utálja a régi cégét és kínzással sem adna ki semmilyen információt. Te pedig küzdesz, mint malac a jégen.
Aztán amikor elkezd lobogni az őrület tüze a szemedben, egyszer csak megszólal melletted valaki, hogy ja, ahhoz benne kellene lenned egy csoportban.