Windows - Események és riasztások felvétele az ISA szerverbe

ISA szerver 9. rész

forráskód letöltése
Az ISA lehetővé teszi a fejlesztőknek, hogy eseményeket és riasztásokat definiáljanak. Jelen cikkünkben bemutatjuk ezek elkészítésének módját, és példákat is láthatunk arra, hogy VBScript kód segítségével hogyan kreálható különféle ISA esemény.
A Microsoft ISA szervere egy olyan platform, amelyet harmadik személyek, vagyis fejlesztők kiterjeszthetnek komponensekkel, amelyek együtt dolgoznak az ISA-val, mint pl. alkalmazásszűrők, ISA kezelő és Web ISAPI szűrők. Például fejleszthetünk olyan szűrőt, amely vírusellenőrzést végez. A szűrő konfigurációs információ az ISA konfigurációs információiban megtalálható. Amikor az ISA mentésre kerül, a vírusellenőrző szűrő konfiguráció is mentett lesz. A harmadik fél által megvalósított integráció eszköze az FPCVendorParametersSets kollekció.
A fejlesztők ezenkívül MMC snap-in kiterjesztéseket kreálhatnak, mint komponenseket, amelyeket az ISA-val való együttműködésre terveztek, így a tulajdonságlapok az ISA kezelőbe integrálódnak.
Egyedi esemény illetve riasztás hozzáadása
Az értesítő szolgáltatása az ISA szervernek beállítható úgy, hogy egy riasztást kezdeményezzen akkor, amikor valamilyen esemény történik, pl. betörést észlelünk. Mindezek kezelése a felügyeleti COM objektumokon keresztül történik. A következőkben arról lesz szó, hogy:
  • Hogyan lehet eseményt és riasztást felvenni?
  • Hogyan használhatunk környezeti változókat a riasztásokban?
Hogyan vehetünk fel eseményt és riasztást?
Az ISA szerver előre definiált eseményeket tartalmaz, amelyeket a rendszergazdák felhasználhatnak értesítések készítésekor, így műveletek lépnek életbe, amikor egy esemény megtörténik. Tipikusan egy új eseményt az ISA-ban egy harmadik félként jelenlévő fejlesztő hozhat létre. Amint az esemény elérhető az ISA szerverben, akkor a rendszergazda riasztást definiálhat.
Ebben a példában a hozzáadott esemény DNS támadást fog jelenteni. Négyféle esemény van: DNS kiszolgálónév túlcsordulás, DNS hossz túlcsordulás, DNS zóna magas port, és DNS zóna átvitel.
Használjuk a következő lépéseket, hogy egy eseményt és riasztást készítsünk:
  • Új esemény definíció hozzáadása az FPCEventDefinitions kollekció segítségével.
Az ISA események olyan körülményeket írnak le, amely a rendszergazda figyelmét igénylik, mint pl. a lemez megtelt esemény. Mivel egy esemény gyakran megtörténhet, elvárható, hogy egy riasztás akkor érkezzen, ha az esemény meghatározott alkalommal előállt.
A mellékelt példában egy új eseménydefiníciót adunk az FPCEventDefinitions kollekcióhoz VBScript kód segítségével. Ebben a példában a hozzáadott kulcsok táblát használjuk. A hozzáadott kulcsok alkalmasak arra, hogy alosztályokra osszuk az esemény objektumokat, összefüggő aleseményekre; például felosztva a lemez megtelt eseményt log-lemez megtelt és rendszer-lemez megtelt eseményekre. Ezzel definiálhatunk számos riasztást, amely egy aleseményre vonatkozik, vagy egy riasztást, amely minden aleseményre vonatkozik.
Az index=0-s hozzáadott kulcs valamennyi aleseményt jelenti.
  • Új riasztás definiálása az eseményhez az ISA kezelőn keresztül.
Az FPCAlert objektum egy riasztást definiál. Amikor egy meghatározott esemény történik, ez az objektum megállapítja, hogy mely művelettel válaszol az ISA az eseményre. Az FPCAlert objektum definiálni tud három küszöbértéket, amely meghatározza, hogy a művelet mikor lép életbe. A riasztások lehetővé teszik, hogy az ISA értesítse a rendszergazdát, amikor egy bizonyos esemény bekövetkezett. A rendszergazda dönthet, hogy milyen műveletet foganatosít. Elérhetjük a műveletek tulajdonságait az FPCAlertActions kollekción keresztül.
A leghatásosabb módja annak, hogy riasztást készítsünk az, ha az ISA kezelőt alkalmazzuk. Nyissuk meg az ISA kezelőt. Kattintsunk jobb egérgombbal a riasztások csomópontra a konzol fában. A menüben válasszuk a New and Alert-et. Kövessük az utasításokat a varázslóban.
  • Az új esemény jelzése.
Az "AdditionalKey" változó a hozzáadott kulcs tábla indexe, és a 2-es értéket tárolja, amely DNS hossz túlcsordulást jelez. A mellékelt kód garantálja a DNS hossz túlcsordulás esemény életbelépését.
A SignalEvent általában C++ kódból lesz meghívva. A VBScript kód, mint a mellékelt példánk is általában tesztelési célt szolgál.
Az ISA felügyeleti objektumok bármely COM nyelven használhatók. Nem szükséges VBScript-et használni az események vagy riasztások definiálásához.
Hogyan használhatunk környezeti változókat a riasztásokban?
Amikor egy riasztás egy programot indít, az ISA környezeti változókat és esemény információkat szolgáltat a futtatási folyamathoz. A környezeti változók tartalmazzák az eseménynaplóba beszúrt szöveget. Minden beszúrt szöveghez egy megfelelő ALERT_PARAMETER_X adódik, ahol az X a szöveg sorrendi száma.
A környezeti változókat arra is használhatjuk, hogy finomítsuk az eseményre adandó választ. Például egy támadó IP címét megjeleníthetjük az esemény kapcsán. Egy megfelelő válasz lehet az, ha egy csomagszűrő blokkol minden csomagot a megadott IP címről.
A környezeti változók megbízhatók, amikor az érték formátum, vagy a lehetséges formátum ismert. Például tudhatjuk, hogy a várt értékek IP címek. Bár ha az érték egy tetszőleges szöveg, ismeretlen IP címről, akkor nem szabad script-ben használni, mert az biztonsági szempontból rizikós.

ISA szerver cikksorozat