Welcome to TechNet Blogs Sign in | Join | Help

Domaenen Migration und ReACLing

Wie wir ja im Seminar besprochen haben kann das SIDHistory Attribut nicht beliebig weit gefüllt werden. Spätestens mit 1024 Einträgen im Access Token – zu denen auch die Einträge des SidHistory Attributs gehören - ist das Ende erreicht. Es ist also Aufräumen angesagt. Wenn das SIDHistory Attribut gehen soll ist es notwendig, die migrierten Server zu durchsuchen, um die Berechtigungen dort von den alten Einträgen zu befreien und bei Bedarf mit den neuen Domäneninformationen neu zu setzen.

Ein Tool, das sich dabei gut schlägt ist subinacl. Mit subinacl lassen sich Berechtigungen im Dateisystem, in der Registry, auf Diensten etc. setzen. Es kursiert noch immer eine Version von subinacl, die fehlerhaft ist. Ein download der aktuellen Version ist also eine gute Idee:

http://www.microsoft.com/downloads/details.aspx?FamilyID=e8ba3e56-d8fe-4a91-93cf-ed6985e3927b&displaylang=en

Um z.B. alle Nutzerverzeichnisse neu zu berechtigen könnte man folgende Schleife verwenden:

for /f %%i in ('dir "c:\" /b /ad') do @call resetfolder.cmd %%i

in resetfolder.cmd muss dann die entsprechende Berechtigung gesetzt werden, in etwa so:

subinacl /subdirectories {Verzeichnis}\%1 /grant={Domäne}\%1

Darüber hinaus gibt es noch immer sidwalker, der ein entsprechendes Mapping der Kontendurchführt, und auch nicht mehr auflösbare SIDs entfernen kann. Mit showaccs können Berechtigungen im Dateisystem, der Registry etc. gelistet werden, so dass man Einträgen mit der „alten“ Domänen-GUID schnell auf die Spur kommen kann.

Eine mögliche Prozedur um Dateiserver in eine neue Domäne umzuziehen ist wie folgt:

·         Showaccs um das mapping Name - SID zu erhalten. Showaccs /r /m map.csv

·         Security Migration Editor um die Übersetzungstabelle zu erstellen

·         SidWalk durchführen für das Umsetzen der Berechtigungen

Im Falle das einfachen Ersetzens kann subinacl auch gute Dienste leisten

Subinacl /replace=domainAlt\Verkauf=DomainNeu\VerkaufAlt

So viele Möglichkeiten…

Posted by tkarch | 0 Comments
Filed under:

Domaenencontroller in virtuellen Maschinen

Virtualisierung ist in aller Munde. Was machen wir aber mit unseren Domänencontrollern? Auch diese lassen sich prinzipiell durchaus virtualisieren. Für die Plattform Virtual Server 2005 existiert ein Whitepaper in dem die wesentlichen der zu beachtenden Kriterien berücksichtig sind „Running Domain Controllers in Virtual Server 2005“.

Für Hyper-V ist ein ähnliches Dokument in Planung.

„Kritisch“ wird das Thema für produktive Umgebungen. Die Lösung für viele der Probleme, die im Whitepaper angesprochen sind ist:

  • Gute Überwachung/ Monitoring etablieren
  • Systemzeit nicht vom Host-System beziehen.
  • Keine „Snapshots“, "Time Shifts" oder ähnliche Technologie verwenden.

Hier ist auch noch einmal eine Zusammenfassung der wesentlichen Punkte: "Considerations when hosting Active Directory domain controller in virtual hosting environments

Natürlich gilt es auch entsprechende Prozesse zu etablieren: Z.B. wie kann ich sicherstellen, dass mir die vhd Datei nicht "entwendet" wird?, was passiert wenn mir meinen Hostsystem physikalisch kaputt geht - und damit alle Domänencontroller, die darauf liefen?

Ich selbst habe in Firmen schon gesehen, dass „mal auf die Schnelle“ ein Domänencontroller virtuell aufgebaut wird, um sich eine „Arbeitskopie“ eines Active Directory zu halten - das „natürlich offline“ verwendet wird. Hm... dass die kleine virtuelle Machine auf einer USB Platte, die da achtlos auf dem Boden liegt, ein echter, vollwertiger Domänencontroller ist, wird dabei mental oft nicht realisiert. (Mal ganz vom „vergessenen“ metadata cleanup zu schweigen) Natürlich kommt der dann irgendwie doch wieder ans Netz… nach der Tombstone Lifetime und mit allen FSMO Rollen, die man sich wegen der Tests „mal schnell“ übernommen hat… Wie war das nochmal mit dem doppelten RID Master im Netz?

