在 Laravel 服务器中保存加密公钥和私钥的最佳位置是什么

Bah*_*n.A 2 php encryption gnupg laravel server

环境:我有一个 Laravel 6.x 应用程序在 Amazon EC2 上运行,使用 Ubuntu 18.4 Bionic 和 Apache 服务器。我有多个预定的工匠命令。他们要么生成文件并将其通过 FTP 传输到不同的服务器,要么从不同的服务器导入文件。这些文件在导出到客户端服务器之前必须使用 PHP GNUPG 进行加密,并且在从客户端服务器下载它们以供进一步处理后需要解密,因此,必须将公钥和私钥存储在服务器上,并以以下方式存储:作为“Ubuntu用户”运行的预定进程可以访问和使用它们(我假设“Ubuntu用户”只需要对关键文件具有读取权限,并且不需要向其他用户授予任何权限,因为他们不这样做也不应该'无法访问这些文件,如果我错了,请纠正我)。我的问题:我想知道最佳实践,在我的服务器内的哪个文件夹中,以及如何(具有什么权限)存储这些密钥文件,以便我可以确保它们是安全的,并确保所有自动化进程将能够根据需要访问和使用它们。

mrh*_*rhn 7

oauthLaravelPassport将它们保存在storage文件夹中。这是一个很好的指针,指向Laravel开发人员期望它们所在的位置,添加类似的子文件夹storage/keys也可能是可行的。

就权限而言,通常是使用权限的标准chmod 600

或者,Laravel环境可以保存这些键,请参阅

PASSPORT_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----
<private key here>
-----END RSA PRIVATE KEY-----"
Run Code Online (Sandbox Code Playgroud)