【发布时间】:2013-02-01 17:18:20
【问题描述】:
我有一个运行时会产生敏感内容的 shell 脚本。它位于一个只有少数用户有权访问的盒子上。但是,我还通过以下方式添加了分层混淆以防止未经授权的使用:
- 脚本必须以 root 身份运行
- 脚本必须传递特定的命令行参数才能产生任何输出
- 脚本已由 shell 编译器“shc”编码,以掩盖普通用户(不知道使用 TRACE 或 STRINGS 仍可查看实际代码的用户)的事实 #1 和 #2。
为了再增加一层实际的安全性以再次保护更高级的用户和系统管理员,我还使用 gpg 对脚本进行了加密。
我的问题是 -- 是否有我可以运行的 gpg 命令(或其他加密方法)提示输入解密密码,并解密脚本并仅在内存中运行它(不将文件的解密版本保存到文件系统)?
我意识到敏感信息在执行时可能仍然存在于未受保护的内存中,我将单独解决。
【问题讨论】:
-
创建一个小内存盘,格式化,挂载,保存文件,执行,格式化内存盘,释放内存盘。但我必须问...这种级别的保护真的有必要吗?
标签: bash encryption gnupg