Какое лучшее место для сохранения шифрования publi c и личных ключей на сервере laravel - PullRequest
0 голосов
/ 17 января 2020

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

1 Ответ

1 голос
/ 17 января 2020

Пакет Laravel oauth Passport сохраняет их в папке storage. Это хороший указатель на то, где Laravel dev будет ожидать их, добавление подпапки вроде storage/keys также возможно.

Разрешения, обычно это стандарт для использования разрешений chmod 600.

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

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