MS14-025: Luka w preferencjach zasady grupy może pozwolić na podniesienie uprawnień: 13 maja 2014 r.

WAŻNE: Ten artykuł został przetłumaczony przy użyciu oprogramowania firmy Microsoft do tłumaczenia maszynowego i może być poprawiony przy użyciu technologii Community Translation Framework (CTF). Firma Microsoft udostępnia artykuły tłumaczone maszynowo, poprawione przez społeczność, a także tłumaczone przez tłumaczy profesjonalnych, aby zapewnić dostęp do wszystkich artykułów w bazie wiedzy w wielu językach. Artykuły tłumaczone maszynowo i poprawione mogą zawierać błędy pisowni, składniowe i gramatyczne. Firma Microsoft nie ponosi odpowiedzialności za żadne nieścisłości, błędy ani szkody spowodowane przez niepoprawne tłumaczenia zawartości ani przez korzystanie z niej przez klientów. Więcej o strukturze CTF: http://support.microsoft.com/gp/machine-translation-corrections/pl.

Anglojęzyczna wersja tego artykułu to: 2962486
WPROWADZENIE
Firma Microsoft wydała biuletyn zabezpieczeń MS14-025. Aby dowiedzieć się więcej na temat niniejszego biuletynu zabezpieczeń:

Jak uzyskać pomoc i obsługę techniczną dla tej aktualizacji zabezpieczeń

Pomoc dotycząca instalowania aktualizacji:Wsparcie dla usługi Microsoft Update

Rozwiązania zabezpieczeń dla zawodowych informatyków:Problemów z aktualizacjami zabezpieczeń i pomocy technicznej

Chronić swój komputer systemu Windows przed wirusami i złośliwym oprogramowaniem:Rozwiązanie i Centrum zabezpieczeń

Lokalne wsparcie według kraju:Obsługa międzynarodowa

Więcej informacji

Więcej informacji na temat tej aktualizacji zabezpieczeń oraz znanych problemów

Poniższe artykuły zawierają więcej informacji na temat tej aktualizacji zabezpieczeń odnosi się ona do wersji poszczególnych produktów. Te artykuły mogą zawierać informacje o znanych problemach. Jeśli tak jest, znany problem jest wyświetlana w obszarze każdego łącza do artykułu.
  • 2928120 MS14-025: Opis aktualizacji zabezpieczeń dla systemu Windows Remote Server Administration Tools dla systemów mających aktualizacji 2919355 zainstalowane: 13 maja 2014 r.
  • 2961899 MS14-025: Opis aktualizacji zabezpieczeń dla systemu Windows Remote Server Administration Tools dla systemów, które nie mają aktualizacji 2919355 zainstalowane: 13 maja 2014 r.
Zasady grupy preferencje

Omówienie

Niektóre zasady grupy preferencje można przechowywać hasła. Ta funkcja został usunięty, ponieważ niezabezpieczonych przechowywania haseł. W tym artykule opisano zmiany w interfejsie użytkownika i wszelkie dostępne rozwiązania problemu.

Następujące zasady grupy preferencje nie pozwala już nazwy użytkowników i hasła, które mają być zapisane:
  • Mapowania dysku
  • Użytkownicy i grupy lokalne
  • Zaplanowane zadania
  • Usługi
  • Źródła danych
Wpłynie to na zachowanie istniejących obiektów zasady grupy (GPO) w środowisku, w którym polegać na hasła, które są zawarte w tych preferencji. Zapobiegnie to również tworzenie nowych preferencji zasady grupy za pomocą tej funkcji.

Do mapowania dysków lokalnych użytkowników i grup oraz usługi może być niemożliwe do osiągnięcia celów podobnych za pomocą innych, bardziej bezpieczne funkcji w systemie Windows.

Zaplanowane zadania i źródeł danych będzie on mógł osiągnąć te same cele, które były dostępne za pomocą funkcji niezabezpieczone zasady grupy preferencje haseł.
Scenariusze
Następujące zasady grupy preferencje dotyczy ta zmiana. Każdy preferencji jest pokryta przez chwilę, a następnie w bardziej szczegółowo. Dodatkowo obejścia są, pod warunkiem że umożliwiają wykonywanie tych samych zadań.
Preferencja dotyczyStosuje się do użytkownikaOdnosi się do komputera
Zarządzania lokalnymi użytkownikamiTakTak
Mapowane dyskiTak
Nie
Usługi
Nie
Tak
Zaplanowane zadania (nowsze)TakTak
Zaplanowane zadania (niskiego poziomu)TakTak
Zadań natychmiastowych (nowsze)TakTak
Zadań natychmiastowych (niskiego poziomu)TakTak
Źródła danychTakTak

Podsumowanie zmian

  • Dane w polach hasło w preferencjach dotkniętych wszystkie są wyłączone. Administratorzy nie może utworzyć nowych preferencji za pomocą tych pól hasło.
  • Pole Nazwa użytkownika jest wyłączona w niektórych preferencji.
  • Nie można zaktualizować istniejące ustawienia, które zawierają hasła. Tylko mogą być usunięte lub wyłączone, jako właściwe dla określonych preferencji.
  • Zachowanie dla akcji Delete i Wyłącz nie zostały zmienione dla preferencji.
  • Gdy administrator otwiera żadnych preferencji, który zawiera atrybut CPassword, administrator otrzymuje następujące okno dialogowe Ostrzeżenie do poinformowania go z ostatnich oczekiwany. Próby, aby zapisać zmiany w nowej lub istniejącej preferencji, które wymagają atrybutu CPassword wyzwoli samego okna dialogowego. Tylko Usuń i Wyłącz działania nie będzie powodować okien dialogowych ostrzeżeń.

Ostrzeżenie o zabezpieczeniach CPassword



Scenariusz 1: Zarządzania lokalnymi użytkownikami

Preferencji lokalne zarządzanie użytkownikami jest często używany do tworzenia lokalnych administratorów, którzy mają znane hasło na komputerze. Ta funkcja nie jest bezpieczne ze względu na sposób, że ustawienia zasady grupy są przechowywane hasła. W związku z tym ta funkcja nie jest już dostępny. Dotyczą następujące preferencje:
  • Konfiguracja komputera-> ustawienia Panelu sterowania-> lokalnych użytkowników i grup nowy->-> użytkownika lokalnego
  • Konfiguracja użytkownika-> ustawienia Panelu sterowania-> lokalnych użytkowników i grup nowy->-> użytkownika lokalnego

Istotne zmiany

Akcja: utworzyć lub zamienić
  • Nazwa użytkownika, hasłoi Potwierdź hasło pola są wyłączone.
  • Pojawi się okno dialogowe Ostrzeżenie, gdy administrator otwiera lub próbuje zapisać żadnych zmian istniejącej preferencji, który zawiera hasło.


Użytkownik lokalny - utworzyć lub zamienić

Akcja: uaktualnianie
  • W polach hasło i Potwierdź hasło są wyłączone.
  • Boxappears okno dialogowe Ostrzeżenie, gdy administrator otwiera lub próbuje zapisać żadnych zmian istniejącej preferencji, który zawiera hasło.


Lokalnym użytkownika - aktualizacja

Akcja: Usuń
  • Żadnych zmian w zachowaniu

Obejścia problemu

Dla tych, którzy wcześniej opierała się na zasady grupy preferencje dla ustawienie hasła administratora lokalnego poniższy skrypt jest dostępna jako bezpieczne alternatywne w stosunku do CPassword. Skopiować i zapisać zawartość do nowego pliku środowiska Windows PowerShell, a następnie uruchom skrypt, jak wskazano w jego. W sekcji z PRZYKŁADEM.

Firma Microsoft podaje przykłady programowania wyłącznie, bez jakichkolwiek gwarancji wyrażonych wprost lub domyślnie. To obejmuje, ale nie jest ograniczona, ustawowej rękojmi co do przydatności handlowej lub przydatności do określonego celu. W tym artykule założono, że czytelnik zna demonstrowany język programowania oraz narzędzia używane do tworzenia i debugowania procedur. Wykwalifikowani pracownicy pomocy technicznej firmy Microsoft mogą pomóc w wyjaśnieniu, jak działa określona procedura. Nie będą jednak modyfikować tych przykładów ani dodawać żadnych funkcji i konstruować nowych procedur w celu zaspokojenia określonych potrzeb.

 function Invoke-PasswordRoll{<#.SYNOPSISThis script can be used to set the local account passwords on remote machines to random passwords. The username/password/server combination will be saved in a CSV file.The account passwords stored in the CSV file can be encrypted using a password of the administrators choosing to ensure clear-text account passwords aren't written to disk.The encrypted passwords can be decrypted using another function in this file: ConvertTo-CleartextPasswordFunction: Invoke-PasswordRollAuthor: MicrosoftVersion: 1.0.DESCRIPTIONThis script can be used to set the local account passwords on remote machines to random passwords. The username/password/server combination will be saved in a CSV file.The account passwords stored in the CSV file can be encrypted using a password of the administrators choosing to ensure clear-text account passwords aren't written to disk.The encrypted passwords can be decrypted using another function in this file: ConvertTo-CleartextPassword.PARAMETER ComputerNameAn array of computers to run the script against using PowerShell remoting..PARAMETER LocalAccountsAn array of local accounts whose password should be changed..PARAMETER TsvFileNameThe file to output the username/password/server combinations to..PARAMETER EncryptionKeyA password to encrypt the TSV file with. Uses AES encryption. Only the passwords stored in the TSV file will be encrypted, the username and servername will be clear-text..PARAMETER PasswordLengthThe length of the passwords which will be randomly generated for local accounts..PARAMETER NoEncryptionDo not encrypt the account passwords stored in the TSV file. This will result in clear-text passwords being written to disk.	.EXAMPLE. .\Invoke-PasswordRoll.ps1    #Loads the functions in this script fileInvoke-PasswordRoll -ComputerName (Get-Content computerlist.txt) -LocalAccounts @("administrator","CustomLocalAdmin") -TsvFileName "LocalAdminCredentials.tsv" -EncryptionKey "Password1"Connects to all the computers stored in the file "computerlist.txt". If the local account "administrator" and/or "CustomLocalAdmin" are present on the system, their password is changedto a randomly generated password of length 20 (the default). The username/password/server combinations are stored in LocalAdminCredentials.tsv, and the account passwords are AES encrypted using the password "Password1"..EXAMPLE. .\Invoke-PasswordRoll.ps1    #Loads the functions in this script fileInvoke-PasswordRoll -ComputerName (Get-Content computerlist.txt) -LocalAccounts @("administrator") -TsvFileName "LocalAdminCredentials.tsv" -NoEncryption -PasswordLength 40Connects to all the computers stored in the file "computerlist.txt". If the local account "administrator" is present on the system, its password is changed to a random generatedpassword of length 40. The username/password/server combinations are stored in LocalAdminCredentials.tsv unencrypted..NOTESRequirements: -PowerShellv2 or above must be installed-PowerShell remoting must be enabled on all systems the script will be run againstScript behavior:-If a local account is present on the system, but not specified in the LocalAccounts parameter, the script will write a warning to the screen to alert you to the presence of this local account. The script will continue running when this happens.-If a local account is specified in the LocalAccounts parameter, but the account does not exist on the computer, nothing will happen (an account will NOT be created).-The function ConvertTo-CleartextPassword, contained in this file, can be used to decrypt passwords that are stored encrypted in the TSV file.-If a server specified in ComputerName cannot be connected to, PowerShell will output an error message.-Microsoft advises companies to regularly roll all local and domain account passwords.#>    [CmdletBinding(DefaultParameterSetName="Encryption")]    Param(        [Parameter(Mandatory=$true)]        [String[]]        $ComputerName,        [Parameter(Mandatory=$true)]        [String[]]        $LocalAccounts,        [Parameter(Mandatory=$true)]        [String]        $TsvFileName,        [Parameter(ParameterSetName="Encryption", Mandatory=$true)]        [String]        $EncryptionKey,        [Parameter()]        [ValidateRange(20,120)]        [Int]        $PasswordLength = 20,        [Parameter(ParameterSetName="NoEncryption", Mandatory=$true)]        [Switch]        $NoEncryption    )    #Load any needed .net classes    Add-Type -AssemblyName "System.Web" -ErrorAction Stop    #This is the scriptblock that will be executed on every computer specified in ComputerName    $RemoteRollScript = {        Param(            [Parameter(Mandatory=$true, Position=1)]            [String[]]            $Passwords,            [Parameter(Mandatory=$true, Position=2)]            [String[]]            $LocalAccounts,            #This is here so I can record what the server name that the script connected to was, sometimes the DNS records get messed up, it can be nice to have this.            [Parameter(Mandatory=$true, Position=3)]            [String]            $TargettedServerName        )        $LocalUsers = Get-WmiObject Win32_UserAccount -Filter "LocalAccount=true" | Foreach {$_.Name}        #Check if the computer has any local user accounts whose passwords are not going to be rolled by this script        foreach ($User in $LocalUsers)        {            if ($LocalAccounts -inotcontains $User)            {                Write-Warning "Server: '$($TargettedServerName)' has a local account '$($User)' whos password is NOT being changed by this script"            }        }        #For every local account specified that exists on this server, change the password        $PasswordIndex = 0        foreach ($LocalAdmin in $LocalAccounts)        {            $Password = $Passwords[$PasswordIndex]            if ($LocalUsers -icontains $LocalAdmin)            {                try                {                    $objUser = [ADSI]"WinNT://localhost/$($LocalAdmin), user"                    $objUser.psbase.Invoke("SetPassword", $Password)                    $Properties = @{                        TargettedServerName = $TargettedServerName                        Username =  $LocalAdmin                        Password = $Password                        RealServerName = $env:computername                    }                    $ReturnData = New-Object PSObject -Property $Properties                    Write-Output $ReturnData                }                catch                {                    Write-Error "Error changing password for user:$($LocalAdmin) on server:$($TargettedServerName)"                }            }            $PasswordIndex++        }    }    #Generate the password on the client running this script, not on the remote machine. System.Web.Security isn't available in the .NET Client profile. Making this call    #    on the client running the script ensures only 1 computer needs the full .NET runtime installed (as opposed to every system having the password rolled).    function Create-RandomPassword    {        Param(            [Parameter(Mandatory=$true)]            [ValidateRange(20,120)]            [Int]            $PasswordLength        )        $Password = [System.Web.Security.Membership]::GeneratePassword($PasswordLength, $PasswordLength / 4)        #This should never fail, but I'm putting a sanity check here anyways        if ($Password.Length -ne $PasswordLength)        {            throw new Exception("Password returned by GeneratePassword is not the same length as required. Required length: $($PasswordLength). Generated length: $($Password.Length)")        }        return $Password    }    #Main functionality - Generate a password and remote in to machines to change the password of local accounts specified    if ($PsCmdlet.ParameterSetName -ieq "Encryption")    {        try        {            $Sha256 = new-object System.Security.Cryptography.SHA256CryptoServiceProvider            $SecureStringKey = $Sha256.ComputeHash([System.Text.UnicodeEncoding]::Unicode.GetBytes($EncryptionKey))        }        catch        {            Write-Error "Error creating TSV encryption key" -ErrorAction Stop        }    }    foreach ($Computer in $ComputerName)    {        #Need to generate 1 password for each account that could be changed        $Passwords = @()        for ($i = 0; $i -lt $LocalAccounts.Length; $i++)        {            $Passwords += Create-RandomPassword -PasswordLength $PasswordLength        }        Write-Output "Connecting to server '$($Computer)' to roll specified local admin passwords"        $Result = Invoke-Command -ScriptBlock $RemoteRollScript -ArgumentList @($Passwords, $LocalAccounts, $Computer) -ComputerName $Computer        #If encryption is being used, encrypt the password with the user supplied key prior to writing to disk        if ($Result -ne $null)        {            if ($PsCmdlet.ParameterSetName -ieq "NoEncryption")            {                $Result | Select-Object Username,Password,TargettedServerName,RealServerName | Export-Csv -Append -Path $TsvFileName -NoTypeInformation            }            else            {                #Filters out $null entries returned                $Result = $Result | Select-Object Username,Password,TargettedServerName,RealServerName                foreach ($Record in $Result)                {                    $PasswordSecureString = ConvertTo-SecureString -AsPlainText -Force -String ($Record.Password)                    $Record | Add-Member -MemberType NoteProperty -Name EncryptedPassword -Value (ConvertFrom-SecureString -Key $SecureStringKey -SecureString $PasswordSecureString)                    $Record.PSObject.Properties.Remove("Password")                    $Record | Select-Object Username,EncryptedPassword,TargettedServerName,RealServerName | Export-Csv -Append -Path $TsvFileName -NoTypeInformation                }            }        }    }}function ConvertTo-CleartextPassword{<#.SYNOPSISThis function can be used to decrypt passwords that were stored encrypted by the function Invoke-PasswordRoll.Function: ConvertTo-CleartextPasswordAuthor: MicrosoftVersion: 1.0.DESCRIPTIONThis function can be used to decrypt passwords that were stored encrypted by the function Invoke-PasswordRoll..PARAMETER EncryptedPasswordThe encrypted password that was stored in a TSV file..PARAMETER EncryptionKeyThe password used to do the encryption..EXAMPLE. .\Invoke-PasswordRoll.ps1    #Loads the functions in this script fileConvertTo-CleartextPassword -EncryptionKey "Password1" -EncryptedPassword 76492d1116743f0423413b16050a5345MgB8AGcAZgBaAHUAaQBwADAAQgB2AGgAcABNADMASwBaAFoAQQBzADEAeABjAEEAPQA9AHwAZgBiAGYAMAA1ADYANgA2ADEANwBkADQAZgAwADMANABjAGUAZQAxAGIAMABiADkANgBiADkAMAA4ADcANwBhADMAYQA3AGYAOABkADcAMQA5ADQAMwBmAGYANQBhADEAYQBjADcANABkADIANgBhADUANwBlADgAMAAyADQANgA1ADIAOQA0AGMAZQA0ADEAMwAzADcANQAyADUANAAzADYAMAA1AGEANgAzADEAMQA5ADAAYwBmADQAZAA2AGQA"Decrypts the encrypted password which was stored in the TSV file.#>    Param(        [Parameter(Mandatory=$true)]        [String]        $EncryptedPassword,        [Parameter(Mandatory=$true)]        [String]        $EncryptionKey    )    $Sha256 = new-object System.Security.Cryptography.SHA256CryptoServiceProvider    $SecureStringKey = $Sha256.ComputeHash([System.Text.UnicodeEncoding]::Unicode.GetBytes($EncryptionKey))    [SecureString]$SecureStringPassword = ConvertTo-SecureString -String $EncryptedPassword -Key $SecureStringKey    Write-Output ([System.Runtime.InteropServices.Marshal]::PtrToStringAuto([System.Runtime.InteropServices.Marshal]::SecureStringToCoTaskMemUnicode($SecureStringPassword)))}
Administratorzy mogą dodawać lokalne konta administratora do komputerów, tworząc grupę usługi Active Directory i dodanie go do lokalnej grupy Administratorzy za pomocą preferencji zasady grupy-> grupy lokalnej. Ta akcja nie buforuj poświadczeń. Okno dialogowe podobny do następującego. To rozwiązanie wymaga, że połączenia Usługi domenowe w usłudze Active Directory, gdy użytkownik jest zalogowany przy użyciu tych poświadczeń onby.


Grupa lokalna - obejście problemu


Scenariusz 2: Mapowane dyski

Administratorzy używają mapowania dysku do przydzielić lokalizacje sieciowe dla użytkowników. Aby mieć pewność, że autoryzowany dostęp do dysku służy funkcja ochrony hasłem. Dotyczą następujące preferencje:
  • Konfiguracja użytkownika-> ustawienia systemu Windows-> mapowań dysku nowy->-> mapowanego dysku

Istotne zmiany

Akcja: Tworzenie, aktualizacja, lub Zamień
  • Nazwa użytkownika, hasłoi Potwierdź hasło pola są wyłączone.

Zamapowanego dysku - Utwórz/Aktualizuj/Zamień

Akcja: Usuń
  • Żadnych zmian w zachowaniu

Obejścia problemu

Zamiast tego metodę hasła dla uwierzytelniania, można użyć Eksploratora Windows do zarządzania uprawnienia udziału i przydzielić uprawnień użytkownikom. Można użyć obiektów usługi Active Directory do kontroli uprawnień do folderu.


Scenariusz 3: usługi

Preferencji usługi można użyć do zmiany właściwości usługi w taki sposób, że są uruchamiane w kontekście innych niż ich oryginalnego kontekstu zabezpieczeń. Dotyczą następujące preferencje:
  • Konfiguracja komputera-> ustawienia Panelu sterowania-> Services-> nowe-> usługi

Istotne zmiany

Uruchamiania: Nie zmian, automatyczny lub ręczny
  • W polach hasło i Potwierdź hasło są wyłączone.
  • Administrator może użyć tylko wbudowanych kont.

Serwis - bez zmian/automatyczny/r

Uruchamianie: wyłączanie
  • Żadnych zmian w zachowaniu
Nowe okno dialogowe
  • Administratorzy, którzy próbują użyć non wbudowany użytkowników dla tego konta "otrzymują następujące ostrzeżenie:

Ostrzeżenie przed użytkowników innych niż wbudowane


Obejścia problemu

Usługi mogą nadal działać jako lokalne konto systemowe. Uprawnienia usługi może się zmienić w sposób opisany w następującym artykule z bazy wiedzy Microsoft Knowledge Base:
256345 Jak ustawienia skonfigurować zasady grupy do ustawiania zabezpieczeń dla usług systemowych

Uwaga
Jeśli nie występuje usługę, którą chcesz skonfigurować, należy skonfigurować ustawienia na komputerze, na którym została uruchomiona usługa.


Scenariusz 4: Natychmiastowych i zaplanowanych zadań (nowsze)

Są one używane do uruchamiania zadań zaplanowanych w kontekście zabezpieczeń. Możliwość przechowywania poświadczeń dla zaplanowanych zadań był uruchamiany jako dowolnego użytkownika, gdy użytkownik nie jest zalogowany nie jest już dostępny. Następujące preferencje są zagrożone. (Należy pamiętać, że na niektórych platformach "co najmniej Windows 7" zastępuje się datą "Windows Vista i nowsze.")
  • Konfiguracja komputera-> ustawienia Panelu sterowania-> zaplanowane zadania-> New-> zaplanowane zadanie (co najmniej Windows 7)
  • Konfiguracja komputera-> ustawienia Panelu sterowania-> zaplanowane zadania-> New-> Zadanie natychmiastowe (co najmniej Windows 7)
  • Konfiguracja użytkownika-> ustawienia Panelu sterowania-> zaplanowane zadania-> New-> zaplanowane zadanie (co najmniej Windows 7)
  • Konfiguracja użytkownika-> ustawienia Panelu sterowania-> zaplanowane zadania-> New-> Zadanie natychmiastowe (co najmniej Windows 7)

Istotne zmiany

Akcja: tworzenie, aktualizacja, lub zastąpić
  • Po wybraniu opcji Uruchom, czy użytkownik jest zalogowany , okno dialogowe już monituje o poświadczenia administratora.
  • Pole wyboru nie przechowuj hasła jest wyłączona. Domyślnie pole wyboru jest zaznaczone również.

Nowe zaplanowane lub natychmiastowego zadania (nowsze)

Akcja: usuwanie

Żadnych zmian w zachowaniu

Obejścia problemu

Dla "zaplanowane zadanie (co najmniej Windows 7)" i "Zadanie natychmiastowe (co najmniej Windows 7)" zadań, Administratorzy mogą używać określonych kont użytkowników kiedy dany użytkownik jest zalogowany. Lub tylko mogą mieć dostęp do zasobów lokalnych co dany użytkownik. Te tasksstillcan uruchamiane w kontekście usługi lokalnej.



Scenariusz 5: Natychmiastowych i zaplanowanych zadań (niskiego poziomu)

To jest wersja niskiego poziomu preferencji używane do uruchamiania zadań zaplanowanych w kontekście zabezpieczeń. Możliwość przechowywania poświadczeń dla zaplanowanych zadań był uruchamiany jako dowolnego użytkownika, gdy użytkownik nie jest zalogowany nie jest już dostępny. Dotyczą następujące preferencje:
  • Konfiguracja komputera-> ustawienia Panelu sterowania-> zaplanowanych zadań Nowy->-> zaplanowanego zadania
  • Konfiguracja komputera-> ustawienia Panelu sterowania-> zaplanowanych zadań Nowy->-> Zadanie natychmiastowe (Windows XP)
  • Konfiguracja użytkownika-> ustawienia Panelu sterowania-> zaplanowanych zadań Nowy->-> zaplanowanego zadania
  • Konfiguracja użytkownika-> ustawienia Panelu sterowania-> zaplanowanych zadań Nowy->-> Zadanie natychmiastowe (Windows XP)

Istotne zmiany

Akcja: Tworzenie, aktualizacja, lub Zamień
  • Pole wyboru Uruchom jako jest wyłączona. W związku z tym Nazwę użytkownika, hasłoi Potwierdź hasło pól są wszystkie wyłączone.

Nowe zadanie - Tworzenie/aktualizacja/Zamień (niskiego poziomu)

Akcja: usuwanie

Żadnych zmian w zachowaniu

Obejścia problemu

"Zaplanowanego zadania" i "Zadanie natychmiastowe (Windows XP)" elementy zaplanowane zadania będą uruchamiane przy użyciu uprawnień, które są aktualnie dostępne dla lokalnej usługi.


Scenariusz 6: Źródła danych

Preferencji źródła danych służy do kojarzenia źródła danych z komputera lub użytkownika. Ta funkcja nie są już przechowywane poświadczenia, aby umożliwić dostęp do źródeł danych, które są chronione hasłem. Dotyczą następujące preferencje:
  • Konfiguracja komputera-> ustawienia Panelu sterowania-> źródła danych
  • Konfiguracja użytkownika-> ustawienia Panelu sterowania-> źródła danych

Istotne zmiany

Akcja: tworzenie, aktualizacja, lub zastąpić
  • Nazwa użytkownika, hasłoi Potwierdź hasło pola są wyłączone:

Źródła danych - Utwórz/Aktualizuj/Zamień

Akcja: Usuń
  • Żadnych zmian w zachowaniu

Obejścia problemu

Rozwiązania nie są dostępne. Preferencja nie są już przechowywane poświadczenia, aby zezwolić na dostęp do źródeł danych, które są chronione hasłem.


Oczekiwany CPassword

Usuwanie CPassword

Skrypt programu Windows PowerShell, które jest zawarte w tym artykule bazy wiedzy Microsoft Knowledge Base wykrywa, czy domeny zawiera dowolne preferencje zasady grupy, której mógłby używać CPassword. Jeśli CPassword XML zostanie wykryta w danym preferencji, jest wyświetlany na tej liście.


Wykrywanie preferencje CPassword

Ten skrypt musi być uruchamiane w katalogu lokalnym na kontrolerze domeny, który chcesz oczyścić. Skopiować i zapisać zawartość do nowego pliku środowiska Windows PowerShell, ustalić dysku systemowego, a następnie uruchom skrypt jak wskazano w następujący sposób użycia.

 <#.SYNOPSISGroup Policy objects in your domain can have preferences that store passwords for different tasks, such as the following:    1. Data Sources    2. Drive Maps    3. Local Users    4. Scheduled Tasks (both XP and up-level)    5. ServicesThese passwords are stored in SYSVOL as part of GP preferences and are not secure because of weak encryption (32-byte AES). Therefore, we recommend that you not deploy such preferences in your domain environment and remove any such existing preferences. This script is to help administrator find GP Preferences in their domain's SYSVOL that contains passwords. .DESCRIPTIONThis script should be run on a DC or a client computer that is installed with RSAT to print all the preferences that contain password with information such as GPO, Preference Name, GPEdit path under which this preference is defined.After you have a list of affected preferences, these preferences can be removed by using the editor in the Group Policy Management Console. .SYNTAXGet-SettingsWithCPassword.ps1 [-Path  <String>] .EXAMPLEGet-SettingsWithCPassword.ps1 -Path %WinDir%\SYSVOL\domainGet-SettingsWithCPassword.ps1 -Path  <GPO Backup Folder Path> .NOTESIf Group Policy PS module is not found the output will contain GPO GUIDs instead of GPO names. You can either run this script on a domain controller or rerun the script on the client after you have installed RSAT and enabled the Group Policy module.Or, you can use GPO GUIDs to obtain GPO names by using the Get-GPO cmdlet. .LINKhttp://go.microsoft.com/fwlink/?LinkID=390507 #>#----------------------------------------------------------------------------------------------------------------# Input parameters#--------------------------------------------------------------------------------------------------------------param(    [string]$Path = $(throw "-Path is required.") # Directory path where GPPs are located. )#---------------------------------------------------------------------------------------------------------------$isGPModuleAvailable = $false$impactedPrefs = { "Groups.xml", "ScheduledTasks.xml","Services.xml", "DataSources.xml", "Drives.xml" }#----------------------------------------------------------------------------------------------------------------# import Group olicy module if available#----------------------------------------------------------------------------------------------------------------if (-not (Get-Module -name "GroupPolicy")){   if (Get-Module -ListAvailable |          Where-Object { $_.Name -ieq "GroupPolicy" })    {        $isGPModuleAvailable = $true        Import-Module "GroupPolicy"    }    else    {        Write-Warning "Unable to import Group Policy module for PowerShell. Therefore, GPO guids will be reported.                        Run this script on DC to obtain the GPO names, or use the Get-GPO cmdlet (on DC) to obtain the GPO name from GPO guid."    }}else{    $isGPModuleAvailable = $true}Function Enum-SettingsWithCpassword ( [string]$sysvolLocation ){    # GPMC tree paths    $commonPath = " -> Preferences -> Control Panel Settings -> "    $driveMapPath = " -> Preferences -> Windows Settings -> "        # Recursively obtain all the xml files within the SYVOL location    $impactedXmls = Get-ChildItem $sysvolLocation -Recurse -Filter "*.xml" | Where-Object { $impactedPrefs -cmatch $_.Name }            # Each xml file contains multiple preferences. Iterate through each preference to check whether it    # contains cpassword attribute and display it.    foreach ( $file in $impactedXmls )    {        $fileFullPath = $file.FullName                # Set GPP category. If file is located under Machine folder in SYSVOL        # the setting is defined under computer configuration otherwise the         # setting is a to user configuration          if ( $fileFullPath.Contains("Machine") )        {            $category = "Computer Configuration"        }        elseif ( $fileFullPath.Contains("User") )        {            $category = "User Configuration"        }        else        {            $category = "Unknown"        }        # Obtain file content as XML        try        {            [xml]$xmlFile = get-content $fileFullPath -ErrorAction Continue        }        catch [Exception]{            Write-Host $_.Exception.Message        }        if ($xmlFile -eq $null)        {            continue        }        switch ( $file.BaseName )        {            Groups             {                 $gppWithCpassword = $xmlFile.SelectNodes("Groups/User") | where-Object { [String]::IsNullOrEmpty($_.Properties.cpassword) -eq $false }                $preferenceType = "Local Users"            }            ScheduledTasks            {                $gppWithCpassword  = $xmlFile.SelectNodes("ScheduledTasks/*") | where-Object { [String]::IsNullOrEmpty($_.Properties.cpassword) -eq $false }                $preferenceType = "Scheduled Tasks"            }            DataSources            {                $gppWithCpassword = $xmlFile.SelectNodes("DataSources/DataSource") | where-Object { [String]::IsNullOrEmpty($_.Properties.cpassword) -eq $false }                $preferenceType = "Data sources"            }            Drives            {                $gppWithCpassword = $xmlFile.SelectNodes("Drives/Drive") | where-Object { [String]::IsNullOrEmpty($_.Properties.cpassword) -eq $false }                $preferenceType = "Drive Maps"            }            Services            {                $gppWithCpassword = $xmlFile.SelectNodes("NTServices/NTService") | where-Object { [String]::IsNullOrEmpty($_.Properties.cpassword) -eq $false }                $preferenceType = "Services"            }            default            {   # clear gppWithCpassword and preferenceType for next item.                try                {                    Clear-Variable -Name gppWithCpassword -ErrorAction SilentlyContinue                    Clear-Variable -Name preferenceType -ErrorAction SilentlyContinue                }                catch [Exception]{}            }        }        if ($gppWithCpassword -ne $null)        {            # Build GPO name from GUID extracted from filePath             $guidRegex = [regex]"\{(.*)\}"            $match = $guidRegex.match($fileFullPath)            if ($match.Success)            {               $gpoGuid = $match.groups[1].value               $gpoName = $gpoGuid            }            else            {               $gpoName = "Unknown"            }            if($isGPModuleAvailable -eq $true)            {                try                 {                       $gpoInfo = Get-GPO -Guid $gpoGuid -ErrorAction Continue                    $gpoName = $gpoInfo.DisplayName                }                catch [Exception] {                    Write-Host $_.Exception.Message                }            }            # display prefrences that contain cpassword            foreach ( $gpp in $gppWithCpassword )            {                if ( $preferenceType -eq "Drive Maps" )                {                    $prefLocation = $category + $driveMapPath + $preferenceType                }                else                {                    $prefLocation = $category + $commonPath + $preferenceType                }                $obj = New-Object -typeName PSObject                 $obj | Add-Member –membertype NoteProperty –name GPOName    –value ($gpoName)      –passthru |                       Add-Member -MemberType NoteProperty -name Preference -value ($gpp.Name)     -passthru |                       Add-Member -MemberType NoteProperty -name Path       -value ($prefLocation)                Write-Output $obj             }        } # end if $gppWithCpassword    } # end foreach $file} # end functions Enum-PoliciesWithCpassword#-----------------------------------------------------------------------------------# Check whether Path is valid. Enumerate all settings that contain cpassword. #-----------------------------------------------------------------------------------if (Test-Path $Path ){    Enum-SettingsWithCpassword $Path}else{    Write-Warning "No such directory: $Path"}  


Przykład użycia (przy założeniu, że dysk systemowy jest C)

.\Get-SettingsWithCPassword.ps1 –path “C:\Windows\SYSVOL\domain” | Format-List

Uwaga: Należy pamiętać, że może również kierować żadnych kopii zapasowych obiektów zasad grupy dla Ścieżka zamiast domeny.

Skrypt wykrywający generuje listę, podobny do następującego:

Wstaw grafikę

Dla list dłużej należy wziąć pod uwagę zapisywanie danych wyjściowych w pliku:

.\Get-SettingsWithCPassword.ps1 –path “C:\Windows\SYSVOL\domain” | ConvertTo-Html > gpps.html

Usunięcie preferencji CPassword

W celu usunięcia preferencje, które zawierają dane CPassword, zaleca się użyć konsoli zarządzania zasady grupy (GPMC), na kontrolerze domeny lub z klienta, który ma zainstalowane narzędzia administracyjne serwera zdalnego. Można usunąć wszelkie preferencji w pięciu krokach na tych konsol. Aby to zrobić, wykonaj następujące kroki:
  1. W konsoli zarządzania zasadami grupy Otwórz preferencji, który zawiera CPassword dane.
  2. Zmienić akcję usunąć lub wyłączyć, odpowiednio do preferencji.
  3. Kliknij przycisk OK , aby zapisać zmiany.
  4. Poczekaj, aż jeden lub dwa cykle Odśwież zasady grupy wprowadzone zmiany są propagowane do klientów.
  5. Po zmiany są stosowane na wszystkich klientach, Usuń preferencje.
  6. Powtórz kroki od 1 do 5, jeśli to potrzebne do czyszczenia całego środowiska. Gdy skrypt wykrywający zwraca zero wyników, to koniec pracy.

Informacje dotyczące wartości skrótu pliku

Nazwa plikuSHA1 hashSHA256 hash
Windows6.0-KB2928120-ia64.msuB2A74305CB56191774BFCF9FCDEAA983B26DC9A6DCE8C0F9CEB97DBF1F7B9BAF76458B3770EF01C0EDC581621BC8C3B2C7FD14E7
Windows6.0-KB2928120-x64.msu.386457497682A2FB80BC93346D85A9C1BC38FBF71AF67EB12614F37F4AC327E7B5767AFA085FE676F6E81F0CED95D20393A1D38D
Windows6.0-KB2928120-x86.msu42FF283781CEC9CE34EBF459CA1EFE011D5132C3016D7E9DBBC5E487E397BE0147B590CFBBB5E83795B997894870EC10171E16D4
Plik Windows6.1-KB2928120-ia64.msu5C2196832EC94B99AAF9B074D3938525B72196909958FA58134F55487521243AD9740BEE0AC210AC290D45C8322E424B3E5EBF16
Plik Windows6.1-KB2928120-x64.msu.EA5332F4E289DC799611EAB8E3EE2E86B7880A4B417A2BA34F8FD367556812197E2395ED40D8B394F9224CDCBE8AB3939795EC2A
Plik Windows6.1-KB2928120-x86.msu7B7B6EE24CD8BE1AB3479F9E1CF9C98982C8BAB1603206D44815EF2DC262016ED13D6569BE13D06E2C6029FB22621027788B8095
Windows8-RT-KB2928120-x64.msu.E18FC05B4CCA0E195E62FF0AE534BA39511A8593FCAED97BF1D61F60802D397350380FADED71AED64435D3E9EAA4C0468D80141E
Windows8-RT-KB2928120-x86.msuA5DFB34F3B9EAD9FA78C67DFC7ACACFA2FBEAC0B7F00A72D8A15EB2CA70F7146A8014E39A71CFF5E39596F379ACD883239DABD41
Windows8.1-KB2928120-x64.msu.A07FF14EED24F3241D508C50E869540915134BB46641B1A9C95A7E4F0D5A247B9F488887AC94550B7F1D7B1198D5BCBA92F7A753
Windows8.1-KB2928120-x86.msuDE84667EC79CBA2006892452660EB99580D27306468EE4FA3A22DDE61D85FD3A9D0583F504105DF2F8256539051BC0B1EB713E9C
Windows8.1-KB2961899-x64.msu.10BAE807DB158978BCD5D8A7862BC6B3EF20038BEC26618E23D9278FC1F02CA1F13BB289E1C6C4E0C8DA5D22E1D9CDA0DA8AFF51
Windows8.1-KB2961899-x86.msu230C64447CC6E4AB3AD7B4D4655B8D8CEFBFBE98E3FAD567AB6CA616E42873D3623A777185BE061232B952938A8846A974FFA7AF
aktualizacja poprawka_zabezpieczeń aktualizacja_zabezpieczeń zabezpieczenia usterka luka złośliwy atakujący wykorzystać rejestr nieuwierzytelniony bufor przekroczenie przepełnienie specjalnie_uformowany zakres specjalnie spreparowany odmowa usługi DoS TSE

Ostrzeżenie: ten artykuł przetłumaczono automatycznie

Właściwości

Identyfikator artykułu: 2962486 — ostatni przegląd: 10/01/2015 18:40:00 — zmiana: 5.0

Windows RT 8.1, Windows 8.1, Windows 8.1 Enterprise, Windows 8.1 Pro, Windows Server 2012 R2 Datacenter, Windows Server 2012 R2 Essentials, Windows Server 2012 R2 Foundation, Windows Server 2012 R2 Standard, Windows 8, Windows 8 Enterprise, Windows 8 Pro, Windows Server 2012 Datacenter, Windows Server 2012 Essentials, Windows Server 2012 Foundation, Windows Server 2012 Standard, Windows 7 Service Pack 1, Windows Server 2008 R2 Service Pack 1, Windows Server 2008 Service Pack 2, Dodatek Service Pack 2 do systemu Windows Vista

  • atdownload kbbug kbexpertiseinter kbfix kbsecbulletin kbsecurity kbsecvulnerability kbmt KB2962486 KbMtpl
Opinia