Article Number: 000146459
Неприменимо
Концепция защищенных паролей заключается в том, что в производственных сценариях не следует передавать важные пароли в виде обычного представления. Это серьезное отсутствие безопасности. Таким образом, с помощью PowerShell можно защитить пароль или как минимум уменьшить визуализацию пароля. Сначала мы обсудим общие аспекты безопасной строки, а затем рассмотрим, как Dell Command PowerShell Provider (DCPP) использует встроенный компонент PowerShell для защиты пароля.
Допустим, что нужно прочитать имя пользователя и пароль от пользователя на консоли. Нам известно, что имя пользователя, как правило, не требует какой-либо безопасности и может быть видимым для всех. Но при паролье не следует знать пароль пользователя посторонним людям. Мы можем упростить это требование с помощью команд, перечисленных ниже:
$user = Read-Host "Enter Username" $pass = Read-Host "Enter Password" -AsSecureString
Выше приведен обзор того, как мы можем добавить дополнительные средства безопасности, когда необходимо обеспечить безопасность критически важной информации, например пароля. В приведенном выше примере переменная $pass имеет тип System.Security.SecureString
. Мы рассмотрим два других широко используемых командлета PowerShell, которые обеспечивают безопасность полей, прежде чем прикасаться к аспектам DCPP.
Две команды: ConvertTo-SecureString
и ConvertFrom-SecureString
. ConvertTo-SecureString
преобразует обычный текст в тип System.Security.SecureString
. Пример показан ниже:
"P@ssword1" | ConvertTo-SecureString -AsPlainText -Force
В приведенном выше примере обычный текст P@assword1
преобразуется в тип System.Security.SecureString
. Это больше информация, которая может быть широко или не используется.
Следующий командлет — ConvertFrom-SecureString
это более широко используемый командлет, который используется для преобразования безопасных строк в зашифрованные стандартные строки. Основное ограничение этого обусловлено ConvertTo-SecureString
тем, что выходные данные не могут быть записаны непосредственно в файл для дальнейшего использования. Для преодоления этого ConvertFrom-SecureString
ограничения System.Security.SecureString
необходимо использовать преобразуемую в зашифрованную стандартную строку, которую можно удобно сохранить в файле.
Мы преобразуем P@ssword1
ConvertFrom-SecureString
обычный текст в безопасную строку, а затем поимяем ее выходные данные в зашифрованную строку, которую можно безопасно и удобно сохранить в файле.
В качестве примера можно сказать, что на компьютере установлен пароль администратора и его нужно сохранить в файл. Это можно сделать с помощью:
Read-Host "Enter Admin Password" -AsSecureString | ConvertFrom-SecureString | Out-File "C:\Scripts\AdminPassword.txt"
Мы можем вернуть этот пароль администратора в переменную в качестве защищенного объекта следующим образом:
$pass = Get-Content "C:\Scripts\AdminPassword.txt" | ConvertTo-SecureString
Теперь рассмотрим, как использовать защищенный пароль для DCPP. Если в DCPP на компьютере пользователя установлен системный пароль или пароль администратора, set
для всех команд необходимо передать соответствующий пароль. Таким образом, предоставление этого пароля в виде обычного текста нарушает безопасность. Поэтому необходимо передать пароль как System.Security.SecureString
. Кроме того, при сдав пароль SecureString
необходимо -PasswordSecure
передать его с помощью коммутатора, а не обычного коммутатора –Password
. Ниже показан пример, в котором пользователь AdvancedBatteryChargeCfg
Disabled
пытается установить и пароль пароль SecureString
:
Set-item AdvancedBatteryChargeCfg disabled –PasswordSecure $pass
Здесь $pass содержит системный пароль и пароль администратора и имеет тип System.Security.SecureString
. Аналогично описанию вышеуказанного обсуждения, мы можем прочитать $pass
:
$pass = Read-Host "Enter system/admin password" –AsSecureString
При необходимости мы можем $pass
сохранить данные в файл следующим образом:
$pass| ConvertFrom-SecureString | Out-File "C:\Scripts\AdminPassword.txt
Dell Command | Powershell Provider
11 Sept 2023
7
Solution