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

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

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

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

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

В идеале хотелось бы решение средствами PHP и MySQL, но вполне устроят отсылки к общим принципам и алгоритмам. Только, пожалуйста, не совсем уж к азам информационной безопасности :-)
  • Вопрос задан
  • 7135 просмотров
Решения вопроса 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. (ну и сертификат добавьте для более большей надежности)
--------------
Ну а по шифрованию - уже все и так здесь много полезного сказали.
Добавлю лишь: главное - защищайте "соль".
Ответ написан
Комментировать
У меня в закладках лежит старенький, но довольно интересный пост на Хабре как раз об обратимом шфировании по методу "двойного квадрата".
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы