none
Grundlage von Active Directory Abfragen RRS feed

  • Frage

  • Guten Tag

     

    In meiner Firma wurde in den letzten Monaten das Service Pack 3 auf Windows XP verteillt.

    Nun ist aber noch die Frage ist es auch bei allen Clients sicherlich isntalliert.

     

    Dies müsste ich nun rauskriegen.

    Klaar könnte es man über den WSUS machen aber, dieser hinkt ein bisschen zurück und ist nicht gleich aktuell.

    Da die PCs im AD vorhanden sind und man dort gleich Plain Text anschauen kann welches Service Pack installiert ist, dacht ich mir ich könnte mit VB ein kleines Programm schreiben mit welchem ich das AD nach diesem Plain Text durchsuchen kann, die Clientnamen in einer ListBox auflisten und fals verlangt in eine txt datei exportieren kann.

    Jedoch habe ich noch nie solch etwas gemacht und bräuchte darum eine Erklährung mit Beisspiel von grundauf. Mein VB wissen bezieht sich bis jetzt hauptsächlich auf VB  im zusammenhang mit SQL.

     

    Vielen Dank

    Chris Kaiser

    Donnerstag, 15. Juli 2010 08:30

Antworten

  • Ohne Programmierung, mit Queries
     http://blogs.msdn.com/b/muaddib/archive/2006/10/24/active-directory-ldap-searches.aspx

    zB Query wie :
     "(&(objectCategory=computer)(operatingSystem=Windows XP Professional)(operatingSystemServicePack=Service Pack 2))"


    In VB.NET würde dies grob _vereinfacht_ aussehen wie:

     Dim domain As New DirectoryEntry("LDAP://yourdom", username, password)
     Dim searcher As New DirectorySearcher(domain)
     searcher.SearchScope = SearchScope.Subtree
     searcher.Filter = "(&(objectCategory=computer)(operatingSystem=Windows XP Professional)(operatingSystemServicePack=Service Pack 2))"
     Dim results As SearchResultCollection = searcher.FindAll()

    aber DirectoryServices sind relativ komplex und erfordern Lernzeit.

     

    Donnerstag, 15. Juli 2010 10:11
  • Hallo Chris,

    Deine Bemühungen Deine Visual Basic Kenntnisse zu vertiefen in allen Ehren.
    Nur dies im Bereich Sicherheit zu tun sollte man nicht auf die leichte Schulter nehmen.

    Von der Programmseite bekommst Du es weniger mit dem AD als mit Zugriff
    auf die Windows Installer Datenbasis über WMI und die Auswertung derselben
    bezüglich des  Patchstandes zu tun. Inwieweit WMI dazu ausreicht kann ich
    nicht einmal mit Bestimmtheit sagen.
    Sonderlich viel Spaß wirst Du mit WMI nicht haben, das kann ich Dir als Entwickler
    voraussagen, da gibt es interessantere Themen. Zum Vergnügen mit ADSI/LDAP
    verweise ich auf Mangelnde Beschreibungen in MSDN Library: AD, LDAP u.ä.

    Hinzu kommt, dass ein System mit der Windows XP SP3, das am 06.05.2008 herausgegeben
    wurde, zum heutigen Stand selbst unter optimistischen Annahmen  nicht als sicher und aktuell
    gelten kann.
    Von anderen Komponenten ganz zu schweigen - das Microsoft .NET Framework gehört nebenbei
    auch dazu. Das sollte Dir ein Blick auf die Microsoft Security Advisories oder
    Sicherheitscommunity für IT-Experten
    schnell zeigen.

    Und so ist der Einsatz des von Thomas empfohlenen MBSA in mehr als einer Hinsicht
    vorzuziehen. Der kennt mit mbsacli eine Kommandozeilen-Schnittstelle, mit der
    man Einschränkungen vorgeben kann und das Tool unbeaufsichtigt laufen lassen kann.
    Da das hier Offtopic ist und ich nur rudimentäre Kenntnisse verfüge, verweise ich auf
    die entsprechenden Foren:
    http://social.technet.microsoft.com/Forums/de-DE/category/windowsserver

    Reicht Dir allen Mahnungen zum Trotz eine Abfrage auf das Service Pack 3 via AD
    kannst Du etwas verwenden wie: http://www.myitforum.com/articles/15/view.asp?id=7919

    Gruß Elmar

    Donnerstag, 15. Juli 2010 10:31
    Beantworter

