Шифрование паролей PowerShell - PullRequest
7 голосов
/ 15 марта 2011

У меня есть сценарий powershell, который подключается к базе данных MySQL. Конечно, для этого подключения требуется пароль, и я хотел бы каким-то образом его зашифровать, а не сохранять пароль в виде простого текста.

Я посмотрел на методы securestring, выводящие пароль в файл, однако я не думаю, что они будут работать, потому что зашифрованный пароль может быть дешифрован только исходным пользователем, и сценарий будет распространяться на несколько машинпо сети.

Какие-либо предложения по любым другим методам, которые будут полезны?

Спасибо

Ответы [ 2 ]

4 голосов
/ 15 марта 2011

Если сценарий будет распространяться на несколько компьютеров в сети, то все учетные данные, которые будет использовать ваш сценарий, будут доступны для этих пользователей, и нет никакого способа обойти это.

Вы можете сделать две вещи, если есть личные данные для каждого пользователя:

  1. создать новую учетную запись пользователя в базе данных для каждого пользователя вашей программы с ограниченными правами, позволяющими ему делать только то, что вы хотите, и ничего более
  2. имеет прокси-сервер, который будет аутентифицировать их и подключаться к базе данных по их имени (так работает большинство веб-сайтов)

Если все данные являются общедоступными и доступны только для чтения, вы можете:

  1. создать учетную запись пользователя в базе данных для доступа только для чтения и использовать ее учетные данные во всех распространяемых копиях вашей программы
  2. имеет прокси-сервер, который не проверяет подлинность пользователей, но подключается к базе данных, а не предоставляет ее для общего доступа

Номер 2 каждой из этих опций обычно рекомендуется для каждой базы данных с историей безопасности MySQL, но номер 1 обеих этих опций рекомендуется для баз данных, таких как CouchDB.

Никогда не распространяйте с вашей программой учетные данные, которые не должны использоваться вашими пользователями.

0 голосов
/ 15 марта 2011

Я использовал эту библиотеку PowerShell http://lunaticexperiments.wordpress.com/2009/10/23/powershell-string-encryption-and-gpg/ для шифрования паролей Oracle и Informix.

Вот пример

    #Source Encryption Functions
. ./Library-StringCrypto.ps1
#encrypt string using passphrase
$encrypt = Write-EncryptedString $connString "4#&7yaoff"
#Show encrypted string
$encrypt
#Decrypt string
Read-EncryptedString $encrypt "4#&7yaoff"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...