WMI and Registry scripts

În cadrul misiunilor de auditare a sistemelor informaționale există două activități de colectare a datelor de pe sistemele de calcul care asigură suportul, la momentul auditului, pentru luarea unei decizii de conformitate cu cerințele sistemului auditat. Prima activitate este aceea de documentare a sistemului auditat iar cea dea doua de extragere a informațiilor despre diferite configurări specifice în funcție de rolul sistemului auditat.

Rolul principal în procesul de documentare și colectare a configurațiilor îl are tot auditorul pentru că el decide care sunt elementele necesare a căror rezultat ar oferi cea mai corectă imagine despre securitate sistemului auditat.

Pentru realizarea acestor activități fiecare auditor are la îndemână o serie de instrumente specifice sau folosește pur și simplu metode de observare directă a configurațiilor direct de pe un terminal al sistemului auditat. În sensul realizării dosarului de audit trebuie să avem în vedere și modul în care sunt stocate probele electronice. De asemenea, o aplicabilitate a operațiunilor de documentare și colectare a configurațiilor este des întâlnită în activitățile de investigație a fraudelor informatice, dar aici plaja de aplicații disponibile este mult mai generoasă decât a aplicațiilor pentru audit.

clip_image002

Articolul curent are drept obiectiv prezentarea unui model de colectare a informațiilor despre sistemele de calcul cu sisteme de operare Windows, generațiile de după versiunea 2000, aplicabil atât sistemelor de operare de tip client cât și celor de tip server, membre ale unui domeniu sau workgroup.

Formatul de tip proces (intrare/prelucrare/ieșire) permite auditorului să definească, în cunoștință de cauză care sunt elementele unui sistem de calcul pe care dorește să le documenteze sau interogheze, apoi pe baza deciziei sale se realizează extragerea datelor din sistem și generarea ieșirilor care permit auditorului să-și motiveze opinia.

Documentarea

Din punct de vedere tehnic, datele de intrate pentru documentarea sistemului de calcul au la bază clasele de WMI[1] (Windows Management Instrumentation), principala sursă de stocare a informațiilor despre sistemele de operare Windows. Fiecare clasă este specificată în documentul XML de intrare sub forma unei secțiuni noi, auditorul având la dispoziție posibilitatea de a comenta sau chiar elimina anumite clase din fișierul de intrări.

Structura fișierului XML de intrare (wmiClassInput.xml) este prezentată în imaginea de mai jos:

clip_image004

Elementul rădăcină este winDokm iar fiecare clasă de registry este prezentată în elementele repetitive Section. Pentru sistemele de operare de tip Windows 2008 Server și ulterioare există o clasă WMI specifică, Win32_ServerFeature, folosită pentru extragerea rolurilor curente configurate pe serverele respective.

Aspectul inovativ al acestui model este reprezentat de aspectul deschis al fișierului de date de intrare care permite actualizarea ușoară a versiunilor, eliminarea și adăugarea de clase WMI în funcție de evoluția versiunilor sistemului de operare.

Fișierul de prelucrare (winDokm v1.vbs) se bazează pe limbajul de scripting VB Script, care se regăsește în toate versiunile sistemelor de operare Windows. Logica de prelucrare constă în specificarea fișierului de intrare a claselor WMI și pe bază de funcții specifice generarea unui fișier XML de ieșire.

Provocarea pentru noi în realizarea acestui script a fost de a interoga în mod dinamic WMI pe baza datelor dinamice de intrare. În atingerea acestui obiectiv am creat o funcție parametrizată (imagine) care generează secțiuni în fișierul de ieșire în funcție de valorile rezultate din interogările WMI.

clip_image006

Interogările WMI nu generează obiecte de tip recordset ci o formă particulară de arrays cunoscută și sub numele de SWbemObject [2]care poate conține valori liniare sau în stivă multidimensională.

Fișierul de ieșire, care are numele asemănător sistemului de calcul pentru care se realizează documentarea, conține toate datele accesibile din clasele WMI specificate în fișierul de intrare, prezentate în format XML.

clip_image008

În mod formatat cu XSL (winDokmFOut) fișierul de ieșire poate arăta în formatul următor:

clip_image010

Fișierul de formatare are drept scop doar o prezentare a datelor într-un format mai accesibil citirii decât formatul XML. În același timp, datele de ieșire pot fi prelucrate în aplicații de calcul tabelar, precum Microsoft Excel, sau importate în baze de date și interogate sau prelucrate după necesarul fiecărui obiectiv al misiunii.

Extragerea configurațiilor din regiștrii Windows

