Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Create and access a list of your products

Dell Command PowerShell Provider Güvenli Parola özelliği

Summary: Dell Command | PowerShell Provider (DCPP) Güvenli Parola özelliği, ConvertTo-SecureString, ConvertFrom-SecureString

This article applies to   This article does not apply to 

Instructions

Etkilenen Ürünler:

  • Dell Command | PowerShell Provider

Güvenli parolaların arkasındaki mantık, üretim komut dosyalarında önemli parolaları düz görünüm olarak geçirmememiz gerektiğidir. Bu önemli bir güvenlik eksikliğidir. PowerShell kullanarak bir parolayı güvenli hale getirebilir veya en azından parola görünürlüğünü azaltabiliriz. Öncelikle güvenli dizenin genel yönlerini tartışacağız ve ardından Dell Command PowerShell Provider'ın (DCPP) parolayı güvenli hale getirmek için PowerShell'in entegre özelliğinden nasıl yararlandığını tartışacağız.

Konsol kullanıcılarından kullanıcı adını ve parolayı okumak istediğimizi düşünün. Kullanıcı adının genellikle herhangi bir güvenlik gerektirmediğini ve herkes tarafından görülebileceğini biliyoruz. Ancak parola için yabancıların kullanıcı parolasını bilmesine izin vermemeliyiz. Bu gereksinimi aşağıdaki gibi komutlarla yerine getirebiliriz:

$user = Read-Host "Enter Username"

$pass = Read-Host "Enter Password" -AsSecureString

Yukarıda, parola gibi kritik bilgileri güvence altına almamız gerektiğinde nasıl daha fazla güvenlik ekleyebileceğimize genel bakış sunulmuştur. Yukarıdaki örnekte $pass değişkeni şu tiptedir: System.Security.SecureString. DCPP'nin özelliklerine değinmeden önce PowerShell'in güvenli alanları sağlamak için yaygın olarak kullanılan diğer iki cmdlet ile giriş yapıyoruz.

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. Bunun için 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.

Şu anda 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 parolası belirlendi ve bunu bir dosyaya kaydetmemiz gerekiyor. Bunu şu şekilde yapabiliriz:

Read-Host "Enter Admin Password" -AsSecureString |
ConvertFrom-SecureString | Out-File "C:\Scripts\AdminPassword.txt"

Bu yönetici parolasını güvenli bir nesne olarak bir değişkene geri alabiliriz:

$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ı için ilgili şifreyi geçmemiz gerekir. Dolayısıyla, bu parolayı düz metin olarak vermek güvenliği ihlal eder. Parolayı şu şekilde iletmeliyiz: System.Security.SecureString. Ayrıca, bir SecureString parolası ilettiğimizde bunu -PasswordSecure anahtarı ile iletmemiz gerekir, normal –Password anahtarı ile değil. Aşağıda kullanıcının AdvancedBatteryChargeCfg öğesini Disabled olarak ayarlamaya çalıştığı ve SecureString parolasını ilettiği bir örnek gösterilmektedir:

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 $pass öğesini şu şekilde okuyabiliriz:

$pass = Read-Host "Enter system/admin password" –AsSecureString

Ardından $pass öğesini bir dosyaya şu şekilde kaydedebiliriz:

$pass| ConvertFrom-SecureString | Out-File "C:\Scripts\AdminPassword.txt

Additional Information

Affected Products

Dell Command | Powershell Provider