{"id":1546,"date":"2016-06-17T13:57:17","date_gmt":"2016-06-17T11:57:17","guid":{"rendered":"http:\/\/blog.langlitz-it.de\/?p=1546"},"modified":"2016-06-21T08:30:14","modified_gmt":"2016-06-21T06:30:14","slug":"how-to-individuelle-passwortrichtlinien-im-active-directory","status":"publish","type":"post","link":"https:\/\/www.langlitz-it.de\/?p=1546","title":{"rendered":"How to &#8211; Individuelle Passwortrichtlinien im Active Directory"},"content":{"rendered":"<p>Bis <em>Active Directory 2003<\/em> war es nur m\u00f6glich, eine einzige Passwortrichtlinie f\u00fcr alle Benutzer einer <em>Domain<\/em> einzurichten. Dies erfolgte \u00fcber die <em>Default Domain Policy<\/em>.<\/p>\n<p>Seit <em>Active Directory 2008<\/em> ist es m\u00f6glich, Passwortrichtlinien granular f\u00fcr verschiedene Benutzer zu erstellen. Allerdings ist das Ganze nicht so trivial, wie man vielleicht vermuten w\u00fcrde. Es ist nicht m\u00f6glich eine solche Richtlinie an eine <em>OU<\/em> zu verlinken. Um individuelle Passwortrichtlinien nutzen zu k\u00f6nnen, werden diese entweder direkt auf das Benutzerobjekt oder aber auf ein entsprechendes Gruppenobjekt verlinkt. Diese Gruppe muss eine globale Sicherheitsgruppe sein. Sie k\u00f6nnen dazu am besten eine \u201e<em>Schattengruppe<\/em>\u201c verwenden, die nur diesen Zweck hat.<\/p>\n<p>Im <em>Active Directory (&gt;2008)<\/em> gibt es einen <em>\u201ePassword Settings Container\u201c<\/em>, in dem die <em>\u201ePassword Settings Objects\u201c (PSO)<\/em> abgelegt werden. Den Container finden Sie unter dem <em>System<\/em> Container. Sie k\u00f6nnen sich diesen mit dem \u201e<em>Active Directory Users and Computers\u201c<\/em> anzeigen lassen, wenn Sie unter <em>View<\/em> die \u201e<em>Advanced Features\u201c<\/em> ausw\u00e4hlen.<\/p>\n<p><a href=\"http:\/\/blog.langlitz-it.de\/wp-content\/uploads\/2016\/06\/PP1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1548\" src=\"http:\/\/blog.langlitz-it.de\/wp-content\/uploads\/2016\/06\/PP1.jpg\" alt=\"PP1\" width=\"348\" height=\"605\" srcset=\"https:\/\/www.langlitz-it.de\/wp-content\/uploads\/2016\/06\/PP1.jpg 348w, https:\/\/www.langlitz-it.de\/wp-content\/uploads\/2016\/06\/PP1-173x300.jpg 173w\" sizes=\"(max-width: 348px) 100vw, 348px\" \/><\/a><\/p>\n<h3>Funktionsweise<\/h3>\n<ul>\n<li>Ein <em>PSO<\/em> besitzt ein <em>Attribut<\/em>, welches <em>msDS-PSOAppliesTo<\/em> hei\u00dft und das einen <em>Forwardlink<\/em> f\u00fcr Benutzer- und Gruppenobjekte enth\u00e4lt. In diesem <em>Attribut<\/em> k\u00f6nnen mehrere Werte <em>(Multi-valued Attribute) <\/em>enthalten sein, was bedeutet, dass das <em>PSO<\/em> auf mehrere Benutzer, bzw. Gruppen verlinkt sein kann.<\/li>\n<li>Benutzer- und Gruppenobjekte haben ein <em>Attribut<\/em>, welches <em>msDS-PSOApplied<\/em> hei\u00dft und das den entsprechenden <em>Backwardlink<\/em> auf das <em>PSO<\/em> enth\u00e4lt. Durch den <em>Backwardlink<\/em> ist es nat\u00fcrlich m\u00f6glich, auf das Objekt (Benutzer oder Gruppe) mehrere <em>PSOs<\/em> verlinken zu k\u00f6nnen. In einem solchen Fall wird das tats\u00e4chlich angewendete <em>PSO<\/em> \u00fcber <em>RSoP (Resultant Set of Policy) <\/em>errechnet.<\/li>\n<\/ul>\n<h3>RSOP<\/h3>\n<p>Wurden einem Benutzerobjekt (\u00fcber Gruppen oder direkt) mehrere <em>PSOs<\/em> zugewiesen, erfolgt die Berechnung, welches tats\u00e4chlich verwendet wird, \u00fcber folgenden Mechanismus:<\/p>\n<p>Jedes <em>PSO<\/em> hat ein <em>Attribut<\/em> mit dem Namen <em>msDS-PasswordSettingsPrecedence<\/em>, welches den ganzzahligen Wert \u201e1\u201c oder gr\u00f6\u00dfer enth\u00e4lt. Je kleiner die Zahl, desto gr\u00f6\u00dfer die Priorit\u00e4t. Sollten mehrere <em>PSOs<\/em> hier den gleichen Wert enthalten, wird das <em>PSO<\/em> mit der kleinsten <em>GUID<\/em> angewendet.<\/p>\n<p>Ermittlung des zust\u00e4ndigen <em>PSOs<\/em><\/p>\n<ul>\n<li>Ein direkt mit dem Benutzerobjekt verkn\u00fcpftes <em>PSO<\/em> hat automatisch die h\u00f6chste Priorit\u00e4t. Es \u201esollten\u201c nicht mehrere <em>PSOs<\/em> mit einem Benutzer direkt verkn\u00fcpft werden. Was genau das zur Folge hat, konnte ich leider nicht eruieren. MS selbst trifft dazu auch keine definitive Aussage \ud83d\ude09<\/li>\n<li>Wenn kein <em>PSO<\/em> mit dem Benutzer verkn\u00fcpft ist, werden alle Mitgliedschaften des Benutzerobjektes und die jeweilig mit den Gruppen verlinkten <em>PSOs<\/em> gelesen und das mit der h\u00f6chsten Priorit\u00e4t angewendet.<\/li>\n<li>Wenn weder das Benutzer-, noch ein zugeh\u00f6riges Gruppenobjekt ein <em>PSO<\/em> verkn\u00fcpft hat, gilt die <em>Default Domain Policy<\/em> zum Ermitteln der Passwortrichtlinie.<\/li>\n<\/ul>\n<h3>PSO erstellen<\/h3>\n<p>Zum Erstellen eines <em>PSOs<\/em>, gibt es verschiedene M\u00f6glichkeiten. Um den Rahmen nicht zu sprengen, gehe ich hier nur auf die M\u00f6glichkeiten per <em>Powershell<\/em> und <em>ADSIEdit<\/em> ein.<\/p>\n<h4>Powershell<\/h4>\n<p>Um die ben\u00f6tigten <em>CMDLets<\/em> nutzen zu k\u00f6nnen, muss \u00fcber <em>Import-Module ActiveDirectory<\/em> das <em>AD Modul<\/em> in die <em>Powershell<\/em> geladen werden.<\/p>\n<p>\u00dcber das CMDLet <em>New-ADFineGrainedPasswordPolicy<\/em> k\u00f6nnen Sie ein neues <em>PSO<\/em> erstellen. <em>\u00dcber Set-ADFineGrainedPasswordPolicy<\/em> und \u00fcber <em>Remove-ADFineGrainedPasswordPolicy<\/em> kann das <em>PSO<\/em> ver\u00e4ndert, bzw. gel\u00f6scht werden.<\/p>\n<p><em>New-ADFineGrainedPasswordPolicy pw_pol1 -Precedence 10 -ComplexityEnabled $TRUE -LockoutDuration 0.0:30:00 -LockoutThreshold 5 -MaxPasswordAge 90.00:00:00 -MinPasswordLength 7 -PasswordHistoryCount 5<\/em><\/p>\n<p>Damit ist das <em>PSO<\/em> erstellt. Nun verlinken Sie es noch an einen User oder eine Gruppe.<\/p>\n<p><em>Get-ADUser marcol_a |Add-ADFineGrainedPasswordPolicySubject pw_pol1<\/em><\/p>\n<p>Pr\u00fcfen Sie nun das <em>PSO<\/em>.<\/p>\n<p><a href=\"http:\/\/blog.langlitz-it.de\/wp-content\/uploads\/2016\/06\/PP2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1549\" src=\"http:\/\/blog.langlitz-it.de\/wp-content\/uploads\/2016\/06\/PP2.jpg\" alt=\"PP2\" width=\"963\" height=\"256\" srcset=\"https:\/\/www.langlitz-it.de\/wp-content\/uploads\/2016\/06\/PP2.jpg 963w, https:\/\/www.langlitz-it.de\/wp-content\/uploads\/2016\/06\/PP2-300x80.jpg 300w, https:\/\/www.langlitz-it.de\/wp-content\/uploads\/2016\/06\/PP2-768x204.jpg 768w\" sizes=\"(max-width: 963px) 100vw, 963px\" \/><\/a><\/p>\n<h4>ADSIEdit<\/h4>\n<p>W\u00e4hlen Sie unter dem Container <em>CN=Password Settings Container \u2013&gt; New \u2013&gt; Object<\/em>.<\/p>\n<p><a href=\"http:\/\/blog.langlitz-it.de\/wp-content\/uploads\/2016\/06\/PP3.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1550\" src=\"http:\/\/blog.langlitz-it.de\/wp-content\/uploads\/2016\/06\/PP3.jpg\" alt=\"PP3\" width=\"429\" height=\"267\" srcset=\"https:\/\/www.langlitz-it.de\/wp-content\/uploads\/2016\/06\/PP3.jpg 429w, https:\/\/www.langlitz-it.de\/wp-content\/uploads\/2016\/06\/PP3-300x187.jpg 300w\" sizes=\"(max-width: 429px) 100vw, 429px\" \/><\/a><\/p>\n<p>Sie erhalten damit automatisch die <em>Class msDS-PasswordSettings<\/em> zur Auswahl. Vergeben Sie einen Namen und klicken Sie sich durch die Einstellungen.<\/p>\n<p>Nachdem Sie den <em>Wizard<\/em> abgeschlossen haben, existieren im <em>Container<\/em> nun zwei Objekte. W\u00e4hlen Sie die Properties des neu erstellten aus und weisen Sie noch einen Benutzer zu.<\/p>\n<p><a href=\"http:\/\/blog.langlitz-it.de\/wp-content\/uploads\/2016\/06\/PP4.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-1551\" src=\"http:\/\/blog.langlitz-it.de\/wp-content\/uploads\/2016\/06\/PP4-1024x529.jpg\" alt=\"PP4\" width=\"1024\" height=\"529\" srcset=\"https:\/\/www.langlitz-it.de\/wp-content\/uploads\/2016\/06\/PP4-1024x529.jpg 1024w, https:\/\/www.langlitz-it.de\/wp-content\/uploads\/2016\/06\/PP4-300x155.jpg 300w, https:\/\/www.langlitz-it.de\/wp-content\/uploads\/2016\/06\/PP4-768x397.jpg 768w, https:\/\/www.langlitz-it.de\/wp-content\/uploads\/2016\/06\/PP4.jpg 1026w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/p>\n<h3>Priorit\u00e4t RSOP<\/h3>\n<p>Dem Benutzerobjekt <em>Marcol_a<\/em> sind nun zwei <em>PSOs<\/em> zugeordnet. Durch die unterschiedlichen Priorit\u00e4ten sollte nun das <em>PSO pw_pol1<\/em> angewendet werden. Pr\u00fcfen k\u00f6nnen Sie dies in den Eigenschaften des Benutzerobjektes. Es sind im <em>Attribut ms-DSPSOApplied<\/em> zwar beide <em>PSO<\/em> verlinkt, Sie sehen allerdings im Attribut <em>ms-DSResultantPSO,<\/em> dass nur <em>pw_pol1<\/em> tats\u00e4chlich angewendet wird.<\/p>\n<p><a href=\"http:\/\/blog.langlitz-it.de\/wp-content\/uploads\/2016\/06\/PP5.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1552\" src=\"http:\/\/blog.langlitz-it.de\/wp-content\/uploads\/2016\/06\/PP5.jpg\" alt=\"PP5\" width=\"766\" height=\"447\" srcset=\"https:\/\/www.langlitz-it.de\/wp-content\/uploads\/2016\/06\/PP5.jpg 766w, https:\/\/www.langlitz-it.de\/wp-content\/uploads\/2016\/06\/PP5-300x175.jpg 300w\" sizes=\"(max-width: 766px) 100vw, 766px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bis Active Directory 2003 war es nur m\u00f6glich, eine einzige Passwortrichtlinie f\u00fcr alle Benutzer einer Domain einzurichten. Dies erfolgte \u00fcber die Default Domain Policy. Seit Active Directory 2008 ist es m\u00f6glich, Passwortrichtlinien granular f\u00fcr verschiedene Benutzer zu erstellen. Allerdings ist &hellip; <a href=\"https:\/\/www.langlitz-it.de\/?p=1546\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[551,116,618,624,619,621,620,617,615,616,622,623],"_links":{"self":[{"href":"https:\/\/www.langlitz-it.de\/index.php?rest_route=\/wp\/v2\/posts\/1546"}],"collection":[{"href":"https:\/\/www.langlitz-it.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.langlitz-it.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.langlitz-it.de\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.langlitz-it.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1546"}],"version-history":[{"count":10,"href":"https:\/\/www.langlitz-it.de\/index.php?rest_route=\/wp\/v2\/posts\/1546\/revisions"}],"predecessor-version":[{"id":1561,"href":"https:\/\/www.langlitz-it.de\/index.php?rest_route=\/wp\/v2\/posts\/1546\/revisions\/1561"}],"wp:attachment":[{"href":"https:\/\/www.langlitz-it.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1546"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.langlitz-it.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1546"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.langlitz-it.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1546"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}