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!

Prezentarea de la Using Microsoft Academic Program

Manifest:
Este important să știi, dar este esențial să înțelegi!

Duminică 10/11/2013 am participat la Using Microsoft Academic Program organizată de Microsoft Students Partners Iasi și am povestit despre experiențele mele cu produsele Microsoft și în special despre cum am migrat Portalul FEAA de la SharePoint 2010 la SharePoint 2013, precum și despre implicațiile acestei operațiuni.

Mai multe detalii găsiți în slide-urile atașate: http://sdrv.ms/HKx4r2

Viziune proprie despre arhitectura SharePoint Server

Viziunea proprie despre arhitectura SharePoint în cadrul unei organizații. Totul poate fi perfect până la nivelul People, de aceea de obicei în figurile de arhitectura lipsește acest nivel. :)

Etapele sau pașii mari ai migrării (criptat :):

1. Copy Backup SQL Server
2. Instalare SP2013
http://blogs.msdn.com/b/uksharepoint/archive/2013/03/18/scripted-installation-of-sharepoint-2013-and-office-web-apps-server-from-the-field-part-2.aspx
de pus si patch-urile
(1)   KB2767999 http://support.microsoft.com/kb/2767999 – ubersrvsp2013-kb2767999-fullfile-x64-glb.exe
(2)   KB2726992 http://support.microsoft.com/kb/2726992 – 462705_intl_x64_zip.exe
====
Comenzi configurare BD
New-SPConfigurationDatabase –DatabaseName A_SharePoint_Config -DatabaseServer bdsrv-02 –AdministrationContentDatabaseName A_SharePoint_Admin_Content

====
Configurare state service
New-SPStateServiceApplication -Name "State Service Application"
Get-SPStateServiceApplication | New-SPStateServiceApplicationProxy -defaultproxygroup
Get-SPStateServiceApplication | New-SPStateServiceDatabase -Name "A_State_Service_DB"
Get-spdatabase | where-object {$_.type -eq"Microsoft.Office.Server.Administration.StateDatabase"} | initialize-spstateservicedatabase
New-SPUsageApplication -Name "Usage and Health Data Collection"
$proxy = Get-SPServiceApplicationProxy | where {$_.TypeName-eq"Usage and Health Data Collection Proxy"}
$proxy.Provision()

=====
Wizard pentru alte servicii
=====
Sters site implicit (SharePoint – 80) si creat MySite Host
=====

3. Instalare Language pack Romanian

4. Restore baza de date in new SQL Server

5. Creare Web app in clasic mode
New-SPWebApplication –name "P_ID" –Port 80 –ApplicationPool "A_ID_Pool" -HostHeader "id.feaa.uaic.ro" –ApplicationPoolAccount (Get-SPManagedAccount "FEAA\Admin.pool")

6. Test baza de date
Test-SPContentDatabase -Name P_Doctorat_Content -WebApplication http://v-portal:100/ > TestUpgrade.txt

7. Atasare baza de date
Mount-SPContentDatabase -Name P_ID_Content -WebApplication http://id.feaa.uaic.ro

8. Convert-SPWebApplication –Identity http://id.feaa.uaic.ro –To Claims -RetainPermissions -Force

9. Creare Web app in clasic mode
New-SPWebApplication –name "P_ID" –Port 80 –ApplicationPool "A_ID_Pool" -HostHeader "id.feaa.uaic.ro" –ApplicationPoolAccount (Get-SPManagedAccount "FEAA\Admin.pool")
New-SPWebApplication –name "P_Doctorat" –Port 80 –ApplicationPool "A_Doctorat_Pool" -HostHeader "doctorat.feaa.uaic.ro" –ApplicationPoolAccount (Get-SPManagedAccount "FEAA\Admin.pool")
New-SPWebApplication –name "P_Portal" –Port 80 –ApplicationPool "A_Portal_Pool" -HostHeader "portal.feaa.uaic.ro" –ApplicationPoolAccount (Get-SPManagedAccount "FEAA\Admin.pool")

Test-SPContentDatabase -Name P_PortalFEAA_Content -WebApplication http://portal.feaa.uaic.ro/ > C:\Temp\TestUpgrade.txt

10. Atasare baza de date
Mount-SPContentDatabase -Name P_ID_Content -WebApplication http://id.feaa.uaic.ro
Mount-SPContentDatabase -Name P_Doctorat_Content -WebApplication http://doctorat.feaa.uaic.ro
Mount-SPContentDatabase -Name P_PortalFEAA_Content -WebApplication http://portal.feaa.uaic.ro

11. Convert-SPWebApplication –Identity http://id.feaa.uaic.ro –To Claims -RetainPermissions -Force

Convert-SPWebApplication –Identity http://doctorat.feaa.uaic.ro –To Claims -RetainPermissions -Force
Convert-SPWebApplication –Identity http://portal.feaa.uaic.ro –To Claims -RetainPermissions -Force

http://portal.feaa.uaic.ro/_layouts/siteupgradestatus.aspx

12. Integrarea cu Office Web App de pe alt server.

New-SPWOPIBinding -ServerName ca.feaa.uaic.ro

Resources:

Sper să vi se fi părut interesant!

Blog la WordPress.com.

SUS ↑