Как безопасно хранить пароль, используемый для стороннего сервиса на моем сайте - PullRequest
0 голосов
/ 24 марта 2019

У меня есть веб-сайт, который я создал с бэкэндом nodeJS, и в настоящее время у меня возникла проблема с безопасностью.

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

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

Заранее спасибо за любую помощь.

Ответы [ 3 ]

0 голосов
/ 24 марта 2019

Вы в основном спрашиваете «как хранить секреты на моем бэкэнде?».

Локально вы будете использовать файл .env, который не предназначен для контроля версий, который хранит ваши секреты (т.е.«USERNAME = JBallin»).

Затем вы использовали бы что-то вроде dotenv , чтобы извлечь эти значения в переменные окружения и использовать их в своем бэкэнде.

В процессе работы выбудет хранить эти переменные среды на сервере (инструкции зависят от среды развертывания).

0 голосов
/ 07 апреля 2019

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

Virgil PureKit позволяет разработчикам взаимодействовать с Virgil PHE Service, чтобы защитить пароли пользователей и конфиденциальную личную информацию (данные PII) в базе данных от офлайн / онлайн-атак и делает украденные пароли / данные бесполезными, если вашиБаза данных была взломана.Ни Virgil, ни злоумышленники ничего не знают о паролях / данных пользователей.

Я предоставил вам ссылку, где вы можете найти фрагменты кода для таких языков, как: Go, PHP, C #, Java

0 голосов
/ 24 марта 2019

Вероятно, не очень хорошая идея хранить пароль, потому что даже если вы его зашифруете, ключ шифрования все еще где-то на сервере. Вы проверили, предлагает ли сторонний сервис аутентификационный поток как oauth или эквивалентный?

...