Folosind aceeași tehnică a datelor de intrare, prelucrare și date de ieșire se pot realiza aplicații de colectare a unor serii de configurații de pe calculatoarele Windows. Principala sursă de date vizată în acest paragraf este reprezentată de regiștrii Windows care stochează majoritatea datelor de configurare, informații despre produse și servicii din Windows, informații despre configurările de securitate și politicile aplicate.

Fișierul XML pentru a specifica clasele de ieșire are o structură pe secțiuni oarecum diferită, incluzând și o parte documentară, preluată de pe siturile oficiale MSDN[3] și TechNet[4] de la Microsoft.

clip_image012

Foarte importante în structura acestui fișier de intrare sunt primele trei valori:

  • · regHive – Specificarea locației rădăcină din registry
  • · regClass – adresa completă a cheii de registry fără rădăcină
  • · regData – numele configurației din registry folosită pentru a extrage valoarea.

Fișierul de prelucrări folosește metode specifice de conectare la registry prin apelarea la o funcție de interogare și generare a ieșirilor pe baza datelor de intrare.

Apelul funcției:

clip_image014

Conectarea la registry, extragerea valorilor din cheile de registri specificate și generarea output-ului:

clip_image016

Fișierul XML de ieșire:

clip_image018

Formatat via XSL fișierul de ieșire ar arăta ca în graficul:

clip_image020

Câmpurile winPolicy și Description din documentul de intrare sunt folosite doar cu rol documentar pentru acest fișier de ieșire.

Pentru o mai bună interpretare a datelor de ieșire, noi recomandăm utilizarea aplicațiilor de calcul tabelar. Un model de reprezentare a unui fișier de ieșire în Microsoft Excel puteți vedea mai jos.

clip_image022

În cazul în care avem deja un set de date dorite, pe baza celor mai bune practici, putem realiza grafice comparative de tip Radar pentru a putea raporta către managementul non-tehnic o stare concretă a configurărilor identificate în cadrul unei rețele.

Aplicații concurente

Instrumente concurente sunt multe (Sidy-Server), dar sunt mai greu de utilizat și în special pe servere pe care nu există Word instalat. De asemenea, MBSA și SCCM.

Dezvoltări viitoare

Pornind de la acest concept al datelor de intrare, prelucrari si ieșiri, ne propunem ca la viitoarele versiuni să putem realiza fișiere XML de intrare cu mai multe calculatoare pentru documentarea unei rețele.

Download and feedback


[1] Win32 Classes, http://msdn.microsoft.com/en-us/library/aa394084(v=vs.85).aspx

[2] SWbemObject object (Windows), http://msdn.microsoft.com/en-us/library/windows/desktop/aa393741(v=vs.85).aspx

[3] Group Policy Registry Table, http://msdn.microsoft.com/en-us/library/ms815238.aspx

[4] Auditing Policy, http://technet.microsoft.com/en-us/library/cc779526(v=ws.10).aspx

Prezentarea de la TestCamp.ro

M4n1f3st
În spatele unui programator de succes se află un tester bun!

Sâmbăta 16.11.2013 am avut deosebita plăcere de a fi invitat la prima conferință a Testerilor din zona Moldovei (http://testcamp.ro), eveniment organizat impecabil și la care am avut un sentiment plăcut de aparteneță la un domeniul QA prin zecile de studenți și foști studenți pe care am avut ocazia să-i revăd.

Pentru cei interesați prezentarea poate fi descărcată de aici: http://sdrv.ms/18DQwwf

Este greu de vorbit în 45 de minute despre SharePoint și să mai definești și scenariile de testare pe zona de fermă, aplicații și altele. În context, prezentarea reprezintă doar o listă cu bulinuțe de la care cineva interesat de domeniu ar putea începe să elaboreze și implementeze planuri de testare pentru SharePoint.

La final, având în vedere convingerea mea despre importanța elementului People în arhitectura oricărui sistem informatic/informațional, am prezentat o contribuție mai veche de pe Technet legată de acel CAML Creator cu ajurul căruia end-userii își pot defini propriile lor entități de date în cadrul unui site, în scopul testării sau implementării proceselor de business. Cum funcționează poate fi vizionat și aici: http://www.youtube.com/watch?v=cYHIBbNjyCw

Una din formulele care a plăcut cel mai mult audienței. Doar puțin Excel! :)

image

Mulțumesc organizatorilor pentru invitație și audienței pentru răbdare și pentru că nu au pus nici o întrebare. :)

La cât mai multe ediții!

