ΕΙΣΑΓΩΓΗ
Η Microsoft έχει κυκλοφορήσει το ενημερωτικό δελτίο ασφαλείας MS14-025. Για να μάθετε περισσότερα σχετικά με αυτό το ενημερωτικό δελτίο ασφαλείας:
-
Οικιακοί χρήστες:
https://www.microsoft.com/security/pc-security/updates.aspxΠαράλειψη λεπτομερειών: κατεβάστε τώρα τις ενημερωμένες εκδόσεις για το σταθερό ή το φορητό υπολογιστή σας από τον ιστότοπο "Microsoft Update":
-
Επαγγελματίες τεχνολογιών ΠΛΗΡΟΦΟΡΙΚΉΣ:
Τρόπος λήψης βοήθειας και υποστήριξης για αυτήν την ενημέρωση ασφαλείας
Βοήθεια για την εγκατάσταση ενημερωμένων εκδόσεων:
Υποστήριξη για το Microsoft Update
Λύσεις ασφάλειας για επαγγελματίες τεχνολογιών ΠΛΗΡΟΦΟΡΙΚΉΣ:
Αντιμετώπιση προβλημάτων ασφάλειας TechNet και υποστήριξη
Καλύτερη προστασία του υπολογιστή με Windows Windows από ιούς και λογισμικό κακόβουλης λειτουργίας:
Αντιμετώπιση ιών και το Κέντρο ασφαλείας
Τοπική υποστήριξη σύμφωνα με τη χώρα σας:
Διεθνής υποστήριξη
Περισσότερες πληροφορίες
Γνωστά ζητήματα και περισσότερες πληροφορίες σχετικά με αυτήν την ενημερωμένη έκδοση ασφαλείας
Τα παρακάτω άρθρα περιέχουν περισσότερες πληροφορίες σχετικά με αυτήν την ενημερωμένη έκδοση ασφαλείας όσον αφορά την εκδόσεις κάθε προϊόντος. Τα άρθρα μπορεί να περιέχουν πληροφορίες γνωστό ζήτημα. Εάν συμβαίνει κάτι τέτοιο, το γνωστό ζήτημα παρατίθεται κάτω από κάθε άρθρο σύνδεση.
-
2928120
MS14-025: Περιγραφή της ενημερωμένης έκδοσης ασφαλείας για τα εργαλεία διαχείρισης απομακρυσμένου διακομιστή των Windows για συστήματα που έχουν ενημερώσει 2919355 εγκαταστήσει: 13 Μαΐου 2014 -
2961899
MS14-025: Περιγραφή της ενημερωμένης έκδοσης ασφαλείας για τα εργαλεία διαχείρισης απομακρυσμένου διακομιστή των Windows για συστήματα που δεν διαθέτουν την ενημερωμένη έκδοση 2919355 εγκατάσταση: 13 Μαΐου 2014
Οι προτιμήσεις πολιτικής ομάδας
Επισκόπηση
Ορισμένες προτιμήσεις πολιτικής ομάδας να αποθηκεύσετε έναν κωδικό πρόσβασης. Αυτή η λειτουργία καταργήθηκε επειδή ο κωδικός πρόσβασης έχει αποθηκευτεί είναι ασφαλής. Αυτό το άρθρο περιγράφει τις αλλαγές περιβάλλοντος εργασίας χρήστη και τυχόν διαθέσιμες λύσεις.
Τις παρακάτω προτιμήσεις πολιτικής ομάδας δεν θα επιτρέψει ονόματα χρηστών και κωδικούς πρόσβασης για να αποθηκευτούν:
-
Χάρτες μονάδας δίσκου
-
Τοπικοί χρήστες και ομάδες
-
Προγραμματισμένες εργασίες
-
Υπηρεσίες
-
Αρχεία προέλευσης δεδομένων
Αυτό θα επηρεάσει τη συμπεριφορά των τυχόν υπάρχοντα αντικείμενα πολιτικής ομάδας (GPO) στο περιβάλλον σας που βασίζονται σε κωδικούς πρόσβασης που περιέχονται σε αυτές τις προτιμήσεις. Επίσης, δεν θα αποτρέψει δημιουργώντας νέες προτιμήσεις πολιτικής ομάδας χρησιμοποιώντας αυτήν τη λειτουργικότητα.
Για αντιστοιχίσεις δίσκου, τοπικοί χρήστες και ομάδες και υπηρεσίες, ενδέχεται να έχετε τη δυνατότητα για την επίτευξη στόχων παρόμοιων με άλλα, πιο ασφαλή λειτουργία στα Windows.
Για προγραμματισμένες εργασίες και αρχεία προέλευσης δεδομένων, δεν θα μπορείτε να επιτύχετε τους ίδιους στόχους που ήταν διαθέσιμες από τη μη ασφαλή λειτουργικότητα προτιμήσεις πολιτικής ομάδας κωδικών πρόσβασης.
Σενάρια
Αυτή η αλλαγή επηρεάζει τις παρακάτω προτιμήσεις πολιτικής ομάδας. Κάθε προτίμηση καλύπτεται εν συντομία και, στη συνέχεια, με περισσότερες λεπτομέρειες. Επιπλέον, οι λύσεις είναι υπό τον όρο που σας επιτρέπουν να εκτελέσετε τις ίδιες εργασίες.
Προτίμηση που επηρεάζονται |
Ισχύει για το χρήστη |
Ισχύει για υπολογιστή |
Διαχείριση τοπικών χρηστών |
Ναι |
Ναι |
Αντιστοιχισμένες μονάδες δίσκου |
Ναι |
Όχι |
Υπηρεσίες |
Όχι |
Ναι |
Προγραμματισμένες εργασίες (επάνω επίπεδο) |
Ναι |
Ναι |
Προγραμματισμένες εργασίες (κάτω επίπεδο) |
Ναι |
Ναι |
Επείγουσες εργασίες (επάνω επίπεδο) |
Ναι |
Ναι |
Επείγουσες εργασίες (κάτω επίπεδο) |
Ναι |
Ναι |
Αρχεία προέλευσης δεδομένων |
Ναι |
Ναι |
Σύνοψη των αλλαγών
-
Πεδία κωδικών πρόσβασης σε όλες τις προτιμήσεις που επηρεάζονται είναι απενεργοποιημένες. Οι διαχειριστές δεν μπορούν να δημιουργήσουν νέες προτιμήσεις χρησιμοποιώντας αυτά τα πεδία κωδικού πρόσβασης.
-
Το πεδίο "όνομα χρήστη" είναι απενεργοποιημένη σε ορισμένες προτιμήσεις.
-
Υπάρχουσες προτιμήσεις που περιέχει κωδικό πρόσβασης δεν είναι δυνατό να ενημερωθούν. Μπορούν μόνο να διαγραφεί ή απενεργοποιημένο, ανάλογα με τις συγκεκριμένες προτιμήσεις.
-
Δεν έχετε αλλάξει τη συμπεριφορά για διαγραφή και απενεργοποίηση ενέργειες για τις προτιμήσεις.
-
Όταν ένας διαχειριστής θα ανοίξει κάποια επιλογή που περιέχει το χαρακτηριστικό CPassword, ο διαχειριστής λαμβάνει το παρακάτω πλαίσιο διαλόγου Προειδοποίηση για την ενημέρωση του από την πρόσφατη αποδοκιμασία. Προσπάθειες για να αποθηκεύσετε τις αλλαγές σε νέα ή υπάρχουσα προτιμήσεις που απαιτούν το χαρακτηριστικό CPassword θα ενεργοποιήσει το ίδιο παράθυρο διαλόγου. Διαγράψετε μόνο και απενεργοποίηση ενέργειες δεν θα ενεργοποιήσουν τα παράθυρα διαλόγου προειδοποίησης.
Σενάριο 1: Διαχείριση τοπικών χρηστών
Η προτίμηση τοπικής διαχείρισης χρήστη χρησιμοποιείται συχνά για τη δημιουργία τοπικών διαχειριστών που έχουν γνωστά κωδικού πρόσβασης σε έναν υπολογιστή. Αυτή η δυνατότητα δεν είναι ασφαλές, εξαιτίας του τρόπου που προτιμήσεις πολιτικής ομάδας αποθηκεύει κωδικούς πρόσβασης. Επομένως, αυτή η λειτουργικότητα δεν είναι πλέον διαθέσιμη. Επηρεάζονται οι ακόλουθες προτιμήσεις:
-
Ρύθμιση παραμέτρων υπολογιστή -> Πίνακας ελέγχου ρυθμίσεις -> Τοπικοί χρήστες και ομάδες -> νέων -> τοπικού χρήστη
-
Ρύθμιση παραμέτρων χρήστη -> Πίνακας ελέγχου ρυθμίσεις -> Τοπικοί χρήστες και ομάδες -> νέων -> τοπικού χρήστη
Σημαντικές αλλαγές
Ενέργεια: Δημιουργία ή η αντικατάσταση
-
Τα πεδία όνομα χρήστη, κωδικό πρόσβασηςκαι Επιβεβαίωση κωδικού πρόσβασης είναι απενεργοποιημένη.
-
Παράθυρο διαλόγου προειδοποίηση εμφανίζεται όταν ο διευθυντής ανοίγει ή προσπαθεί να αποθηκεύσετε οποιαδήποτε αλλαγή σε μια υπάρχουσα προτίμηση που περιέχει έναν κωδικό πρόσβασης.
Ενέργεια: ενημέρωση
-
Τα πεδία κωδικού πρόσβασης "και" Επιβεβαίωση κωδικού πρόσβασης είναι απενεργοποιημένη.
-
Παράθυρο διαλόγου προειδοποίηση εμφανίζεται όταν ο διευθυντής ανοίγει ή προσπαθεί να αποθηκεύσετε οποιαδήποτε αλλαγή σε μια υπάρχουσα προτίμηση που περιέχει έναν κωδικό πρόσβασης.
Ενέργεια: διαγραφή
-
Καμία αλλαγή στη συμπεριφορά
Εναλλακτικοί τρόποι αντιμετώπισης
Για όσους προηγουμένως βασιζόταν στην τις προτιμήσεις πολιτικής ομάδας για ρύθμιση-κωδικοί πρόσβασης τοπικού διαχειριστή, η ακόλουθη δέσμη ενεργειών παρέχεται ως ασφαλής εναλλακτική λύση για να CPassword. Αντιγραφή και αποθήκευση των περιεχομένων σε ένα νέο αρχείο Windows PowerShell και, στη συνέχεια, εκτελέστε τη δέσμη ενεργειών, όπως υποδεικνύεται στο του. Το ΠΑΡΆΔΕΙΓΜΑ στην ενότητα.
Η Microsoft παρέχει παραδείγματα προγραμματισμού μόνο για επεξήγηση, χωρίς καμία εγγύηση, είτε σιωπηρή είτε ρητή. Αυτό περιλαμβάνει, ενδεικτικά, τις σιωπηρές εγγυήσεις εμπορευσιμότητας ή καταλληλότητας για συγκεκριμένο σκοπό. Αυτό το άρθρο προϋποθέτει ότι είστε εξοικειωμένοι με τη γλώσσα προγραμματισμού που παρουσιάζεται, καθώς και με τα εργαλεία που χρησιμοποιούνται για τη δημιουργία διαδικασιών και τον εντοπισμό σφαλμάτων σε αυτές. Οι μηχανικοί υποστήριξης της Microsoft μπορούν να σας εξηγήσουν τη λειτουργικότητα μιας συγκεκριμένης διαδικασίας. Ωστόσο, δεν θα τροποποιήσουν αυτά τα παραδείγματα για να παράσχουν πρόσθετες λειτουργίες, ούτε θα δημιουργήσουν διαδικασίες για να καλύψουν τις συγκεκριμένες απαιτήσεις σας.
function Invoke-PasswordRoll
{
<#
.SYNOPSIS
This 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
Function: Invoke-PasswordRoll
Author: Microsoft
Version: 1.0
.DESCRIPTION
This 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 ComputerName
An array of computers to run the script against using PowerShell remoting.
.PARAMETER LocalAccounts
An array of local accounts whose password should be changed.
.PARAMETER TsvFileName
The file to output the username/password/server combinations to.
.PARAMETER EncryptionKey
A 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 PasswordLength
The length of the passwords which will be randomly generated for local accounts.
.PARAMETER NoEncryption
Do 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 file
Invoke-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 changed
to 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 file
Invoke-PasswordRoll -ComputerName (Get-Content computerlist.txt) -LocalAccounts @("administrator") -TsvFileName "LocalAdminCredentials.tsv" -NoEncryption -PasswordLength 40
Connects 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 generated
password of length 40. The username/password/server combinations are stored in LocalAdminCredentials.tsv unencrypted.
.NOTES
Requirements:
-PowerShellv2 or above must be installed
-PowerShell remoting must be enabled on all systems the script will be run against
Script 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
{
<#
.SYNOPSIS
This function can be used to decrypt passwords that were stored encrypted by the function Invoke-PasswordRoll.
Function: ConvertTo-CleartextPassword
Author: Microsoft
Version: 1.0
.DESCRIPTION
This function can be used to decrypt passwords that were stored encrypted by the function Invoke-PasswordRoll.
.PARAMETER EncryptedPassword
The encrypted password that was stored in a TSV file.
.PARAMETER EncryptionKey
The password used to do the encryption.
.EXAMPLE
. .\Invoke-PasswordRoll.ps1 #Loads the functions in this script file
ConvertTo-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)))
}
Οι διαχειριστές μπορούν να προσθέσετε λογαριασμούς τοπικού διαχειριστή σε υπολογιστές, δημιουργώντας μια ομάδα της υπηρεσίας καταλόγου Active Directory και προσθήκη στην τοπική ομάδα Administrators μέσω προτιμήσεις πολιτικής ομάδας -> η τοπική ομάδα. Αυτή η ενέργεια δεν αποθηκεύει προσωρινά τα διαπιστευτήρια. Το παράθυρο διαλόγου παρόμοιο με το ακόλουθο. Αυτή η λύση απαιτεί σύνδεση στις υπηρεσίες τομέα Active Directory, όταν ο χρήστης συνδέεται, χρησιμοποιώντας αυτά τα διαπιστευτήρια.
Σενάριο 2: Αντιστοιχισμένες μονάδες δίσκου
Οι διαχειριστές χρησιμοποιούν αντιστοιχίσεων μονάδας δίσκου για εκχώρηση θέσεις δικτύου στους χρήστες. Η δυνατότητα προστασίας κωδικού πρόσβασης χρησιμοποιείται για να διασφαλίσετε εξουσιοδοτημένη πρόσβαση στη μονάδα δίσκου. Επηρεάζονται οι ακόλουθες προτιμήσεις:
-
Ρύθμιση παραμέτρων χρήστη -> Windows Ρυθμίσεις -> μονάδα χάρτες -> νέων -> αντιστοιχισμένη μονάδα δίσκου
Σημαντικές αλλαγές
Ενέργεια: Δημιουργία, ενημέρωση, ή η αντικατάσταση
-
Τα πεδία όνομα χρήστη, κωδικό πρόσβασηςκαι Επιβεβαίωση κωδικού πρόσβασης είναι απενεργοποιημένη.
Ενέργεια: διαγραφή
-
Καμία αλλαγή στη συμπεριφορά
Εναλλακτικοί τρόποι αντιμετώπισης
Αντί να χρησιμοποιήσετε τη μέθοδο κωδικό πρόσβασης για τον έλεγχο ταυτότητας, μπορείτε να χρησιμοποιήσετε την Εξερεύνηση των Windows για να διαχειριστείτε τα δικαιώματα κοινής χρήσης και εκχώρηση δικαιωμάτων σε χρήστες. Μπορείτε να χρησιμοποιήσετε αντικείμενα Active Directory ελέγχου των δικαιωμάτων για το φάκελο.
Σενάριο 3: υπηρεσίες
Μπορείτε να χρησιμοποιήσετε την προτίμηση "Υπηρεσίες" για να αλλάξετε τις ιδιότητες της υπηρεσίας με τέτοιο τρόπο ώστε να εκτελούνται σε περιβάλλον εκτός από το αρχικό περιβάλλον ασφαλείας. Επηρεάζονται οι ακόλουθες προτιμήσεις:
-
Ρύθμιση παραμέτρων υπολογιστή -> Πίνακας ελέγχου ρυθμίσεις -> υπηρεσίες -> νέων -> υπηρεσίας
Σημαντικές αλλαγές
Εκκίνησης: Καμία αλλαγή, αυτόματη ή μη αυτόματη
-
Τα πεδία κωδικού πρόσβασης "και" Επιβεβαίωση κωδικού πρόσβασης είναι απενεργοποιημένη.
-
Ο διαχειριστής μπορεί να χρησιμοποιήσει μόνο ενσωματωμένων λογαριασμών.
Εκκίνηση: Απενεργοποίηση
-
Καμία αλλαγή στη συμπεριφορά
Νέο παράθυρο διαλόγου
-
Οι διαχειριστές που προσπαθείτε να χρησιμοποιήσετε μη ενσωματωμένη-σε χρήστες για αυτόν το λογαριασμό", εμφανίζεται το ακόλουθο προειδοποιητικό μήνυμα:
Εναλλακτικοί τρόποι αντιμετώπισης
Οι υπηρεσίες μπορεί να εξακολουθούν να εκτελούνται ως λογαριασμός τοπικού συστήματος. Δικαιώματα υπηρεσίας μπορεί να αλλοιωθεί, όπως τεκμηριώνεται στο ακόλουθο άρθρο της Γνωσιακής Βάσης της Microsoft:
256345 πώς να ρυθμίσεις ρυθμίσεις πολιτικής ομάδας για να ορίσετε την ασφάλεια για υπηρεσίες συστήματος
Σημείωση Εάν δεν υπάρχει η υπηρεσία που θέλετε να ρυθμίσετε τις παραμέτρους, πρέπει να ρυθμίσετε τις παραμέτρους σε έναν υπολογιστή που έχει η υπηρεσία εκτελείται.
Σενάριο 4: Προγραμματισμένη και άμεση εργασίες (επάνω επίπεδο)
Αυτοί οι χαρακτήρες χρησιμοποιούνται για να εκτελέσετε τις προγραμματισμένες εργασίες σε περιβάλλον ασφαλείας με ειδικά. Διατίθεται πλέον τη δυνατότητα να αποθηκεύσετε πιστοποιήσεις για προγραμματισμένες εργασίες να εκτελούνται ως κάποιος αυθαίρετος χρήστης όταν αυτός ο χρήστης δεν είναι συνδεδεμένος. Επηρεάζονται οι παρακάτω προτιμήσεις. (Θα πρέπει να γνωρίζετε που σε ορισμένες πλατφόρμες, "τουλάχιστον τα Windows 7" αντικαθίσταται από "τα Windows Vista και νεότερες εκδόσεις.")
-
Ρύθμιση παραμέτρων υπολογιστή -> Ρυθμίσεις πίνακα ελέγχου -> προγραμματισμένες εργασίες -> New -> προγραμματισμένης εργασίας (τουλάχιστον τα Windows 7)
-
Ρύθμιση παραμέτρων υπολογιστή -> Ρυθμίσεις πίνακα ελέγχου -> προγραμματισμένες εργασίες -> New -> άμεση εργασία (τουλάχιστον τα Windows 7)
-
Ρύθμιση παραμέτρων χρήστη -> Ρυθμίσεις πίνακα ελέγχου -> προγραμματισμένες εργασίες -> New -> προγραμματισμένης εργασίας (τουλάχιστον τα Windows 7)
-
Ρύθμιση παραμέτρων χρήστη -> Ρυθμίσεις πίνακα ελέγχου -> προγραμματισμένες εργασίες -> New -> άμεση εργασία (τουλάχιστον τα Windows 7)
Σημαντικές αλλαγές
Ενέργεια: Δημιουργία, ενημέρωση, ή η αντικατάσταση
-
Όταν επιλέγετε την επιλογή Εκτέλεση είτε ο χρήστης είναι συνδεδεμένος είτε όχι , ένα πλαίσιο διαλόγου ζητά πλέον ο διαχειριστής διαπιστευτήρια.
-
Το πλαίσιο ελέγχου να μην γίνει αποθήκευση κωδικού πρόσβασης είναι απενεργοποιημένη. Από προεπιλογή, το πλαίσιο είναι επίσης επιλεγμένο.
Ενέργεια: διαγραφή
Καμία αλλαγή στη συμπεριφορά
Εναλλακτικοί τρόποι αντιμετώπισης
Για την "προγραμματισμένη εργασία (τουλάχιστον τα Windows 7)" και "Άμεση εργασία (τουλάχιστον τα Windows 7)" εργασίες, οι διαχειριστές μπορούν να χρησιμοποιούν συγκεκριμένους λογαριασμούς χρηστών όταν ο συγκεκριμένος χρήστης δεν είναι συνδεδεμένος. Ή, μπορεί να έχουν μόνο πρόσβαση σε τοπικούς πόρους ως ο συγκεκριμένος χρήστης. Αυτές οι εργασίες εξακολουθεί να μπορεί να εκτελούνται στο περιβάλλον από την τοπική υπηρεσία.
Σενάριο 5: Προγραμματισμένη και άμεση εργασίες (κάτω επίπεδο)Αυτή είναι η έκδοση χαμηλού επιπέδου των προτιμήσεων που χρησιμοποιείται για την εκτέλεση προγραμματισμένων εργασιών σε περιβάλλον ασφαλείας με ειδικά. Διατίθεται πλέον τη δυνατότητα να αποθηκεύσετε πιστοποιήσεις για προγραμματισμένες εργασίες να εκτελούνται ως κάποιος αυθαίρετος χρήστης όταν αυτός ο χρήστης δεν είναι συνδεδεμένος. Επηρεάζονται οι ακόλουθες προτιμήσεις:
-
Ρύθμιση παραμέτρων υπολογιστή -> Πίνακας ελέγχου ρυθμίσεις -> προγραμματισμένες εργασίες -> New -> προγραμματισμένης εργασίας
-
Ρύθμιση παραμέτρων υπολογιστή -> Πίνακας ελέγχου ρυθμίσεις -> προγραμματισμένες εργασίες -> New -> άμεση εργασιών (Windows XP)
-
Ρύθμιση παραμέτρων χρήστη -> Πίνακας ελέγχου ρυθμίσεις -> προγραμματισμένες εργασίες -> New -> προγραμματισμένης εργασίας
-
Ρύθμιση παραμέτρων χρήστη -> Πίνακας ελέγχου ρυθμίσεις -> προγραμματισμένες εργασίες -> New -> άμεση εργασιών (Windows XP)
Σημαντικές αλλαγές
Ενέργεια: Δημιουργία, ενημέρωση, ή η αντικατάσταση
-
Πλαίσιο ελέγχου " Εκτέλεση ως " είναι απενεργοποιημένη. Επομένως, τα πεδία Όνομα χρήστη, κωδικό πρόσβασηςκαι Επιβεβαιώστε τον κωδικό πρόσβασης είναι όλα απενεργοποιημένα.
Ενέργεια: διαγραφή
Καμία αλλαγή στη συμπεριφορά
Εναλλακτικοί τρόποι αντιμετώπισης
Για τα στοιχεία "Άμεση εργασιών (Windows XP)" και "Προγραμματισμένη εργασία", οι προγραμματισμένες εργασίες εκτελούνται χρησιμοποιώντας τα δικαιώματα που είναι διαθέσιμοι στην τοπική υπηρεσία.
Σενάριο 6: Πηγές δεδομένων
Η προτίμηση προελεύσεις δεδομένων χρησιμοποιείται για να συσχετίσετε ένα αρχείο προέλευσης δεδομένων με έναν υπολογιστή ή χρήστη. Αυτή η δυνατότητα δεν είναι πλέον αποθηκεύει διαπιστευτήρια για να ενεργοποιήσετε την πρόσβαση σε αρχεία προέλευσης δεδομένων που προστατεύονται από κωδικό πρόσβασης. Επηρεάζονται οι ακόλουθες προτιμήσεις:
-
Ρύθμιση παραμέτρων υπολογιστή -> Πίνακας ελέγχου ρυθμίσεις -> αρχεία προέλευσης δεδομένων
-
Ρύθμιση παραμέτρων χρήστη -> Πίνακας ελέγχου ρυθμίσεις -> αρχεία προέλευσης δεδομένων
Σημαντικές αλλαγές
Ενέργεια: Δημιουργία, ενημέρωση, ή η αντικατάσταση
-
Απενεργοποιούνται τα πεδία Όνομα χρήστη, κωδικό πρόσβασηςκαι Επιβεβαίωση κωδικού πρόσβασης :
Ενέργεια: διαγραφή
-
Καμία αλλαγή στη συμπεριφορά
Εναλλακτικοί τρόποι αντιμετώπισης
Δεν υπάρχουν εναλλακτικοί τρόποι αντιμετώπισης είναι διαθέσιμοι. Αυτή η προτίμηση αποθηκεύει πλέον διαπιστευτήρια για να επιτρέπεται η πρόσβαση σε αρχεία προέλευσης δεδομένων που προστατεύονται από κωδικό πρόσβασης.
Αποδοκιμασία του CPassword
Κατάργηση CPassword
Η δέσμη ενεργειών του Windows PowerShell που περιλαμβάνεται σε αυτό το άρθρο της Γνωσιακής Βάσης της Microsoft εντοπίζει εάν ένας τομέας περιέχει τις προτιμήσεις πολιτικής ομάδας που μπορεί να χρησιμοποιήσει το CPassword. Εάν ανιχνευθεί CPassword XML σε μια συγκεκριμένη προτίμηση, εμφανίζεται σε αυτήν τη λίστα.
Εντοπισμός προτιμήσεις CPassword
Αυτή η δέσμη ενεργειών πρέπει να εκτελεστεί από έναν τοπικό κατάλογο στον ελεγκτή τομέα που θέλετε να εκκαθαρίσετε. Αντιγραφή και αποθήκευση των περιεχομένων σε ένα νέο αρχείο Windows PowerShell, προσδιορίσετε μονάδα δίσκου του συστήματος και, στη συνέχεια, εκτελέστε τη δέσμη ενεργειών, σύμφωνα με την ακόλουθη χρήση.
<#.SYNOPSIS
Group 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. Services
These 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.
.DESCRIPTION
This 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.
.SYNTAX
Get-SettingsWithCPassword.ps1 [-Path <String>]
.EXAMPLE
Get-SettingsWithCPassword.ps1 -Path %WinDir%\SYSVOL\domain
Get-SettingsWithCPassword.ps1 -Path <GPO Backup Folder Path>
.NOTES
If 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.
.LINK
http://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"
}
Παράδειγμα χρήσης (υποθέτει ότι η μονάδα δίσκου συστήματος είναι C)
.\Get-SettingsWithCPassword.ps1 –path “C:\Windows\SYSVOL\domain” | Format-List
Σημείωση Να έχετε υπόψη σας ότι μπορείτε επίσης να προορίσετε οποιοδήποτε αντίγραφο ασφαλείας αντικειμένου πολιτικής ΟΜΆΔΑΣ για τη διαδρομή αντί για τον τομέα.
Η δέσμη ενεργειών εντοπισμού δημιουργεί μια λίστα με παρόμοιο με το ακόλουθο:
Για μεγαλύτερη λίστες, εξετάστε το ενδεχόμενο να αποθηκευτεί το αποτέλεσμα σε ένα αρχείο:
.\Get-SettingsWithCPassword.ps1 –path “C:\Windows\SYSVOL\domain” | ConvertTo-Html > gpps.html
Κατάργηση των προτιμήσεων CPassword
Για να καταργήσετε τις προτιμήσεις που περιέχουν δεδομένα CPassword, συνιστούμε να χρησιμοποιείτε Κονσόλα διαχείρισης πολιτικής ομάδας (GPMC) στον ελεγκτή τομέα ή από έναν υπολογιστή-πελάτη που έχει Εργαλεία διαχείρισης απομακρυσμένου διακομιστή εγκαταστήσει. Μπορείτε να καταργήσετε οποιαδήποτε προτίμηση στα πέντε βήματα σε αυτές τις κονσόλες. Για να το κάνετε αυτό, ακολουθήστε τα εξής βήματα:
-
Στην κονσόλα διαχείρισης πολιτικής ΟΜΆΔΑΣ, ανοίξτε την προτίμηση που περιέχει δεδομένα CPassword.
-
Αλλάξτε την ενέργεια, να διαγράψετε ή να απενεργοποιήσετε, ανάλογα με την περίπτωση της προτίμησης.
-
Κάντε κλικ στο κουμπί OK για να αποθηκεύσετε τις αλλαγές σας.
-
Περιμένετε μία ή δύο κύκλων ανανέωσης πολιτικής ομάδας για να επιτρέπονται οι αλλαγές σε προγράμματα-πελάτες.
-
Αφού οι αλλαγές εφαρμόζονται σε όλους τους υπολογιστές-πελάτες, διαγράψτε την προτίμηση.
-
Επαναλάβετε τα βήματα 1 έως 5 ανάλογα με τις ανάγκες για να καθαρίσετε ολόκληρο το περιβάλλον σας. Όταν η δέσμη ενεργειών εντοπισμού επιστρέφει μηδέν αποτελέσματα, έχετε ολοκληρώσει τη διαδικασία.
Όνομα αρχείου |
Κατακερματισμός SHA1 |
Κατακερματισμός SHA256 |
---|---|---|
Windows6.0-KB2928120-ia64.msu |
B2A74305CB56191774BFCF9FCDEAA983B26DC9A6 |
DCE8C0F9CEB97DBF1F7B9BAF76458B3770EF01C0EDC581621BC8C3B2C7FD14E7 |
Windows6.0-KB2928120-x64.msu |
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 |
230C64447CC6E4AB3AD7B4D4655B8D8CEFBFBE98 |
E3FAD567AB6CA616E42873D3623A777185BE061232B952938A8846A974FFA7AF |