Es ist einfach sehr verlockend, sich „so eine vhd Datei mal wegzusichern"…

Den Artikel sollte man - je nach angedachter Virtualisierungsplattform - auch kennen: "Support policy for Microsoft software running in non-Microsoft hardware virtualization software"

Posted by tkarch | 1 Comments
Filed under:

Die Macht des Einzeilers

Für die Verwaltung im Active Directory gibt es eine ganz Reihe von Werkzeugen der ds* Serie. "How To Use the Directory Service Command-Line Tools to Manage Active Directory Objects in Windows Server 2003" gibt einige Tipps, wie man die Werkzeuge einsetzen kann. Darüber hinaus gibt es im „Active Directory Cookbook“ eine ganze Reihe von Beispielen, wie man auch ohne Visual Basic Script Kenntnissen gut automatisieren kann.

Ein wichtiges Werkzeug ist noch immer die for-Schleife, wie in folgendem Beispiel zum Anlegen von 100 Anwendern:

For /L %i in (1,1,100) do dsadd user “cn=user%i,ou=…,dc=…,dc=…” -pwd User%i6()

Noch ein kleines Beispiel: Alle nicht mehr aktiven Computerkonten löschen: Den Befehl sollte man allerdings mit Vorsicht verwenden. Ein manuelles Prüfen der zurückgegebenen Computerobjekte ist mehr als empfehlenswert. Wie wird „inactive“ eigentlich bestimmt? Über das Attribut „lastLogonTimeStamp“:

Dsquery computer –inactive 20 | dsrm –noprompt

Aber bevor ich hier ganz viele kleine Einzeiler liste: Eine sehr gute Übersicht vieler kleiner Helfer findet sich unter: More One Liners. Vielleicht ist da auch die eine oder Idee für Sie dabei etwas zu automatisieren? Einer der Befehle unklar? Hinterlassen Sie einfach einen Kommentar hier...

Posted by tkarch | 0 Comments
Filed under:

Wo ist mein DC?

Wie findet eine Workstation den optimalen Domänencontroller für die Anmeldung? Über den „Domain Controller Locator“ Prozess...

Eine kurze Anmerkung zum Thema Caching vorneweg: Prinzipiell berücksichtig jede Workstation (und jeder Mitgliedsserver) zuerst den vom letzten Kontakt gecachten Domänencontroller. Das geht allerdings nur, solange die Workstation nicht neu gestartet wird. Das löscht den Cache. Für den Prozess „Anmeldung“ gibt es also keine Möglichkeit gecachete Informationen zu verwenden. Was man trotzdem beachten sollte: Wenn ein Domänencontroller über eine längere Zeit abgeschaltet wird, schalten die Domänenmitglieder auf einen anderen verfügbaren Domänencontroller um, der dadurch unter Last gerät. Wird der Original DC wieder online genommen, so wird er immer noch nicht angesprochen, solange der Cache auf den Arbeitsplätzen nicht gelöscht wird. Deshalb hat der cache nur eine Lebensdauer von 30 Minuten.

Wie findet nun der Arbeitsplatz bei der Anmeldung den zugehörigen Domänencontroller?

Der erste Schritt ist eine gezielte Anfrage nach dem Domänencontroller für den aktuellen Standort des Arbeitsplatzes.

Die entsprechende API heisst DSGetDCName. DSGetDCName akzeptiert einige Optionen, die das Ergebnis des Aufrufs maßgeblich beeinflussen. Die Option die hier spezifiziert wird ist DS_TRY_NEXTCLOSEST_SITE. Diese Option sucht ebenso erst in der lokalen Site. Falls da kein DC gefunden werden kann. beschafft sich der Domänencontroller über die APIs DSBindToISTG die Topologieinformationen und DSQuerySitesByCost den „nächst besten Standort“.

Falls das alles zu nichts führt fragt der Arbeitsplatz nach allen verfügbaren Domänen Controllern. Sollte der Prozess irgendwann erfolgreich sein landet der gefunden Domänencontroller im Cache.

Um sicherzustellen, dass ein „günstiger“ Domänencontroller sich im DNS für einen „leeren“ Standort registriert muss „AutoSiteCoverage“ angeschaltet sein.

Falls man die „Coverage“ nicht berechnen, sondern selbst vorgeben möchte, ist „SiteCoverage“ der richtige Weg.

Sollte es in dem Umfeld zu Unstimmigkeiten kommen kann man über „nltest /dsgetsitecov“, „nltest /dsgetsite“ und „nltest /dsgetdc:domainname /avoidself“ Informationen über die aktuelle Coverage erhalten. Natürlich gibt es DCGetDCName auch als managed code zum selbstanprogrammieren, wenn die Funktionalität für eigene Programme benötigt wird. (System.DirectoryServices.ActiveDirectory Namespace)

