如何在历史记录日志中隐藏OpenSSL使用的密码?

时间:2013-01-18 17:33:19

标签: php linux security bash openssl

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

我使用的命令与此类似:

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

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

使用OpenSSL加密文件而不在服务器日志中保存密码的最佳方法是什么?

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

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

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:3)

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

假设ONLY ROOT可以看到密码,那么密码(理想情况下通过第二次硬编码密码加密)应该从root:root拥有的文件中读取0600 chmod选项。 Web服务器以root身份启动时,将具有该文件的访问权限。服务器可以将该文件内容(即密码)设置为php文件的env变量为一些全局变量。很久以前我曾经尝试过这样的事情。它奏效了。

-Trilok。