Как защитить закрытый ключ, используемый веб-сервером для расшифровки хранилища строк в БД? - PullRequest
0 голосов
/ 21 апреля 2011

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

Мне интересно, где разместить свой закрытый ключ, чтобы пароли были в безопасности, даже если кто-то заберет контроллер моего веб-сервера? Потому что было бы совершенно неуместно просто оставлять закрытый ключ на веб-сервере ...

ТКС

1 Ответ

0 голосов
/ 28 апреля 2011

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

Теперь, чтобы сделать это как можно более трудным и невероятным, я предлагаю сохранить ключ (или, лучше сказать, пароли) в какой-то таблице памяти: например, на Ramdisk, скрипте, который выдаст только один пароль в минуту и ​​удалить себя, если вызывается более того и т. д.

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

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

...