【问题标题】:Is the openssl pass argument safe through bash?openssl pass 参数是否通过 bash 安全?
【发布时间】:2019-03-15 15:23:11
【问题描述】:

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


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2013-11-29
        • 2021-03-14
        • 2012-08-29
        • 2017-05-19
        • 1970-01-01
        • 1970-01-01
        • 2014-12-21
        • 2011-11-25
        • 1970-01-01
        相关资源
        最近更新 更多