valerium
@valerium
Изобретая велосипед

Как правильно (безопасно) хранить пароли от сторонних сервисов в базе данных?

Пишу скрипт (плагин к WordPress), который должен время от времени стучаться на FTP/WebDAV/Ещё что-то под своим логином и паролем и бросать туда файл. Соответсвенно, брать логин и пароль скрипт будет из базы данных MySQL.

Вопрос в том, есть ли методы шифрования паролей в таких случаях? То есть, если удастся стащить базу, чтобы нельзя было получить доступ к этому FTP-серверу. Может, есть способы хранить эти пароли надёжнее, чем в базе данных?

Скрипт должен работать автономно, так что каждый раз вводить пароль ручками — не вариант.

В идеале хотелось бы решение средствами PHP и MySQL, но вполне устроят отсылки к общим принципам и алгоритмам. Только, пожалуйста, не совсем уж к азам информационной безопасности :-)
  • Вопрос задан
  • 7086 просмотров
Решения вопроса 2
EugeneOZ
@EugeneOZ
Вам нужна функция crypt
Вам нужна функция mcrypt_encrypt

Вот готовая реализация уже:
https://github.com/jamm/MVC/blob/master/src/Jamm/MVC/Models/Crypt.php
(ничего от себя не добавлено, всё стандартное)

Вообще, для доступа к сторонним сервисам без хранения пароля придуман OAuth - посмотрите, может у каких-то из этих сервисов есть такое. Токен можно использовать потом и автономно, без юзера.
Ответ написан
hell0w0rd
@hell0w0rd
Просто разработчик
http://ekimoff.ru/316/
В качестве ключа можно взять например хеш пароля клиента + соль для каждого пароля, ну, я бы так сделал)
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
1. Сделайте коннект к промежуточному хосту (как прокси-хост), на нем пропишите соответствие login:pass (внутренний) -> host,login,pass,port (внешний)
2. Пропишите, что к промежуточному хосту доступ только с определенного IP (или сертификат).
3. Не открывайте доступ к этой связке хранения (файловая система, БД и т.д.)
Все это нужно делать обязательно на другом сервере (возможно виртуальная машина)

Если даже пароли украли - вы их смените в одно мгновение. (не меняя удаленные)
Если попытаются подключиться с украденными паролями, то доступ будет только с указанного IP. (ну и сертификат добавьте для более большей надежности)
--------------
Ну а по шифрованию - уже все и так здесь много полезного сказали.
Добавлю лишь: главное - защищайте "соль".
Ответ написан
Комментировать
У меня в закладках лежит старенький, но довольно интересный пост на Хабре как раз об обратимом шфировании по методу "двойного квадрата".
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы