INLEIDING
Microsoft heeft beveiligingsbulletin MS14-025 uitgebracht. Meer informatie over dit beveiligingsbulletin:
Thuisgebruikers:
https://www.microsoft.com/security/pc-security/updates.aspx Sla de details over: download nu de updates voor uw thuiscomputer of laptop vanaf de Microsoft Update-website:
IT-professionals:
Help en ondersteuning verkrijgen voor deze beveiligingsupdate
Hulp bij het installeren van updates:
Ondersteuning voor Microsoft Update
Beveiligingsoplossingen voor IT-professionals:
Probleemoplossing en ondersteuning voor TechNet-beveiliging
Bescherm uw Windows-computer Windows tegen virussen en malware:
Virusoplossing en beveiligingscentrum
Lokale ondersteuning volgens uw land/regio:
Internationale ondersteuning
Meer informatie
Bekende problemen en meer informatie over deze beveiligingsupdate
De volgende artikelen bevatten meer informatie over deze beveiligingsupdate met betrekking tot afzonderlijke productversies. De artikelen kunnen informatie over bekende problemen bevatten. Als dit het geval is, wordt het bekende probleem vermeld onder elke artikellink.
-
MS14-025: Beschrijving van de beveiligingsupdate voor Windows Remote Server Administration Tools voor systemen waarop update 2919355 is geïnstalleerd: 13 mei 2014
-
MS14-025: Beschrijving van de beveiligingsupdate voor Windows Remote Server Administration Tools voor systemen waarop geen update 2919355 is geïnstalleerd: 13 mei 2014
Voorkeuren voor groepsbeleid
Overzicht
In bepaalde voorkeuren voor groepsbeleid kan een wachtwoord worden opgeslagen. Deze functionaliteit wordt verwijderd omdat het wachtwoord onveilig is opgeslagen. In dit artikel worden de wijzigingen in de gebruikersinterface en eventuele beschikbare tijdelijke oplossingen beschreven.
Met de volgende voorkeuren voor groepsbeleid kunnen gebruikersnamen en wachtwoorden niet meer worden opgeslagen:
- Drive Maps
- Lokale gebruikers en groepen
- Geplande taken
- Services
- Data Sources
Dit is van invloed op het gedrag van bestaande groepsbeleidsobjecten (GPO's) in uw omgeving die afhankelijk zijn van wachtwoorden die zijn opgenomen in deze voorkeuren. Er wordt ook voorkomen dat er nieuwe voorkeuren voor groepsbeleid worden gemaakt met behulp van deze functionaliteit.
Voor Drive Maps, Lokale gebruikers en groepen en Services kunt u mogelijk vergelijkbare doelen bereiken met andere, beter beveiligde functionaliteit in Windows.
Voor geplande taken en gegevensbronnen kunt u niet dezelfde doelen bereiken als beschikbaar waren via de niet-beveiligde functionaliteit van wachtwoorden in het kader van voorkeuren voor groepsbeleid.
Scenario's
Deze wijziging heeft gevolgen voor de volgende voorkeuren voor groepsbeleid. Elke voorkeur wordt kort behandeld en daarna in meer detail. Bovendien zijn er tijdelijke oplossingen beschikbaar waarmee u dezelfde taken kunt uitvoeren.
| Beïnvloede voorkeur | Van toepassing op gebruiker |
Van toepassing op computer |
|---|---|---|
| Lokaal gebruikersbeheer | Ja | Ja |
| Toegewezen stations | Ja | Nee |
| Services | Nee | Ja |
| Geplande taken (hoogste niveau) | Ja | Ja |
| Geplande taken (lagere niveau) | Ja | Ja |
| Directe taken (hogere niveau) | Ja | Ja |
| Directe taken (lagere niveau) | Ja | Ja |
| Gegevensbronnen | Ja | Ja |
Overzicht van wijzigingen
- Wachtwoordvelden in alle beïnvloede voorkeuren zijn uitgeschakeld. Beheerders kunnen geen nieuwe voorkeuren maken met behulp van deze wachtwoordvelden.
- Het veld gebruikersnaam is in sommige voorkeuren uitgeschakeld.
- Bestaande voorkeuren die een wachtwoord bevatten, kunnen niet worden bijgewerkt. Ze kunnen alleen worden verwijderd of uitgeschakeld, afhankelijk van de specifieke voorkeur.
- Het gedrag van de acties Verwijderen en Uitschakelen is niet gewijzigd voor de voorkeuren.
- Wanneer een beheerder een voorkeur opent die het CPassword-kenmerk bevat, ontvangt de beheerder het volgende waarschuwingsdialoogvenster om hem of haar op de hoogte te stellen van de recente afschaffing. Bij pogingen om wijzigingen in nieuwe of bestaande voorkeuren op te slaan waarvoor het kenmerk CPassword is vereist, wordt hetzelfde dialoogvenster geactiveerd. Alleen de acties Verwijderen en Uitschakelen activeren geen waarschuwingsdialoogvensters.
Scenario 1: lokaal gebruikersbeheer
De voorkeur lokaal gebruikersbeheer wordt vaak gebruikt om lokale beheerders te maken met een bekend wachtwoord op een computer. Deze functie is niet beveiligd vanwege de manier waarop in de voorkeuren voor groepsbeleid wachtwoorden worden opgeslagen. Deze functionaliteit is daarom niet meer beschikbaar. De volgende voorkeuren worden beïnvloed:
- Computerconfiguratie -> Instellingen van het Configuratiescherm -> Lokale gebruikers en groepen-> Nieuw-> Lokale gebruiker
- Gebruikersconfiguratie -> Instellingen van het Configuratiescherm -> Lokale gebruikers en groepen-> Nieuw-> Lokale gebruiker
Belangrijke wijzigingen
Actie: Maken of vervangen
- De velden Gebruikersnaam, Wachtwoord en Wachtwoord bevestigen zijn uitgeschakeld.
- Het waarschuwingsvenster wordt weergegeven wanneer de beheerder wijzigingen in een bestaande voorkeur die een wachtwoord bevat, opent of probeert op te slaan.
Actie: bijwerken
- De velden Wachtwoord en Wachtwoord bevestigen zijn uitgeschakeld.
- Het waarschuwingsvenster wordt weergegeven wanneer de beheerder wijzigingen in een bestaande voorkeur die een wachtwoord bevat, opent of probeert op te slaan.
Actie: Verwijderen
- Geen gedragsverandering
Tijdelijke oplossingen
Voor degenen die voorheen vertrouwden op de voorkeur voor groepsbeleid voor het instellen van lokale beheerderswachtwoorden, wordt het volgende script geleverd als een veilig alternatief voor CPassword. Kopieer de inhoud naar een nieuw Windows PowerShell-bestand en sla deze op en voer het script uit zoals is aangegeven in de bijbehorende . VOORBEELD-sectie.
Microsoft biedt programmeervoorbeelden uitsluitend ter illustratie, zonder uitdrukkelijke of impliciete garantie. Dit omvat, maar is niet beperkt tot, de impliciete garanties van verkoopbaarheid of geschiktheid voor een bepaald doel. In dit artikel wordt ervan uitgegaan dat u bekend bent met de programmeertaal die wordt gedemonstreerd en met de hulpprogramma's die worden gebruikt om procedures te maken en fouten op te sporen. Microsoft-ondersteuningstechnici kunnen u helpen de functionaliteit van een bepaalde procedure uit te leggen. Zij zullen echter deze voorbeelden niet wijzigen om extra functionaliteit te bieden of procedures te maken om aan uw specifieke vereisten te voldoen.
Functie Invoke-PasswordRoll
{
<#
. SAMENVATTING
Dit script kan worden gebruikt om de lokale accountwachtwoorden op externe computers in te stellen op willekeurige wachtwoorden. De combinatie gebruikersnaam/wachtwoord/server wordt opgeslagen in een CSV-bestand.
De accountwachtwoorden die zijn opgeslagen in het CSV-bestand kunnen worden versleuteld met een wachtwoord van de beheerders die ervoor kiezen om ervoor te zorgen dat accountwachtwoorden in niet-versleutelde tekst niet op schijf worden geschreven.
De versleutelde wachtwoorden kunnen worden ontsleuteld met een andere functie in dit bestand: ConvertTo-CleartextPassword
Functie: Invoke-PasswordRoll
Auteur: Microsoft
Versie: 1.0
. BESCHRIJVING
Dit script kan worden gebruikt om de lokale accountwachtwoorden op externe computers in te stellen op willekeurige wachtwoorden. De combinatie gebruikersnaam/wachtwoord/server wordt opgeslagen in een CSV-bestand.
De accountwachtwoorden die zijn opgeslagen in het CSV-bestand kunnen worden versleuteld met een wachtwoord van de beheerders die ervoor kiezen om ervoor te zorgen dat accountwachtwoorden in niet-versleutelde tekst niet op schijf worden geschreven.
De versleutelde wachtwoorden kunnen worden ontsleuteld met een andere functie in dit bestand: ConvertTo-CleartextPassword
. PARAMETER ComputerName
Een matrix van computers waarop het script moet worden uitgevoerd met behulp van externe PowerShell-technologie.
. PARAMETER LocalAccounts
Een matrix van lokale accounts waarvan het wachtwoord moet worden gewijzigd.
. PARAMETER TsvFileName
Het bestand waarnaar u de combinaties gebruikersnaam/wachtwoord/server wilt uitvoeren.
. PARAMETER EncryptionKey
Een wachtwoord waarmee u het TSV-bestand kunt versleutelen. Maakt gebruik van AES-versleuteling. Alleen de wachtwoorden die in het TSV-bestand zijn opgeslagen, worden versleuteld, de gebruikersnaam en servernaam zijn platte tekst.
. PARAMETER PasswordLength
De lengte van de wachtwoorden die willekeurig worden gegenereerd voor lokale accounts.
. PARAMETER NoEncryption
Versleutel de accountwachtwoorden die zijn opgeslagen in het TSV-bestand niet. Hierdoor worden wachtwoorden in niet-versleutelde tekst weggeschreven op schijf.
. VOORBEELD
. .\Invoke-PasswordRoll.ps1 #Loads de functies in dit scriptbestand
Invoke-PasswordRoll -ComputerName (Get-Content computerlist.txt) -LocalAccounts @("administrator","CustomLocalAdmin") -TsvFileName "LocalAdminCredentials.tsv" -EncryptionKey "Wachtwoord1"
Hiermee maakt u verbinding met alle computers die zijn opgeslagen in het bestand 'computerlist.txt'. Als de lokale account 'administrator' en/of 'CustomLocalAdmin' op het systeem aanwezig zijn, wordt hun wachtwoord gewijzigd
tot een willekeurig gegenereerd wachtwoord van lengte 20 (de standaardwaarde). De combinaties van gebruikersnaam/wachtwoord/server worden opgeslagen in LocalAdminCredentials.tsv en de accountwachtwoorden worden AES-versleuteld met het wachtwoord "Wachtwoord1".
. VOORBEELD
. .\Invoke-PasswordRoll.ps1 #Loads de functies in dit scriptbestand
Invoke-PasswordRoll -ComputerName (Get-Content computerlist.txt) -LocalAccounts @("administrator") -TsvFileName "LocalAdminCredentials.tsv" -NoEncryption -PasswordLength 40
Hiermee maakt u verbinding met alle computers die zijn opgeslagen in het bestand 'computerlist.txt'. Als de lokale account "beheerder" aanwezig is op het systeem, wordt het wachtwoord gewijzigd in een willekeurig gegenereerd
wachtwoord met lengte 40. De combinaties van gebruikersnaam/wachtwoord/server worden onversleuteld opgeslagen in LocalAdminCredentials.tsv.
. OPMERKINGEN
Vereisten:
-PowerShellv2 of hoger moet zijn geïnstalleerd
-Externe PowerShell-communicatie moet zijn ingeschakeld op alle systemen waarop het script wordt uitgevoerd
Gedrag van script:
-Als er een lokaal account op het systeem aanwezig is, maar niet is opgegeven in de parameter LocalAccounts, zal het script een waarschuwing op het scherm schrijven om u te waarschuwen voor de aanwezigheid van dit lokale account. Het script blijft dan gewoon actief.
-Als een lokaal account is opgegeven in de parameter LocalAccounts, maar het account bestaat niet op de computer, gebeurt er niets (er wordt GEEN account aangemaakt).
-De functie ConvertTo-CleartextPassword, in dit bestand, kan worden gebruikt om wachtwoorden te decoderen die versleuteld zijn opgeslagen in het TSV-bestand.
-Als geen verbinding kan worden gemaakt met een server die is opgegeven in ComputerName, geeft PowerShell een foutmelding.
-Microsoft adviseert bedrijven om regelmatig alle wachtwoorden voor lokale en domeinaccounts te rollen.
#>
[CmdletBinding(DefaultParameterSetName="Encryption")]
Param(
[Parameter(Mandatory=$true)]
[Tekenreeks[]]
$ComputerName,
[Parameter(Mandatory=$true)]
[Tekenreeks[]]
$LocalAccounts,
[Parameter(Mandatory=$true)]
[Tekenreeks]
$TsvFileName,
[Parameter(ParameterSetName="Encryptie", Mandatory=$true)]
[Tekenreeks]
$EncryptionKey,
[Parameter()]
[Bereik valideren(20,120)]
[Int]
$PasswordLength = 20,
[Parameter(ParameterSetName="NoEncryption", Mandatory=$true)]
[Schakelen]
$NoEncryption
)
#Load benodigde .NET-klassen
Add-Type -AssemblyName "System.Web" -ErrorAction Stop
#This is het scriptblok dat wordt uitgevoerd op elke computer die is opgegeven in ComputerName
$RemoteRollScript = {
Param(
[Parameter(Mandatory=$true, Position=1)]
[Tekenreeks[]]
$Passwords,
[Parameter(Verplicht=$true, Positie=2)]
[Tekenreeks[]]
$LocalAccounts,
#This is hier zodat ik kan opnemen wat de servernaam was waarmee het script is verbonden, soms raken de DNS-records in de war, het kan leuk zijn om dit te hebben.
[Parameter(Mandatory=$true, Position=3)]
[Tekenreeks]
$TargettedServerName
)
$LocalUsers = Get-WmiObject Win32_UserAccount -Filter "LocalAccount=true" | Foreach {$_. Naam}
#Check als de computer lokale gebruikersaccounts heeft waarvan de wachtwoorden niet door dit script worden gerold
foreach ($User in $LocalUsers)
{
if ($LocalAccounts -inotcontains $User)
{
Write-Warning "Server: '$($TargettedServerName)' heeft een lokaal account '$($User)' waarvan het wachtwoord NIET wordt gewijzigd door dit script"
}
}
#For elk lokaal account dat op deze server is opgegeven het wachtwoord wijzigen
$PasswordIndex = 0
foreach ($LocalAdmin in $LocalAccounts)
{
$Password = $Passwords[$PasswordIndex]
if ($LocalUsers -icontains $LocalAdmin)
{
niet
{
$objUser = [ADSI]"WinNT://localhost/$($LocalAdmin), user"
$objUser.psbase.Invoke("Wachtwoord instellen"; $Password)
$Properties = @{
TargettedServerName = $TargettedServerName
Gebruikersnaam = $LocalAdmin
Wachtwoord = $Password
RealServerName = $env:computername
}
$ReturnData = New-Object PSObject -Property $Properties
Write-Output $ReturnData
}
Vangst
{
Write-Error "Fout bij wijzigen wachtwoord voor gebruiker:$($LocalAdmin) op server:$($TargettedServerName)"
}
}
$PasswordIndex++
}
}
#Generate het wachtwoord op de client waarop dit script wordt uitgevoerd, niet op de externe computer. System.Web.Security is niet beschikbaar in het .NET Client-profiel. Deze oproep plaatsen
# op de client die het script uitvoert, zorgt het ervoor dat slechts 1 computer de volledige .NET-runtime geïnstalleerd hoeft te hebben (in tegenstelling tot elk systeem met het wachtwoord).
Functie Create-RandomPassword
{
Param(
[Parameter(Mandatory=$true)]
[Bereik valideren(20,120)]
[Int]
$PasswordLength
)
$Password = [System.Web.Security.Membership]::GeneratePassword($PasswordLength, $PasswordLength / 4)
#This mag nooit falen, maar ik zet hier toch een gezondheidscheck
if ($Password.Length -ne $PasswordLength)
{
gooi nieuwe Exception("Password returned by GeneratePassword is niet even lang als vereist. Vereiste lengte: $($PasswordLength). Gegenereerde lengte: $($Password.Lengte)")
}
return $Password
}
#Main functionaliteit - Genereer een wachtwoord en externe toegang tot machines om het wachtwoord van opgegeven lokale accounts te wijzigen
if ($PsCmdlet.ParameterSetName -ieq "Encryption")
{
niet
{
$Sha 256 = new-object System.Security.Cryptography.SHA256CryptoServiceProvider
$SecureStringKey = $Sha 256.ComputeHash([System.Text.UnicodeEncoding]::Unicode.GetBytes($EncryptionKey))
}
Vangst
{
Write-Error 'Fout bij het maken van TSV-versleutelingssleutel' -ErrorAction Stop
}
}
foreach ($Computer in $ComputerName)
{
#Need om 1 wachtwoord te genereren voor elk account dat kan worden gewijzigd
$Passwords = @()
voor ($i = 0; $i -lt $LocalAccounts.Lengte; $i++)
{
$Passwords += Create-RandomPassword -PasswordLength $PasswordLength
}
Write-Output 'Verbinding maken met server '$($Computer)' om opgegeven lokale beheerderswachtwoorden te rollen'
$Result = Invoke-Command -ScriptBlock $RemoteRollScript -ArgumentList @($Passwords, $LocalAccounts, $Computer) -ComputerName $Computer
#If versleuteling wordt gebruikt, versleutelt u het wachtwoord met de door de gebruiker opgegeven sleutel voordat u naar de schijf gaat schrijven
if ($Result -ne $null)
{
if ($PsCmdlet.ParameterSetName -ieq "NoEncryption")
{
$Result | Select-Object Gebruikersnaam,Wachtwoord,TargettedServerName,RealServerName | Export-Csv -Append -Path $TsvFileName -NoTypeInformation
}
anders
{
#Filters $null geretourneerde vermeldingen
$Result = $Result | Select-Object Gebruikersnaam,Wachtwoord,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("Wachtwoord")
$Record | Select-Object Gebruikersnaam,Versleuteld wachtwoord,Doelservernaam,RealServerName | Export-Csv -Append -Path $TsvFileName -NoTypeInformation
}
}
}
}
}
Functie ConvertTo-CleartextPassword
{
<#
. SAMENVATTING
Deze functie kan worden gebruikt om wachtwoorden te ontsleutelen die versleuteld zijn opgeslagen door de functie Invoke-PasswordRoll.
Functie: ConvertTo-CleartextPassword
Auteur: Microsoft
Versie: 1.0
. BESCHRIJVING
Deze functie kan worden gebruikt om wachtwoorden te ontsleutelen die versleuteld zijn opgeslagen door de functie Invoke-PasswordRoll.
. PARAMETER EncryptedPassword
Het versleutelde wachtwoord dat is opgeslagen in een TSV-bestand.
. PARAMETER EncryptionKey
Het wachtwoord dat wordt gebruikt voor de codering.
. VOORBEELD
. .\Invoke-PasswordRoll.ps1 #Loads de functies in dit scriptbestand
ConvertTo-CleartextPassword -EncryptionKey "Password1" -EncryptedPassword 76492d1116743f0423413b16050a5345MgB8AGcAZgBaAHUAaQBwADAAQgB2AGgAcABNADMASwBaAFoAQQBzADEAeABjAEEAPQA9AHwAZgBiAGYAMAA1ADYANgA2ADEANwBkADQAZgAwADMANABjAGUAZQAxAGIAMABxAGIAMAB2 iADkANgBiADkAMAA4ADcANwBhADMAYQA3AGYAOABkADcAMQA5ADQAMwBmAGYANQBhADEAYQBjADcANABkADIANgBhADUANwBlADgAMAAyADQANgA1ADIAOQA0AGMAZQA0ADEAMwAzADcANQAyADUANAAzADYAMAA1AGEANgAzADEAMQA5ADAAYwBmADQAZAA2AGQA"
Decodeert het versleutelde wachtwoord dat is opgeslagen in het TSV-bestand.
#>
Param(
[Parameter(Mandatory=$true)]
[Tekenreeks]
$EncryptedPassword,
[Parameter(Mandatory=$true)]
[Tekenreeks]
$EncryptionKey
)
$Sha 256 = new-object System.Security.Cryptography.SHA256CryptoServiceProvider
$SecureStringKey = $Sha 256.ComputeHash([System.Text.UnicodeEncoding]::Unicode.GetBytes($EncryptionKey))
[SecureString]$SecureStringPassword = ConvertTo-SecureString -String $EncryptedPassword -Key $SecureStringKey
Write-Output ([System.Runtime.InteropServices.Marshal]::P trToStringAuto([System.Runtime.InteropServices.Marshal]::SecureStringToCoTaskMemUnicode($SecureStringPassword)))
}
Beheerders kunnen lokale beheerdersaccounts toevoegen aan computers door een Active Directory-groep te maken en deze toe te voegen aan de lokale beheerdersgroep via Voorkeuren voor groepsbeleid -> Lokale groep. Met deze actie worden referenties niet in de cache opgeslagen. Het dialoogvenster ziet er ongeveer als volgt uit: Voor deze tijdelijke oplossing is een verbinding met Active Directory Domain Services vereist wanneer de gebruiker is aangemeld met deze referenties.
Scenario 2: Toegewezen stations
Beheerders gebruiken stationstoewijzingen om netwerklocaties aan gebruikers toe te wijzen. De functie voor wachtwoordbeveiliging wordt gebruikt om ervoor te zorgen dat geautoriseerde toegang tot het station is. De volgende voorkeuren worden beïnvloed:
- Gebruikersconfiguratie -> Windows-instellingen -> stationstoewijzingen -> Nieuw -> Toegewezen station
Belangrijke wijzigingen
Actie: Maken, bijwerken of vervangen
- De velden Gebruikersnaam, Wachtwoord en Wachtwoord bevestigen zijn uitgeschakeld.
Actie: Verwijderen
- Geen gedragsverandering
Tijdelijke oplossingen
In plaats van de wachtwoordmethode voor verificatie te gebruiken, kunt u Windows Verkenner gebruiken voor het beheren van sharemachtigingen en het toewijzen van rechten aan gebruikers. U kunt Active Directory-objecten gebruiken om machtigingen voor de map te beheren.
Scenario 3: Services
U kunt de voorkeur Services gebruiken om service-eigenschappen zodanig te wijzigen dat ze worden uitgevoerd in een andere context dan hun oorspronkelijke beveiligingscontext. De volgende voorkeuren worden beïnvloed:
- Computerconfiguratie -> Instellingen voor het Configuratiescherm -> Services -> Nieuw -> Service
Belangrijke wijzigingen
Opstarten: ongewijzigd, automatisch of handmatig
- De velden Wachtwoord en Wachtwoord bevestigen zijn uitgeschakeld.
- De beheerder kan alleen ingebouwde accounts gebruiken.
Opstarten: Schakel uit
- Geen gedragsverandering
Dialoogvenster Nieuw
- Beheerders die niet-ingebouwde gebruikers proberen te gebruiken voor Dit account" ontvangen de volgende waarschuwing:
Tijdelijke oplossingen
Services kunnen nog steeds worden uitgevoerd als een lokaal systeemaccount. Servicemachtigingen kunnen worden gewijzigd, zoals wordt beschreven in het volgende artikel in de Microsoft Knowledge Base:
256345 groepsbeleid instellingen configureren om beveiliging voor systeemservices in te stellen
Opmerking Als de service die u wilt configureren niet aanwezig is, moet u de instellingen configureren op een computer waarop de service wordt uitgevoerd.
Scenario 4: Geplande en onmiddellijke taken (hoogste niveau)
Deze worden gebruikt om geplande taken uit te voeren in een specifieke beveiligingscontext. De mogelijkheid om referenties op te slaan voor geplande taken die moeten worden uitgevoerd als een willekeurige gebruiker wanneer die gebruiker niet is aangemeld, is niet meer beschikbaar. De volgende voorkeuren worden beïnvloed. (Houd er rekening mee dat op sommige platforms 'Ten minste Windows 7' wordt vervangen door 'Windows Vista en hoger'.)
- Computerconfiguratie -> Configuratiescherm Instellingen -> Geplande taken -> Nieuw -> Geplande taak (ten minste Windows 7)
- Computerconfiguratie -> Instellingen voor het Configuratiescherm -> Geplande taken -> Nieuw -> Onmiddellijke taak (ten minste Windows 7)
- Gebruikersconfiguratie -> Instellingen voor het Configuratiescherm -> Geplande taken -> Nieuw -> Geplande taak (ten minste Windows 7)
- Gebruikersconfiguratie -> Instellingen voor het Configuratiescherm -> Geplande taken -> Nieuw -> Onmiddellijke taak (ten minste Windows 7)
Belangrijke wijzigingen
Actie: Maken, bijwerken of vervangen
- Als u de optie Uitvoeren of de gebruiker is aangemeld of niet selecteert, wordt de beheerder niet meer om referenties gevraagd.
- Het selectievakje Wachtwoord niet opslaan is uitgeschakeld. Dit selectievakje is ook standaard ingeschakeld.
Actie: Verwijderen
Geen gedragsverandering
Tijdelijke oplossingen
Voor de taken "Geplande taak (ten minste Windows 7)" en "Onmiddellijke taak (ten minste Windows 7)" kunnen beheerders specifieke gebruikersaccounts gebruiken wanneer de betreffende gebruiker is aangemeld. Of ze kunnen alleen toegang hebben tot lokale bronnen als die gebruiker. Deze taken kunnen nog steeds worden uitgevoerd binnen de context van de lokale service.
Scenario 5: geplande en onmiddellijke taken (downlevel) Dit is de lagere versie van voorkeuren die wordt gebruikt om geplande taken uit te voeren in een specifieke beveiligingscontext. De mogelijkheid om referenties op te slaan voor geplande taken die moeten worden uitgevoerd als een willekeurige gebruiker wanneer die gebruiker niet is aangemeld, is niet meer beschikbaar. De volgende voorkeuren worden beïnvloed:
- Computerconfiguratie -> Instellingen voor het Configuratiescherm -> Geplande taken -> Nieuw -> Geplande taak
- Computerconfiguratie -> Instellingen van het Configuratiescherm -> Geplande taken -> Nieuw -> Onmiddellijke taak (Windows XP)
- Gebruikersconfiguratie -> Instellingen voor het Configuratiescherm -> Geplande taken -> Nieuw -> Geplande taak
- Gebruikersconfiguratie -> Instellingen voor het Configuratiescherm -> Geplande taken -> Nieuw -> Onmiddellijke taak (Windows XP)
Belangrijke wijzigingen
Actie: Maken, bijwerken of vervangen
- Het selectievakje Uitvoeren als is uitgeschakeld. Daarom zijn de velden Gebruikersnaam, Wachtwoord en Wachtwoord bevestigen uitgeschakeld.
Actie: Verwijderen
Geen gedragsverandering
Tijdelijke oplossingen
Voor de items 'Geplande taak' en 'Directe taak (Windows XP)' worden geplande taken uitgevoerd met de machtigingen die momenteel beschikbaar zijn voor de lokale service.
Scenario 6: Gegevensbronnen
De voorkeur Gegevensbronnen wordt gebruikt om een gegevensbron te koppelen aan een computer of gebruiker. Met deze functie worden geen referenties meer opgeslagen om toegang te krijgen tot gegevensbronnen die met een wachtwoord zijn beveiligd. De volgende voorkeuren worden beïnvloed:
- Computerconfiguratie -> Instellingen voor het Configuratiescherm -> Gegevensbronnen
- Gebruikersconfiguratie -> Instellingen voor het Configuratiescherm -> Gegevensbronnen
Belangrijke wijzigingen
Actie: Maken, bijwerken of vervangen
- De velden Gebruikersnaam, Wachtwoord en Wachtwoord bevestigen zijn uitgeschakeld:
Actie: Verwijderen
- Geen gedragsverandering
Tijdelijke oplossingen
Er zijn geen tijdelijke oplossingen beschikbaar. Met deze voorkeur worden geen referenties meer opgeslagen om toegang te geven tot gegevensbronnen die met een wachtwoord zijn beveiligd.
Afschaffing van CPassword
CPassword verwijderen
Het Windows PowerShell-script in dit Microsoft Knowledge Base-artikel detecteert of een domein voorkeuren voor groepsbeleid bevat waarin mogelijk CPassword wordt gebruikt. Als CPassword XML wordt gedetecteerd met een bepaalde voorkeur, wordt deze in deze lijst weergegeven.
CPassword-voorkeuren detecteren
Dit script moet worden uitgevoerd vanuit een lokale map op de domeincontroller die u wilt opschonen. Kopieer de inhoud en sla deze op in een nieuw Windows PowerShell-bestand, bepaal uw systeemstation en voer vervolgens het script uit zoals wordt aangegeven in het volgende gebruik.
<#
. SAMENVATTING
Groepsbeleid-objecten in uw domein kunnen voorkeuren hebben waarin wachtwoorden voor verschillende taken worden opgeslagen, zoals:
1. okt. Data Sources
2. okt. Drive Maps
3. okt. Lokale gebruikers
4. okt. Geplande taken (zowel XP als hoger)
5. okt. Services
Deze wachtwoorden worden opgeslagen in SYSVOL als onderdeel van GP-voorkeuren en zijn niet veilig vanwege zwakke codering (32-byte AES).
Daarom raden we u aan dergelijke voorkeuren niet te implementeren in uw domeinomgeving en dergelijke bestaande voorkeuren te verwijderen
voorkeuren. Dit script is bedoeld om beheerders te helpen bij het vinden van GP-voorkeuren in de SYSVOL van hun domein die wachtwoorden bevatten.
. BESCHRIJVING
Dit script moet worden uitgevoerd op een domeincontroller of een clientcomputer waarop RSAT is geïnstalleerd om alle voorkeuren af te drukken die
wachtwoord met informatie zoals GPO, voorkeursnaam, GPEdit-pad waaronder deze voorkeur is gedefinieerd.
Nadat u een lijst met beïnvloede voorkeuren hebt, kunt u deze voorkeuren verwijderen met behulp van de editor in de console Beheer van groepsbeleid.
. SYNTAXIS
Get-SettingsWithCPassword.ps1 [-path <string>]
. VOORBEELD
Get-SettingsWithCPassword.ps1 -Path %WinDir%\SYSVOL\domain
Get-SettingsWithCPassword.ps1 -Path <GPO-pad naar back-upmap>
. OPMERKINGEN
Als de PS-module voor groepsbeleid niet wordt gevonden, bevat de uitvoer GPO-GUID's in plaats van GPO-namen. U kunt de volgende taken uitvoeren
dit script op een domeincontroller of voer het script opnieuw uit op de client nadat je RSAT hebt geïnstalleerd en
de module Groepsbeleid is ingeschakeld.
U kunt ook GPO-GUID's gebruiken om groepsbeleidbeleidnamen te verkrijgen met behulp van de cmdlet Get-GPO.
. KOPPELING
http://go.microsoft.com/fwlink/?LinkID=390507
#>
#----------------------------------------------------------------------------------------------------------------
# Invoerparameters #--------------------------------------------------------------------------------------------------------------
param(
[tekenreeks]$Path = $(worp "-Pad is vereist.") # Mappad waar GPP's zich bevinden.
)
#---------------------------------------------------------------------------------------------------------------
$isGPModuleAvailable = $false
$impactedPrefs = { "Groups.xml", "ScheduledTasks.xml","Services.xml", "DataSources.xml", "Drives.xml" }
#----------------------------------------------------------------------------------------------------------------
# import Group olicy module, indien beschikbaar #----------------------------------------------------------------------------------------------------------------
if (-not (Get-Module -name "GroupPolicy"))
{
if (Get-Module -ListAvailable |
Where-Object { $_. Name -ieq "GroupPolicy" })
{
$isGPModuleAvailable = $true
Import-Module Groepsbeleid
}
anders
{
Write-Warning 'Kan groepsbeleid module voor PowerShell niet importeren. Daarom worden groepsbeleidsobject-GUID's gerapporteerd.
Voer dit script uit op DC om de GPO-namen te verkrijgen of gebruik de Get-GPO-cmdlet (op DC) om de GPO-naam op te halen van GPO-guid.
}
}
anders
{
$isGPModuleAvailable = $true
}
Functie Enum-SettingsWithCpassword ( [tekenreeks]$sysvolLocation )
{
# GPMC boompaden
$commonPath = " -> Voorkeuren -> Configuratiescherm Instellingen -> "
$driveMapPath = " -> Voorkeuren -> Windows-instellingen -> "
# Recursief alle xml-bestanden binnen de SYVOL-locatie ophalen
$impactedXmls = Get-ChildItem $sysvolLocation -Recurse -Filter "*.xml" | Where-Object { $impactedPrefs -cmatch $_. Naam }
# Elk XML-bestand bevat meerdere voorkeuren. Herhaal elke voorkeur om te controleren of deze
# bevat het kenmerk cPassword en geef dit weer.
voor elk ( $file in $impactedXmls )
{
$fileFullPath = $file. Volledige naam
# Stel GPP-categorie in. Als het bestand zich bevindt onder de map Machine in SYSVOL
# de instelling wordt gedefinieerd onder Computerconfiguratie, anders wordt de
# configuratie is een gebruikersconfiguratie
if ( $fileFullPath.Contains("Machine") )
{
$category = "Computerconfiguratie"
}
elseif ( $fileFullPath.Contains("Gebruiker") )
{
$category = "Gebruikersconfiguratie"
}
anders
{
$category = "Onbekend"
}
# Bestandsinhoud verkrijgen als XML
niet
{
[xml]$xmlFile = get-content $fileFullPath -ErrorAction Continue
}
catch [Exception]{
Write-Host $_. Exception.Message
}
IF ($xmlFile -eq $null)
{
doorgaan
}
switch ( $file. BaseName )
{
Groepen
{
$gppWithCpassword = $xmlFile.SelectNodes("Groepen/gebruiker") | where-Object { [String]::IsNullOrEmpty($_. Properties.cpassword) -eq $false }
$preferenceType = "Lokale gebruikers"
}
Geplande taken
{
$gppWithCpassword = $xmlFile.SelectNodes("GeplandeTaken/*") | where-Object { [String]::IsNullOrEmpty($_. Properties.cpassword) -eq $false }
$preferenceType = "Geplande taken"
}
Gegevensbronnen
{
$gppWithCpassword = $xmlFile.SelectNodes("DataSources/DataSource") | where-Object { [String]::IsNullOrEmpty($_. Properties.cpassword) -eq $false }
$preferenceType = "Gegevensbronnen"
}
Stations
{
$gppWithCpassword = $xmlFile.SelectNodes("Stations/station") | 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 = "Diensten"
}
standaardinstelling
{ # wis gppWithCpassword en preferenceType voor het volgende item.
niet
{
Clear-Variable -Name gppWithCpassword -ErrorAction silentlyContinue
Clear-Variable -Name preferenceType -ErrorAction silentlyContinue
}
catch [uitzondering]{}
}
}
if ($gppWithCpassword -ne $null)
{
# Naam van buildgroepsbeleidsobject van GUID die is geëxtraheerd uit filePath
$guidRegex = [regex]"\{(.*)\}"
$match = $guidRegex.MATCH($fileFullPath)
if ($match. Succes)
{
$gpoGuid = $match.groepen[1].waarde
$gpoName = $gpoGuid
}
anders
{
$gpoName = "Onbekend"
}
ALS($isGPModuleAvailable -eq $true)
{
niet
{
$gpoInfo = Get-GPO -Guid $gpoGuid -ErrorAction Continue
$gpoName = $gpoInfo.DisplayName
}
catch [Exception] {
Write-Host $_. Exception.Message
}
}
# voorkeuren weergeven die cpassword bevatten
foreach ( $gpp in $gppWithCpassword )
{
if ( $preferenceType -eq "Drive Maps" )
{
$prefLocation = $category + $driveMapPath + $preferenceType
}
anders
{
$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. Naam) -passthru |
Add-Member -MemberType NoteProperty -name Path -value ($prefLocation)
Write-Output $obj
}
} # end if $gppWithCpassword
} # end foreach $file
} # eindfuncties Enum-PoliciesWithCpassword
#-----------------------------------------------------------------------------------
# Controleer of het pad geldig is. Alle instellingen opsommen die cpassword bevatten.
#-----------------------------------------------------------------------------------
if (Test-Path $Path )
{
Enum-SettingsWithCpassword $Path
}
anders
{
Write-Warning "No such directory: $Path"
}
Gebruik (ervan uitgaande dat het systeemstation C is)
.\Get-SettingsWithCPassword.ps1 –pad "C:\Windows\SYSVOL\domain" | Format-List
Opmerking: u kunt zich ook richten op een back-upgroepsbeleidsobject voor het pad in plaats van het domein.
Het detectiescript genereert een lijst met de volgende strekking:
Voor langere lijsten kunt u overwegen de uitvoer in een bestand op te slaan:
.\Get-SettingsWithCPassword.ps1 –pad "C:\Windows\SYSVOL\domain" | > ConvertTo-Html gpps.html
CPassword-voorkeuren verwijderen
Als u de voorkeuren wilt verwijderen die CPassword-gegevens bevatten, wordt u aangeraden groepsbeleid Management Console (GPMC) te gebruiken op de domeincontroller of vanaf een client waarop Remote Server Administration Tools is geïnstalleerd. Je kunt op deze consoles elke voorkeur in vijf stappen verwijderen. Ga hiervoor als volgt te werk:
- Open in GPMC de voorkeur die CPassword-gegevens bevat.
- Wijzig de actie in Verwijderen of Uitschakelen, afhankelijk van de voorkeur.
- Klik op OK om de wijzigingen op te slaan.
- Wacht op een of twee vernieuwingscycli van het groepsbeleid om wijzigingen door te geven aan clients.
- Verwijder de voorkeur nadat de wijzigingen op alle clients zijn toegepast.
- Herhaal stap 1 tot en met 5 indien nodig om je hele omgeving te reinigen. Wanneer het detectiescript nul resultaten retourneert, bent u klaar.
Informatie over bestandshashes
| Bestandsnaam | SHA1-hash | SHA256-hash |
|---|---|---|
| Windows6.0-KB2928120-ia64.msu | B2A74305CB56191774BFCF9FCDEAA983B26DC9A6 | DCE8C0F9CEB97DBF1F7B9BAF76458B3770EF01C0EDC581621BC8C3B2C7FD14E7 |
| Windows6.0-KB2928120-x64.msu | EUR-Lex - 386457497682A2FB80BC93346D85A9C1BC38FBF7 | 1AF67EB12614F37F4AC327E7B5767AFA085FE676F6E81F0CED95D20393A1D38D |
| Windows6.0-KB2928120-x86.msu | 42FF283781CEC9CE34EBF459CA1EFE011D5132C3 | 016D7E9DBBC5E487E397BE0147B590CFBBB5E83795B997894870EC10171E16D4 |
| Windows6.1-KB2928120-ia64.msu | 5C2196832EC94B99AAF9B074D3938525B7219690 | 9958FA58134F55487521243AD9740BEE0AC210AC290D45C8322E424B3E5EBF16 |
| Windows6.1-KB2928120-x64.msu | EA5332F4E289DC799611EAB8E3EE2E86B7880A4B | 417A2BA34F8FD367556812197E2395ED40D8B394F9224CDCBE8AB3939795EC2A |
| Windows6.1-KB2928120-x86.msu | 7B7B6EE24CD8BE1AB3479F9E1CF9C98982C8BAB1 | 603206D44815EF2DC262016ED13D6569BE13D06E2C6029FB22621027788B8095 |
| Windows8-RT-KB2928120-x64.msu | E18FC05B4CCA0E195E62FF0AE534BA39511A8593 | FCAED97BF1D61F60802D397350380FADED71AED64435D3E9EAA4C0468D80141E |
| Windows8-RT-KB2928120-x86.msu | A5DFB34F3B9EAD9FA78C67DFC7ACACFA2FBEAC0B | 7F00A72D8A15EB2CA70F7146A8014E39A71CFF5E39596F379ACD883239DABD41 |
| Windows8.1-KB2928120-x64.msu | A07FF14EED24F3241D508C50E869540915134BB4 | 6641B1A9C95A7E4F0D5A247B9F488887AC94550B7F1D7B1198D5BCBA92F7A753 |
| Windows8.1-KB2928120-x86.msu | DE84667EC79CBA2006892452660EB99580D27306 | 468EE4FA3A22DDE61D85FD3A9D0583F504105DF2F8256539051BC0B1EB713E9C |
| Windows8.1-KB2961899-x64.msu | 10BAE807DB158978BCD5D8A7862BC6B3EF20038B | EC26618E23D9278FC1F02CA1F13BB289E1C6C4E0C8DA5D22E1D9CDA0DA8AFF51 |
| Windows8.1-KB2961899-x86.msu | EUR-Lex - 230C64447CC6E4AB3AD7B4D4655B8D8CEFBFBE98 | E3FAD567AB6CA616E42873D3623A777185BE061232B952938A8846A974FFA7AF |