openssl pass参数通过bash安全吗?

时间:2019-03-15 15:23:11

标签: bash shell security openssl ps

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

赞:

ps

我已经在计算机上运行了这样的程序,所有#!/bin/bash read -s psword openssl enc -pass pass:$psword -aes-256-cbc -in text.plaintext -out text.encrypted 似乎都显示为“ ps”。其他实用程序是否可以看到密码?

2 个答案:

答案 0 :(得分:1)

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

任何这些事情都会带来风险。如果您接受它不是那么安全的风险,那么就没有理由不使用命令行(即它是您的计算机,并且您是唯一使用它的计算机)。如果很多人可以看到您的过程会话,并且可能看到一个敏感的密码,那么这种风险可能不值得。由您确定风险是否可以接受。

答案 1 :(得分:0)

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

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