openssl pass参数是否通过bash安全?

问题描述 投票:2回答:2

openssl手册页说openssl命令的“-pass pass:[password]”选项不安全,因为它对ps这样的实用程序是可见的,但它是否通过bash安全?

像这样:

#!/bin/bash

read -s psword

openssl enc -pass pass:$psword -aes-256-cbc -in text.plaintext -out text.encrypted

我在我的电脑上运行这样的程序,所有ps似乎都看到“openssl”。其他实用程序是否能够看到密码?

bash shell security openssl ps
2个回答
1
投票

在任何操作系统中,命令行通常都很容易从任何进程中正常获取。请参阅此answer以获取进程的命令行。因此,无论是“启动”流程,还是bash或某些自定义应用程序,都无关紧要。这就是建议的原因。

任何这些事情都归结为风险。如果您接受不安全的风险,那么没有理由不使用命令行(即它是您的机器,而您是唯一使用它的人)。如果很多人可以看到您的流程会话并且可能会看到敏感密码,则风险可能不值得。您可以自行决定风险是否可以接受。


0
投票

如果要保护密码,最好将其写入只有您的进程可以访问的文件,并在命令中从该文件中读取密码。这将隐藏命令行中的纯密码,并使其对其他进程不可见。

您可以查看以下答案。它与生成openssl键有关,但与此主题类似:How to generate an openSSL key using a passphrase from the command line?

© www.soinside.com 2019 - 2024. All rights reserved.