1

我正在使用 OpenSSL 加密服务器上的文件。

我使用的命令类似于这个:

 openssl enc -aes-256-cbc -salt -in file.txt \ -out file.enc -pass pass:mySillyPassword

我担心密码会保存在我服务器的日志中。

在不将密码保存在服务器日志上的情况下,使用 OpenSSL 加密我的文件的最佳方法是什么?

重要我正在通过 PHP 执行此命令。该命令存储在一个 shell 脚本文件中。PHP 只是执行。

更新 我为每个加密的文件生成不同的密钥。

4

2 回答 2

3

使用 php-oopenssl.. 代替http://php.net/manual/en/function.openssl-encrypt.php。此外,使用 shell 脚本非常容易受到攻击。任何人都可能从 ps -ax 命令或类似命令中看到密码。

假设只有 ROOT 可以看到密码,密码(最好用第二个硬编码密码加密)应该从 root:root 拥有的文件中读取 0600 chmod 选项。Web 服务器以 root 身份启动时,将具有对该文件的访问权限。服务器可以将该文件内容(即密码)设置为 php 文件的环境变量到某个全局变量中。我很久以前就尝试过类似的东西,它奏效了。

-特里洛克。

于 2013-01-18T17:47:53.850 回答
3

您可以在 OpenSSL 配置文件中指定密码。

http://wwwneu.secit.at/web/documentation/openssl/openssl_cnf.html

于 2013-01-18T17:35:36.943 回答