Alle Antworten

  • Hallo Chris

    ic vermute es gibt da schon genug (und gründlichere) Tools,
    ich denke da an solche wie nur zB:

    Microsoft Baseline Security Analyzer (MBSA)
    http://technet.microsoft.com/de-de/security/cc184924.aspx

    http://technet.microsoft.com/de-de/security/cc184923.aspx

     

    Donnerstag, 15. Juli 2010 08:45
  • Leider nicht so wie ich das gerne hätte. Wie gesagt ich hätte gerne eine liste mit den Client namen bei welchen das SP 3 fehlt.

    mit dem MBSA kann man zwar das ganze netz durchsuchen. Jedoch kann mann nicht angeben nach was er suchen soll. bei über 5000 Clients wird dies ein problem. denn der MBSA gibt nur eine bericht zurück in welchem gefährdete Clients aufgelisted sind. danach kann man von hand nachschauen warum er als Sicherheitsrisko eingestuft wird.

    Darum die Abfrage übder das AD.

    Donnerstag, 15. Juli 2010 08:54
  • mit dem MBSA kann man zwar das ganze netz durchsuchen. Jedoch kann mann nicht angeben nach was er suchen soll. bei über 5000 Clients wird dies ein problem. denn der MBSA gibt nur eine bericht zurück in welchem gefährdete Clients aufgelisted sind. danach kann man von hand nachschauen warum er als Sicherheitsrisko eingestuft wird.

    dann investiere die Zeit IMHO besser in diese Analyse, aber nicht in sinnlose AD-Hacks.
    Denn seit dem SP3 (von ~2 Jahren?) sind dutzende weitere Hotfixes erschienen, die genauso kritisch sind.
    Donnerstag, 15. Juli 2010 09:03
  • Ich möchte hier nicht darüber diskutieren über welche Methoden besser währen. Sondern möchte gern die Grundlagen von AD abfragen mit VB erlernen damit ich meine Arbeit erledigen kann.

     

    wie schon erwähnt, wenn ich bei MBSA den zu durchsuchenden IP Range angebe werden erstmal ca 5000 Clients gesucht. Von diesen 5000 werden sicherlich 90% das Service Pack 3 bereits besitzen. Dann die restlichen 10% aus 5000 heraus zu suchen. Ist meiner Meinung nach viel zu aufwändig als eine kleine Abfrage zu schreiben.

    Aber wie schon erwähnt möchte ich nciht übere die Methode diskutieren sondern etwas lernen.

     

    Vielen Dank

    Chris Kaiser

    Donnerstag, 15. Juli 2010 09:10
  • Ohne Programmierung, mit Queries
     http://blogs.msdn.com/b/muaddib/archive/2006/10/24/active-directory-ldap-searches.aspx

    zB Query wie :
     "(&(objectCategory=computer)(operatingSystem=Windows XP Professional)(operatingSystemServicePack=Service Pack 2))"


    In VB.NET würde dies grob _vereinfacht_ aussehen wie:

     Dim domain As New DirectoryEntry("LDAP://yourdom", username, password)
     Dim searcher As New DirectorySearcher(domain)
     searcher.SearchScope = SearchScope.Subtree
     searcher.Filter = "(&(objectCategory=computer)(operatingSystem=Windows XP Professional)(operatingSystemServicePack=Service Pack 2))"
     Dim results As SearchResultCollection = searcher.FindAll()

    aber DirectoryServices sind relativ komplex und erfordern Lernzeit.

     

    Donnerstag, 15. Juli 2010 10:11
  • Hallo Chris,

    Deine Bemühungen Deine Visual Basic Kenntnisse zu vertiefen in allen Ehren.
    Nur dies im Bereich Sicherheit zu tun sollte man nicht auf die leichte Schulter nehmen.

    Von der Programmseite bekommst Du es weniger mit dem AD als mit Zugriff
    auf die Windows Installer Datenbasis über WMI und die Auswertung derselben
    bezüglich des  Patchstandes zu tun. Inwieweit WMI dazu ausreicht kann ich
    nicht einmal mit Bestimmtheit sagen.
    Sonderlich viel Spaß wirst Du mit WMI nicht haben, das kann ich Dir als Entwickler
    voraussagen, da gibt es interessantere Themen. Zum Vergnügen mit ADSI/LDAP
    verweise ich auf Mangelnde Beschreibungen in MSDN Library: AD, LDAP u.ä.

    Hinzu kommt, dass ein System mit der Windows XP SP3, das am 06.05.2008 herausgegeben
    wurde, zum heutigen Stand selbst unter optimistischen Annahmen  nicht als sicher und aktuell
    gelten kann.
    Von anderen Komponenten ganz zu schweigen - das Microsoft .NET Framework gehört nebenbei
    auch dazu. Das sollte Dir ein Blick auf die Microsoft Security Advisories oder
    Sicherheitscommunity für IT-Experten
    schnell zeigen.

    Und so ist der Einsatz des von Thomas empfohlenen MBSA in mehr als einer Hinsicht
    vorzuziehen. Der kennt mit mbsacli eine Kommandozeilen-Schnittstelle, mit der
    man Einschränkungen vorgeben kann und das Tool unbeaufsichtigt laufen lassen kann.
    Da das hier Offtopic ist und ich nur rudimentäre Kenntnisse verfüge, verweise ich auf
    die entsprechenden Foren:
    http://social.technet.microsoft.com/Forums/de-DE/category/windowsserver

    Reicht Dir allen Mahnungen zum Trotz eine Abfrage auf das Service Pack 3 via AD
    kannst Du etwas verwenden wie: http://www.myitforum.com/articles/15/view.asp?id=7919

    Gruß Elmar

    Donnerstag, 15. Juli 2010 10:31
    Beantworter
  • Nun kann ich auch verstehen warum mir davo abgeraten wurde.

    Vielen Dank für die Erklährung!

    So kann ich es auch nachvollziehen.

     

    Ich wünsche noch einen schönen tag.

    Chris Kaiser

    Donnerstag, 15. Juli 2010 10:42