Intereting Posts
WordPress, вставляющий открывающий тег <p> внутри моего короткого кода Корпус Fosrestbundle пуст при многократном запросе Проверить электронную почту на PHP или другом языке программирования? Как очистить предыдущую переменную в кеше во время вызова Ajax при отправке переменной в PHP Каков самый простой способ перенаправления на предыдущую страницу с помощью PHP? Проблема с перенаправлением PHP с субдоменом PHP продолжается внутри функции Ошибка: вид для AppController :: index () не найден Интеграция PayPal, как я могу определить учетную запись получателя? Как настроить собственный SFTP-порт с помощью phpseclib выполнить программу c ++ с помощью php-скрипта хранить несколько опций выбора в массиве PHP Symfony2 Монолог для отправки по электронной почте Ошибок, почему swiftmailer.transport.real – несуществующий сервис Заявления PDO с именованными параметрами VS-вопросительные параметры PHP PDO MySQL запрос LIKE -> несколько ключевых слов

Безопасный способ хранения ключей шифрования – PHP

Я использую шифрование openssl и mysql через PHP. В настоящее время я пишу ключ в исходном коде php, но я думаю, что он не настолько безопасен. Если кто-то получает источник (возможно, FTP), шифрование нарушается. Итак, как бы вы могли хранить ключи шифрования на сервере Linux? Я не могу использовать другой веб-сервер для хранения ключа.

Solutions Collecting From Web of "Безопасный способ хранения ключей шифрования – PHP"

Я предполагаю, что вы используете Apache.

Поместите секретные данные в переменную среды в /etc/apache2/envvars , установите для владельца root и разрешения 400.

Злоумышленнику придется скомпрометировать сервер, чтобы он положил руки на ваш ключ.

Вы также можете сгенерировать скрипт, который запрашивает секрет, когда Apache запускает (раздражает, но даже более безопасно).

Обратите внимание, что люди с корневым доступом всегда смогут получить ваш ключ и пытаться скрыть его от них – это просто плацебо.

Решение плацебо:

  • Сделайте свое приложение незанятым по умолчанию, пока вы не внесете свой ключ на страницу HTTPS в одном приложении, сохраните свой ключ в глобальной переменной и продолжите работу с вашей компанией. Вы должны учитывать жизненный цикл процесса PHP (когда процесс завершается, вы должны повторно отправить свой ключ).

Я считаю, что ваша лучшая (по вашему вопросу и комментариям) ставка заключается в том, чтобы просто вставлять ключи где-то в вашем пространстве каталога. Убедитесь, что они не находятся под www-root и т. Д. Используйте соответствующие разрешения для файлов (в зависимости от настроек вашего сервера).