Reguli și filtre pentru fluxul de date
Introducere in DTS
CYBERQUEST's Data Transformation Services este o componentă generală de inteligență a datelor multifuncțională utilizată în tratarea și manipularea datelor de eveniment. DTS este un serviciu de parsing bazat pe un script (JavaScript) care dispune de o gamă largă de funcții. Rolul său principal este de a efectua transformări suplimentare asupra datelor extrase din evenimentele colectate. Utilizarea tipică implică extragerea de informații utile din mai multe câmpuri, în funcție de mai mulți factori, atunci când evenimentul sursă nu își împarte informațiile utile în câmpuri separate.
Serviciile de transformare a datelor extind și extind capacitățile native ale CYBERQUEST cu o logică personalizată pentru a îmbogăți și completa cazurile de utilizare:
- poate ajuta la pregătirea datelor pentru un acces ușor în viitor, permițând transformarea și încărcarea datelor din surse eterogene;
- pot fi utilizate pentru corelarea datelor de eveniment;
- adaugă, modifică, elimină, îmbogățește și ofuscă datele de eveniment parțiale sau complete;
- poate elimina un eveniment;
- creează și îndeplinește în mod dinamic liste de configurare implicită cu date colectate din evenimentele primite (de exemplu, o listă de IP-uri de pe lista neagră). Listele încorporate pot fi modificate/adăugate în Object Manager;
- poate extrage informații din listele definite anterior și poate întreprinde acțiuni specifice, cum ar fi trimiterea de alerte;
- utilizează un motor JavaScript încorporat, administratorul având posibilitatea de a angaja out-of-the-box sau de a crea o logică personalizată pentru efectuarea diferitelor acțiuni;
- poate trimite alerte;
- criptează și decriptează datele;
- poate trimite cereri HTTP/HTTPS pentru sisteme/API-uri externe;
- poate interoga datele stocate în baza de date de evenimente;
- și multe altele.
DTS Service stochează în memorie liste de obiecte pe care utilizatorul le poate utiliza pentru a efectua sarcini specifice. De exemplu, lista User logged on from specified IP ADDRESS poate fi accesată utilizând următorul script:
if(this.inputEvent.UserName == 'undefined')
{
this.inputEvent.UserName = LocalStorage.get('UserLists',this.inputEvent.SrcIP);
}
Liste Generice
if(this.inputEvent.EventType == 'undefined')
{
this.inputEvent.EventType = LocalStorage.get(‘list_name’,this.inputEvent.PropertyName);
}
Pot fi create liste personalizate cu obiecte dinamice, care sunt partajate între toate componentele. Listele pot fi completate direct din DTS prin utilizarea metodei "set" din obiectul LocalStorage. Pentru a realiza acest lucru, utilizați următoarea metodă:
if(this.inputEvent.EventType == ‘16’) //*16 means Failed Audit event*//
{
LocalStorage.set('hosts_with_failed_audit',this.inputEvent.Computer, this.inputEvent.Computer);
}
Obiectul LocalStorage expune mai multe metode de interacțiune cu listele de utilizatori
Metoda set()
Exemplu:
LocalStorage.set(listName, objectName, objectValue, ttl=900)
Descriere: Această metodă stochează datele definite de utilizator în liste de obiecte interne care pot fi editate și în Managerul de obiecte.
Parametrii:
-
listName definește lista asupra căreia se operează. Acest parametru este obligatoriu.
-
objectName definește numele obiectului care este utilizat pentru setarea/recuperarea datelor. Acest parametru este obligatoriu.
-
objectValue definește valoarea care poate fi stocată. Acest parametru este opțional. În cazul în care nu este specificat, sistemul va utiliza automat un timp de viață de 900 de secunde. Atunci când se utilizează -1, sistemul va stoca data în mod nedeterminat.
Metoda get()
Examplu:
LocalStorage.get(listName, objectName)
Descriere: Această metodă reia datele definite de utilizator din listele de obiecte interne care pot fi editate și în Managerul de obiecte.
Parametrii:
-
listName definește lista pe care se operează. Acest parametru este obligatoriu.
-
objectName definește numele obiectului care este utilizat pentru stabilirea/recuperarea datelor. Acest parametru este obligatoriu.
Analizoare JS (obiecte DTS)
Parsarea sau analiza sintactică este procesul de analiză a unui șir de simboluri, fie în limbajul natural, fie în limbajul informatic, în conformitate cu regulile unei gramatici formale. Sarcina parserului este esențială pentru a determina dacă și cum poate fi derivată intrarea din simbolul de început al gramaticii.
JS Parser este un obiect Javascript care utilizează jurnalele de evenimente și sortează inteligent datele, facilitând interpretarea informațiilor rezultate de către un utilizator. Parsarea se face prin apelarea obj.exec cu evenimentul ca parametru în format JSON.
Parserele JS pot fi accesate din interfața web navigând la Settings > Rules > DTS Objects. Se deschide pagina DTS Objects, care enumeră obiectele definite și aici aveți opțiuni pentru a importa un obiect sau pentru a crea un nou obiect DTS de la zero. În meniul Actions (Acțiuni) sunt incluse opțiuni pentru editarea, ștergerea sau exportul unui parser și puteți marca parserul ca fiind activ sau inactiv.
Pentru a exporta un parser, apăsați de lângă acesta. Exportul este salvat ca un fișier CQO proprietar. În mod similar, pentru a importa un parser, selectați
in pagina ObiecteDTS.
Pentru a edita detaliile pentru un anumit obiect, apăsați de lângă acesta. Se deschide pagina Edit DTS Objects care vă permite să modificați numele și descrierea, scriptul sau să activați/inactivați obiectul.
Pentru a șterge un analizor din listă, apăsați tasta de lângă acesta. Ca măsură de precauție, vi se va cere să confirmați ștergerea.
Pentru a marca un parser ca fiind activat/inactivat, apăsați pe butonul .
Crearea unui nou parser JS
În pagina DTS Objects, selectați și se deschide o pagină de configurare care vă permite să creați scriptul pentru un nou parser și să îl marcați ca fiind activ sau inactiv. După ce ați terminat de creat parserul, apăsați butonul "Save" pentru a salva modificările.
Iată un exemplu de parser JS:
Completați următoarele câmpuri:
-
În câmpul Name, introduceți un nume care să identifice obiectul DTS nou creat.
-
În câmpul Description, introduceți o descriere a obiectului.
-
Utilizați câmpul is Active pentru a activa/inactiva obiectul
-
În câmpul Script, adăugați codul javascript
După ce ați terminat de creat parserul, apăsați butonul "Save" pentru a salva modificările sau apăsați butonul "Cancel" pentru a renunța la modificări.
Pentru a vedea cum se creează un parser, vă rugăm să urmați linkul: Cum se creează un parser.
Reguli de filtrare
CYBERQUEST utilizează un mecanism inteligent de filtrare a evenimentelor pentru a trimite date către analizoarele JS. Puteți instrui DTS cu privire la modul de filtrare a evenimentelor trimise către analizoare prin crearea de reguli de filtrare.
Regulile de filtrare pot fi gestionate prin navigarea la Settings > Rules > Filter Rules. Se deschide pagina Filter Rules care permite definirea regulilor pe baza unor operatori precum "eq", "noteq", "isInList", "isNotInList", "startsWith", "endsWith", "intInterval". Practic, nu există nicio limită în ceea ce privește adăugarea de câmpuri suplimentare.
Meniul Actions include opțiuni pentru editarea, ștergerea sau exportul unei reguli și puteți marca regulile ca fiind active sau inactive. Se deschide pagina Filter Rules (Reguli de filtrare), care enumeră regulile definite, iar aici aveți opțiuni pentru a importa un obiect sau pentru a crea o nouă regulă de filtrare de la zero.
Pentru a exporta o regulă, apăsați de lângă acesta. Exportul este salvat ca un fișier CQO proprietar. În mod similar, pentru a importa o regulă, selectați
in pagina Reguli de Filtrare.
Pentru a edita detaliile pentru o anumită regulă, apăsați de lângă acesta. Se deschide pagina Edit Filter Rule (Editare regulă de filtru), care vă permite să modificați Filter Name (Denumirea filtrului) și Description (Descrierea), precum și să adăugați, corectați sau ștergeți filtrele deja definite.
Pentru a șterge o regulă din listă, apăsați de lângă acesta. Ca măsură de precauție, vi se va cere să confirmați ștergerea.
Pentru a marca o regulă ca fiind activată/inactivată, apăsați pe butonul .
Crearea unei noi reguli de filtrare
În pagina Reguli de filtrare, selectați și se deschide pagina de configurare care vă permite să creați o nouă regulă:
Completați următoarele câmpuri:
-
În câmpul Filter Name, introduceți un nume care să identifice regula de filtrare nou creată.
-
În câmpul Description, introduceți o descriere a regulii de filtrare.
-
Apăsați butonul Add field condition pentru a defini una sau mai multe condiții de filtrare a datelor
O regulă de filtrare poate avea una sau mai multe condiții definite:
-
În lista derulantă Select Field, selectați câmpul de eveniment pe care doriți să îl filtrați
-
În lista derulantă Operator, selectați unul dintre operatorii disponibili eq, noteq, isInList, isNotInList, startsWith, endsWith, intInterval.
-
Introduceți Value utilizat pentru comparație.
În mod implicit, noua regulă va fi activă. Apăsați pe pentru a dezactiva regula.
În orice moment puteți apăsa pentru a șterge un filtru.
După ce ați terminat de creat regula, apăsați pentru a salva modificările și a reveni la lista de reguli.
Reguli de achiziție a datelor (Reguli DA)
CYBERQUEST include un motor decizional bazat pe reguli care permite combinarea regulilor de filtrare cu analizoare JS în scopul stabilirii unui flux granular de colectare a datelor. Ca atare, pentru un anumit flux de evenimente, veți putea atribui unul sau mai multe analizoare la reguli de filtrare specifice și, în acest fel, să instruiți platforma cu privire la evenimentele care vor fi colectate.
Regulile de achiziție a datelor pot fi accesate din interfața web, navigând la Settings > Rules > DA Rules. Se deschide pagina DA Rules, care enumeră regulile definite, iar aici aveți opțiuni pentru a importa un obiect sau pentru a crea o nouă regulă DA de la zero. Meniul Actions (Acțiuni) include opțiuni pentru editarea, ștergerea sau exportul unei reguli și puteți marca ca fiind activă sau inactivă.
Pentru a exporta o regulă, apăsați buton. Exportul este salvat ca un fișier CQO proprietar. În mod similar, pentru a importa o regulă, selectați
in pagina Reguli DA.
Pentru a edita detaliile pentru o anumită regulă, apăsați buton. Se deschide pagina Edit DA Rule care vă permite să modificați numele și
Descriere, precum și adăugarea, corectarea sau ștergerea filtrelor deja definite.
Pentru a șterge o regulă din listă, apăsați de lângă acesta. Ca măsură de precauție, vi se va cere să confirmați ștergerea.
Pentru a marca o regulă ca fiind activată/inactivată, apăsați pe butonul .
Pentru a schimba ordinea în care sunt aplicate regulile, este suficient să trageți și să fixați. Vă rugăm să rețineți că ultima regulă din listă se aplică ultima și, prin urmare, poate înlocui alte reguli de urcare.
Crearea unei noi reguli DA
În pagina DA Rules (Reguli DA), selectați și se deschide pagina de configurare care vă permite să creați o nouă regulă:
Completați următoarele câmpuri:
-
În câmpul Name, introduceți un nume care să identifice regula de achiziție de date nou creată. Acest nume va apărea în lista DA Rules.
-
În câmpul Description, introduceți o descriere explicativă a regulii.
-
Regulile de filtrare AND permit utilizarea operatorilor AND pentru a obține informații despre mai multe straturi.
-
Regulile de filtrare OR** permit utilizarea operatorilor OR pentru a obține informații despre mai multe straturi.
-
Data Storages vă permite să selectați stocarea datelor pe termen lung care urmează să fie utilizată.
-
În lista derulantă DTS Objects, selectați obiectele DTS pentru care se va aplica această regulă.
-
În câmpul Order, setați o prioritate de utilizare pentru regula de achiziție de date nou creată
-
Send data to short term storage vă permite să trimiteți datele către baza de date elasticsearch
-
Send to data correlation vă permite să trimiteți datele către serviciul de corelare a datelor
-
Active vă permite să marcați o regulă DA ca fiind activată/inactivată
După ce ați terminat de creat regula DA, apăsați butonul "Save" (Salvare) pentru a salva modificările sau apăsați butonul "Cancel" (Anulare) pentru a renunța la modificări.