Dell Command PowerShell Provider Güvenli Parola özelliği
Summary: Dell Command | PowerShell Provider (DCPP) Güvenli Parola özelliği, ConvertTo-SecureString, ConvertFrom-SecureString
Instructions
Etkilenen Ürünler:
- Dell Command | PowerShell Provider
Güvenli parolaların arkasındaki kavram, üretim komut dosyalarında önemli parolaları düz görünüm olarak iletmemeleri gerektiğidir. Bu önemli bir güvenlik eksikliğidir. Bu nedenle, PowerShell kullanmak bir parolanın güvenliğini sağlayabilir veya en azından parola görünürlüğünü azaltabilir. İlk olarak, güvenli dizenin genel yönlerini tartışalım ve ardından DCPP'nin parolayı güvenli hale getirmek için PowerShell'in doğuştan gelen özelliğinden nasıl yararlandığını tartışalım.
Konsolda kullanıcıdan gelen kullanıcı adını ve parolayı okumak istediğinizi düşünün. Kullanıcı adının genellikle herhangi bir güvenlik gerektirmediği ve herkes tarafından görülebildiği bilinmektedir. Ancak şifre için yabancıların kullanıcının şifresini bilmesine izin vermek istemezsiniz. Bu gereksinim aşağıdaki komutlarla kolaylaştırılabilir:
$user = Read-Host "Enter Username" $pass = Read-Host "Enter Password" -AsSecureString
Yukarıdakiler, parola gibi daha güvenli kritik bilgiler için nasıl daha fazla güvenlik eklenebileceğine dair bir genel bakıştır. Yukarıdaki örnekte $pass değişkeni şu tiptedir: System.Security.SecureString. Ardından, DCPP'nin yönlerine değinmeden önce PowerShell'in güvenli alanları kolaylaştırmak için sağladığı yaygın olarak kullanılan diğer iki cmdlet'e giriş yaparsınız.
Bu iki komut şunlardır: ConvertTo-SecureString ve ConvertFrom-SecureString. ConvertTo-SecureString düz metni şuna dönüştürür: System.Security.SecureString. Aşağıda bir örnek gösterilmiştir:
"P@ssword1" | ConvertTo-SecureString -AsPlainText -Force
Yukarıdaki örnekte, düz metin P@assword1 şuna dönüştürülür: System.Security.SecureString. Bu daha teknik bir bilgidir ve yaygın olarak kullanılmayabilir.
Bir sonraki cmdlet ConvertFrom-SecureString güvenli dizeleri şifrelenmiş standart dizelere dönüştürmek için kullanılan daha yaygın bir cmdlet'tir. Burada ConvertTo-SecureString ile ilgili ana sınırlama, çıktısının ileride kullanılmak üzere doğrudan bir dosyaya yazılamamasıdır. Kullanmanız gerekir ConvertFrom-SecureString kullanarak System.Security.SecureString değerini, bu sınırlamanın üstesinden gelmek için bir dosyaya rahatça kaydedilebilen şifrelenmiş standart dizeye dönüştürür.
Düz metni dönüştürüyorsunuz P@ssword1 düz metnini dizeyi güvence altına almak ve çıktısını ConvertFrom-SecureString türüne dönüştürerek güvenli ve rahat bir şekilde dosyaya kaydedilebilen şifreli bir dize elde ediyoruz.
Örnek olarak, bir bilgisayarda yönetici şifresinin ayarlandığını ve bir dosyaya kaydedilmesi gerektiğini söyleyelim. Bu, aşağıdakiler kullanılarak yapılır:
Read-Host "Enter Admin Password" -AsSecureString | ConvertFrom-SecureString | Out-File "C:\Scripts\AdminPassword.txt"
Bu komut, bu yönetici parolasını aşağıdaki gibi güvenli bir nesne olarak bir değişkene geri alabilir:
$pass = Get-Content "C:\Scripts\AdminPassword.txt" | ConvertTo-SecureString
Şimdi DCPP için güvenli bir paroladan nasıl yararlanılacağını ele alalım. DCPP'de, kullanıcının bilgisayarında Sistem veya Yönetici parolası ayarlanmışsa o zaman tüm set Komutlar ilgili şifreyi iletmelisiniz. Dolayısıyla, bu parolayı düz metin olarak vermek güvenliği ihlal eder. Parolayı şu şekilde geçirmelisiniz: System.Security.SecureString. Ayrıca, bir SecureString şifre ile geçmelisiniz -PasswordSecure normal değil –Password anahtarı ile birlikte sağlanmalıdır. Kullanıcının ayarlamaya çalıştığı bir örnek aşağıda gösterilmiştir AdvancedBatteryChargeCfg özniteliğinin değerini Disabled ve geçen SecureString Parola:
Set-item AdvancedBatteryChargeCfg disabled –PasswordSecure $pass
Burada $pass sistem ve yönetici parolasını tutar ve şu tiptedir: System.Security.SecureString. Yukarıdaki tartışmaya benzer şekilde okuyabilirsiniz $pass öğesini şu şekilde okuyabiliriz:
$pass = Read-Host "Enter system/admin password" –AsSecureString
Kaydedebilirsiniz $pass öğesini bir dosyaya şu şekilde kaydedebiliriz:
$pass| ConvertFrom-SecureString | Out-File "C:\Scripts\AdminPassword.txt
Additional Information
İlgili Makaleler: