Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Шифрование паролей powershell

Автор вопроса: steveОтветов: 2

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

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

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

Спасибо

encryptionpasswordssecuritypowershell

Ответы

Ответ 1 · рейтинг 4 · Zed

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

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

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

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

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

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

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

Ответ 2 · Chad Miller

Я использовал эту библиотеку 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"

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы