Служба паролей Unix для хранения простого текста в веб-приложении php? - PullRequest
2 голосов
/ 27 марта 2012

Существует ли служба Unix или, по крайней мере, одна, которую я мог бы объединить для хранения незашифрованного пароля для веб-приложения PHP?

При составлении этого вопроса я обнаружил, что c # предоставляет службу для хранения паролей в зашифрованном виде.

Я должен хранить обычные текстовые пароли, потому что приложение подключается к различным FTP-серверам.Не все эти серверы настроены на использование открытых ключей.Два вектора, от которых я ищу защиту, - это дампы базы данных, и кто-то получает пароль в виде открытого текста из файла в файловой системе.

Мне было интересно, есть ли способ, которым ОС сервера может хранить зашифрованную строкудля пользователя, под которым запущено приложение - apache, www-data или еще кто-то.Я понимаю, что такая система по-прежнему уязвима для тех, кто получает доступ к этим учетным записям или загружает вредоносные сценарии PHP, но я чувствую, что с нашей текущей практикой это приемлемый риск.Я просто смотрю, чтобы не хранить незашифрованный пароль в БД или в файловой системе.

1 Ответ

1 голос
/ 29 декабря 2014

Из вашего вопроса я предполагаю, что вы используете Apache. Конфигурационные файлы Apache должны быть доступны для чтения только пользователю root, поэтому любая информация, хранящаяся здесь, должна быть довольно безопасной. Если кто-то получит доступ с правами root, он, возможно, все равно сможет каким-то образом извлечь пароль.

Вы можете использовать Apache SetEnv , чтобы установить переменную окружения:

SetEnv mySQL_PASS somePassword

Это будет доступно для PHP с использованием $ _ SERVER superglobal.

echo $_SERVER['mySQL_PASS'];
...