какое лучшее место для сохранения открытого и закрытого ключей шифрования на сервере Laravel

Среда : у меня есть приложение Laravel 6.x, работающее на Amazon EC2 с бионическим Ubuntu 18.4 и сервером Apache. У меня есть несколько запланированных команд ремесленников. Они либо генерируют файлы и передают их по FTP на другой сервер, либо импортируют файл с другого сервера. Эти файлы должны быть зашифрованы с помощью PHP GNUPG перед экспортом их на сервер клиента и должны быть расшифрованы после загрузки их с сервера клиента для дальнейшей обработки, поэтому существуют открытые и закрытые ключи, которые должны храниться на сервере и таким образом, чтобы запланированные процессы, выполняющиеся как «пользователи Ubuntu», могут получать к ним доступ и использовать их (я предполагаю, что «пользователь Ubuntu» должен иметь разрешение только на чтение файлов ключей, и никаким другим пользователям не нужно давать никаких разрешений, потому что они этого не делают и не должны) я не могу получить доступ к этим файлам, пожалуйста, исправьте меня, если я ошибаюсь). Мой вопрос: я хотел бы знать лучшие практики, в какой папке на моем сервере и как (с какими разрешениями) мне следует хранить эти ключевые файлы, чтобы я мог убедиться в их безопасности, а также убедиться, что все автоматизировано процессы смогут получить доступ и использовать их по мере необходимости.

Всего 1 ответ


Пакет Passport Laravel oauth сохраняет их в папке storage . Что является хорошим указателем на то, где ожидают их разработчики Laravel , возможно, было бы целесообразно добавить подпапку, такую ​​как storage/keys .

Разрешения, как правило, являются стандартными для использования разрешений chmod 600 .

В качестве альтернативы Laravel env может сохранить эти ключи.

PASSPORT_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----
<private key here>
-----END RSA PRIVATE KEY-----"

Есть идеи?

10000