Auch ein hübscher Knowledgebase Artikel existiert: How to optimize the location of a domain controller or global catalog that resides outside of a client's site

Posted by tkarch | 0 Comments

Infrastruktur Master und Globaler Katalog

Zumindest aus dem ersten Termin der Serie ist noch die Frage offen, wie Globale Kataloge und die Rolle des Infrastrukturmasters kombiniert werden können:

Danke Yusuf für den Verweis auf Deinen Blog. Yusuf`s Directory Blog - Die FSMO-Rollen verschieben. Dort ist das Szenario gut beschrieben. Zu diesem Thema ebenso Nils Kaczenski und Ulf B. Simon-Weidner: Globaler Katalog vs. Infrastruktur-Master 

Nils hat übrigens in seinem Portfolio einige sehr gute Webcasts in dem Themenumfeld. Zusätzlich zu den romatischen Abenden mit ihrer Frau vor dem Fernseher kann ich folgende Videos sehr empfehlen: Die AR-Webcasts. (Sichern Sie sich die wmv Dateien - wer weiß wie lange diese online bleiben J)

Posted by tkarch | 0 Comments
Filed under:

Der letzte Tag…

Der letzte Tag…

Heute war der letzte Tag der Seminarrundreise „Was sie schon immer über Active Directory wissen wollten…“. Vielen Dank an alle, die die Termine besucht haben. Ich hatte viel Spass – und ich hoffe auch für Sie war es sinnvoll investierte Zeit. Vermutlich hat das Seminar trotz des Titels nicht alle Ihre Fragen abgedeckt. Viele interessante Themen in Bereichen wie „Replikation“ haben wir nicht abgedeckt. Vielleicht war trotzdem die eine andere für Sie nützliche Information dabei.

Wie versprochen werde ich mich „ab jetzt“ – d.h. im Laufe der nächsten Woche(n) -  noch einmal den Fragen zuwenden, die ich im Laufe des Tages nicht beantworten konnte. Bzw. die sich auf andere Themen als „Active Directory“ bezogen. Noch einmal die Buchempfehlungen: „Active Directory Cookbook 2nd Edition“ von Robbie Allen und dem Oldie „Active Directory: Notes from the field“. Ich gebe dazu keinen Link an: Nehmen sie die Suchmaschine ihrer Wahl – also http://live.com – und Sie werden beide problemlos finden.

Grundsätzlich besteht natürlich auch jetzt noch die Möglichkeit eine Frage nachzureichen. Ich tue mein Bestes J

Nochmal vielen Dank!

Posted by tkarch | 1 Comments
Filed under:

Was sie schon immer ueber Active Directory wissen wollten…

 

"Active Directory" als zentraler Verzeichnisdienst der Windows Welt gibt einige Themen her.

Die Agenda für das TechNet Event ist noch nicht bis ins Detail festgeschrieben. Der Grundtenor wird sein die Themen zu besprechen, die ich im Laufe der Zeit in konkreten Kundensituationen als interessant oder "häufig gefragt" wahrgenommen habe und die in gewisser Weise von allgemeinen Interesse sind - oder einfach dem besseren Verständnis dienen.

 

Wir werden von Active Directory Grundlagen, Design Best Practices unseren Weg gehen bis zur Schema Erweiterung. Dabei ein wenig dem Anmelde und Netzwerkverkehr auf die Finger schauen, und die Frage klären, wie der Nutzer eigentlich zu seinen Berechtigungen kommt (Kerberos, SDDL)

 

Gibt es Themen, die sie besonders interessieren? Was wollten Sie schon immer einmal verstehen oder gezeigt bekommen?

 

Apropos: Windows Server 2008 Active Directory Directory Services wird nicht explizit Thema sein. Sollte Sich mit Windows Server 2008 etwas grundlegend geändert haben werde ich aber darauf hinweisen.

Posted by tkarch | 0 Comments
Filed under:

Kerberos demystified

There is already quite a lot of documentation and books on Kerberos out there. Here I just wanted to compile the Information I typically need myself to do my daily business. Very good in-depth Information can be found here:

 

How the Kerberos Version 5 Authentication Protocol Works

http://technet2.microsoft.com/WindowsServer/en/library/4a1daa3e-b45c-44ea-a0b6-fe8910f92f281033.mspx?mfr=true

Kerberos Explained

http://www.microsoft.com/technet/prodtechnol/windows2000serv/maintain/security/kerberos.mspx

What's New in Windows Server 2003 Kerberos Authentication?

http://www.microsoft.com/windowsserver2003/evaluation/overview/technologies/kerberos.mspx

Kerberos Authentication in Windows Server 2003

http://technet2.microsoft.com/windowsserver/en/technologies/featured/kerberos/default.mspx

 

Well, there is a lot of strange perception on the Kerberos protocol in the market. It does not do wonders. It does authentication. Other – older - players in this field are NTLM (LM, NTLM, NTLMv2) , SSL and Digest. The current Version is Version 5, but no other Version has gained broad acceptance in the market. Kerberos is the standard authentication protocol in Microsoft environments since Windows 2000.

 

Kerberos is based on the Needham-Schroeder protocol. Just in case you want to read this up. And leverages symmetric keys. So no PKI or anything is needed. The Needham-Schroeder protocol defines three participants in the protocol exchange: a client machine, a server that the client wishes to access, and an authentication server.

The client is any machine that requests authentication; usually, it's a user's personal desktop. The server is any application server, say a mail server, which provides a service the client wishes to contact. Finally, the authentication server is a dedicated server that holds a copy of the encryption keys for all users and servers on the network (the "trusted third-party").

The first thing the client does is to request a TGT (ticket granting ticket) from the KDC (Kerberos Distribution Center). After that some negotiation goes on that is beyond the scope of this blog.

 

 

Limitations 

In the NT4 days NTLM protocol was used for authentication. Still there are a lot of scenarios and applications that rely on NTLM today. E.g. if you access a resource via IP Address \\10.10.10.10 – this forces NTLM.

You also cannot use Kerberos over the Internet because it would require a KDC/DC on the Internet to contact. This would not be available unless you placed your domain controllers on the Internet. Nobody does this because it would likely lead to the Domain being compromised. The only way to get a Kerberos login from an Internet source is to do a protocol transition from Basic or NTLM to Kerberos. If you use an external trust NTLM is used as authentication protocol, no Kerberos involved. Kerberos authentication only works if the trust type is “Forest Trust” and it does work seamlessly with other domains part of the trusted forest.

 

“Access to resources between domains that are connected by an external trust  require Pre-Windows 2000 Compatibility. Because external trusts only support NTLM authentication, queries to a directory in a different forest are always handled as anonymous access.”

http://www.microsoft.com/technet/prodtechnol/windows2000serv/technologies/activedirectory/maintain/bpguide/part1/adsecp1.mspx

Ultimately NTLM will be phased out, sooner or – probably – later.

 

Hm, is it ethical to update a Blog post? I will try to improve the entry as I learn new things in the mysterious world of IT...

 

Posted by tkarch | 3 Comments
Filed under:

Where are the good webcasts?

I am a big fan of out webcasts. It is like watching TV. And who doesn´t like being entertained. I always found it a little hard to find the good ones. Of course you can browse them by month - ;( - but what if I only want the 400 level webcasts on Vista? (Yep, they exist). Try this one http://msevents.microsoft.com/CUI/AdvancedSearch.aspx?culture=en-US. Agreed, often they are a little high-level, so in your field of expertise they might be a little shallow even at 400-level.
Posted by tkarch | 0 Comments
Filed under: ,

I think I found it - The best Scripting Editor

No, it didn´t take me one-and-a-half years to find out...

But after some trying out I think that SystemScripter v6.0 is the tool for me. www.scriptinternals.com is the page a trial version can be downloaded from. SystemScripter v6.0 trial is valid for - I think - 45 days and has all features available. Code Highlighting, Debugging, Lots of Snippets (Little pieces of extremely usable code), IntelliSense etc.. There is also a good discussion board on the page: So if you are missing a feature there is a good chance the author might implement it.

There is also a Version for PowerShell on the way: www.powershell.com. I wonder how Tobias managed to get this URL...

 

Posted by tkarch | 0 Comments

Scripting Ahead!

Check out the new „Mastering VBScript Debugging“ Webcast from Don Jones from ScriptingAnswers.com if you are interested in Scripting. Not only is it fun to watch, it also contains a wealth of useful information on Debugging. Did you know about wbemtest? A lot more Info from Don can be found at http://www.microsoft.com/events/series/donjonesscripting.mspx

 

By the way: An alternative to PrimalScript for playing around with Scripting Editors is ConTEXT: It misses some of the nice features like “Intellisense”, but it is far ahead compared to notepad.

 

You don´t need all of that introductory stuff anymore? Check out the Scripting Puzzle on Scriptcenter

http://www.microsoft.com/technet/scriptcenter/funzone/puzzle/default.mspx

 

Posted by tkarch | 0 Comments
 
Page view tracker