Finish – SysAdmin@FEAA (1998-2013)

Astăzi mi-am încheiat cariera de Administrator de Rețea în cadrul FEAA, loc în care am avut ocazia să învăț atâtea tehnologii încât nu știu dacă le pot enumera pe toate. Am început cu Windows NT 4.0 am continuat cu Windows 2000 server și Professional, Windows XP, Windows 2003 Server, Microsoft Office SharePoint Server 2003, SharePoint Server 2007, 2010, 2012, SQL Server 2000, 2005, 2008, 2012, Windows Server 2008, 2012, Windows 7, Exchange Server 2007, ISA Server 2003, 2006, TMG 2010, Lync Server 2010, 2013, System Center Operation Manager 2005, 2007, System Center Configuration Manager 2005, 2007, 2012, Dynamics CRM 4.0, 2011, Active Directory de când a apărut, DNS, DHCP, RRAS, IIS toate versiunile și să-mi fie cu iertare că am uitat să menționez că am lucrat și cu ceva Linux pe la început.

Primele zile de muncă au fost cele mai memorabile, având în vedere că terminasem specializarea de Contabilitate. În primele 4 ore de muncă Puiu Ungureanu, m-a învățat cum se instalează o stație de Windows NT 4.0 workstation, folosind două dischete și o unitate de CD extern. Următoarele 4 ore am făcut și eu același lucru. De la Adrian Munteanu și (Dumnezeu să îl ierte) John Brava am învățat cum se instalează un PDC și un BDC din Windows NT 4.0 Server.

Au trecut anii și am tot acumulat pierzând nopți întregi și zile nenumărate testând tehnologii noi. Sigur am făcut și greșeli, de planificare de proiectare sau pur și simplu de implementare. Ani de-a rândul zeci de mii de studenți s-au autentificat prin Rețeaua FEAA de multe ori înjurând cel mai mult pe cel care încerca să-și protejeze infrastructura în interesul tuturor celorlalți utilizatori interesați de continuitatea funcționalităților. Una din cele mai grele perioade a fost pe la începutul anului 1999, când profesorul Dumitru Oprea (Decanul facultății) a pus la bătaie un premiu de 1000 USD pentru cel care reușește să spargă rețeaua într-o lună de zile! :) Peste ani, cineva mi-a spus că aș fi putut să-l las să reușească și împărțeam banii. Și i-am răspuns: dar mândria? :)

Din toamna lui 2006 am rămas doar cu mândria pentru că oficial nu am mai avut statut de angajat în cadrul departamentului, dar am stat multe zile și nopți în camera serverelor pentru a le întreține, updata, sau reface. Dincolo de orice, un lucru bine făcut, chiar dacă nu îți aduce avantaje financiare directe, poate să îți aducă recunoaștere sau măcar respect. Aprecierile au apărut în timp, culminând cu nominalizarea MVP pentru tehnologia SharePoint, construind alături de colegi primul portal de SharePoint din România, devenit ulterior studiu de caz pe site-ul Microsoft România.

Am învățat în timp ce înseamnă etica profesională și chiar dacă am mai greșit în comunicare într-un final punând în balanță, sunt mai mulți cei care nu au avut ceva împotriva mea decât nemulțumiții. Dacă este să punctez nerealizările cea mai mare rămâne faptul că nu am reușit să accedem in Office 365, nu din cauze tehnice sau de deschidere din partea noastră. Altele.

Am avut plăcerea să lucrez cu Șefi care mi-au dat mână liberă și care l-a rândul lor mi-au cerut părerea, dar și cu colegi care m-au ascultat, care au învățat de la mine sau pur și simplu mi-au susținut demersurile în evoluția rețelei. Mai jos o fotografie cu nucleul de 4 (de la dreapta: Mugurel, Florin, Puiu) în jurul cărora am avut alți colaboratori: Marius Postolache, Gabriel Cristescu, Bogdan Alecu, Silviu, Andreea, Natalia, Alina, Ionuț, Alina de acum, Ionii :) și tinerii candidați: Viorel și Adriana.

Server_baietzeii

Sper că n-am uitat pe nimeni.

Astăzi am predat cheile de la Server, schema de rețea și listele cu parole. Cu oareșce nostalgie, dar cu speranță că generațiile tinere vor fi mai resposabile decât mine în ceea ce fac. La urma urmei cum spunea dl Decan Airinei: ”Nimeni nu este de neînlocuit!”.

Le urez succes și putere de muncă. Eu merg pe direcția cercetării! :))

Blog la WordPress.com.

SUS ↑