我正在使用OpenSSL加密我服务器上的文件。
我使用的命令与此类似:
openssl enc -aes-256-cbc -salt -in file.txt \ -out file.enc -pass pass:mySillyPassword
我担心密码会保存在我服务器的日志中。
使用OpenSSL加密文件而不在服务器日志中保存密码的最佳方法是什么?
重要我正在通过PHP执行此命令。该命令存储在shell脚本文件中。 PHP只是执行。
更新 我为每个加密的文件生成不同的密钥。
答案 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。