Funkce zabezpečeného hesla v nástroji Dell Command PowerShell Provider
Summary: Funkce zabezpečeného hesla v nástroji Dell Command | PowerShell Provider (DCPP), ConvertTo-SecureString, ConvertFrom-SecureString
Instructions
Dotčené produkty:
- Dell Command | PowerShell Provider
Koncept bezpečných hesel spočívá v tom, že v produkčních skriptech by neměla předávat důležitá hesla jako prosté zobrazení. Jedná se o vážný nedostatek zabezpečení. Použití PowerShellu tedy může zabezpečit heslo nebo alespoň snížit viditelnost hesla. Nejprve probereme obecné aspekty zabezpečeného řetězce a poté probereme, jak DCPP využívá vrozenou funkci PowerShellu k zabezpečení hesla.
Vezměte v úvahu, že chcete přečíst uživatelské jméno a heslo od uživatele v konzole. Je známo, že uživatelské jméno obecně nevyžaduje žádné zabezpečení a může být viditelné pro všechny. Ale pro heslo nechcete, aby cizí lidé znali heslo uživatele. Tento požadavek lze usnadnit pomocí níže uvedených příkazů:
$user = Read-Host "Enter Username" $pass = Read-Host "Enter Password" -AsSecureString
Výše uvedené je přehledem toho, jak lze zvýšit zabezpečení důležitých informací, jako je heslo. Ve výše uvedeném příkladu je proměnná $pass typu System.Security.SecureString. V dalším kroku se seznámíte se dvěma dalšími široce používanými rutinami, které PowerShell poskytuje k usnadnění zabezpečených polí, než se dotknete aspektů DCPP.
Těmito příkazy je ConvertTo-SecureString a ConvertFrom-SecureString. ConvertTo-SecureString převádí prostý text na typ System.Security.SecureString. Níže je uveden příklad:
"P@ssword1" | ConvertTo-SecureString -AsPlainText -Force
Ve výše uvedeném příkladu je prostý text P@assword1 převeden na System.Security.SecureString. Jedná se spíše o informaci a může, ale nemusí být široce využívána.
Další rutina ConvertFrom-SecureString je široce využívaná a slouží k převodu zabezpečených řetězců na šifrované standardní řetězce. Hlavní omezení ConvertTo-SecureString je, že výstup nelze přímo zapsat do souboru pro budoucí použití. Musíte použít ConvertFrom-SecureString , což převede System.Security.SecureString do šifrovaného standardního řetězce, který lze pohodlně uložit do souboru, aby toto omezení nebylo překážkou.
Převádíte prostý text P@ssword1 , abychom zajistili řetězec, a poté převádíme jeho výstup na ConvertFrom-SecureString , abychom získali šifrovaný řetězec, který lze bezpečně a pohodlně uložit do souboru.
Jako příklad řekněme, že na počítači bylo nastaveno heslo správce a musí být uloženo do souboru. To se provádí pomocí následujících metod:
Read-Host "Enter Admin Password" -AsSecureString | ConvertFrom-SecureString | Out-File "C:\Scripts\AdminPassword.txt"
Tento příkaz může načíst toto heslo správce zpět do proměnné jako zabezpečený objekt, například:
$pass = Get-Content "C:\Scripts\AdminPassword.txt" | ConvertTo-SecureString
Nyní se podívejme, jak využít bezpečné heslo pro nástroj DCPP. Pokud má počítač uživatele v nástroji DCPP nastaveno heslo systému nebo správce, pak pro všechny příkazy set příkazy, musíte předat příslušné heslo. Když tedy poskytnete toto heslo ve formě prostého textu, narušujete zabezpečení. Heslo musíte předat jako System.Security.SecureString. Také, když projdete SecureString heslo, musíte jej předat s a -PasswordSecure , a nikoli normální přepínač –Password . Níže je uveden příklad, kdy se uživatel pokouší nastavit AdvancedBatteryChargeCfg na Disabled a předává heslo SecureString :
Set-item AdvancedBatteryChargeCfg disabled –PasswordSecure $pass
Zde část $pass obsahuje heslo systému a heslo správce a je typu System.Security.SecureString. Podobně jako ve výše uvedené diskusi si můžete přečíst $pass jako:
$pass = Read-Host "Enter system/admin password" –AsSecureString
Můžete ušetřit $pass do souboru, pokud je to potřeba, jako:
$pass| ConvertFrom-SecureString | Out-File "C:\Scripts\AdminPassword.txt
Additional Information
Související články: