use*_*760 6 linux security password
我想知道在环境变量中设置数据库登录凭据(用户/密码)或作为命令行参数传入是否可以接受(安全方面)?
这两种方法对我来说似乎都有风险,因为也许其他人可以读取环境变量或读取正在运行的进程/历史记录,并且凭据将以纯文本形式存在(我的理解在这里是否正确?)
什么是可以接受的登录方式?它将作为自动化作业/流程的一部分在脚本中运行。
编辑:这是一个 Oracle 数据库 (11g)
编辑 #2:曾经考虑过 Oracle 钱包,但在我工作的地方还不能使用。
任何人都可以通过 读取命令行参数/proc/<pid>/cmdline。对于立即退出的进程,它们仍然可以显示给使用ps类似监视程序的人。
另一方面,内存中的密码应该不是问题。没有超级用户权限就无法访问内存,安全软件通常会在将内存释放给其他进程之前覆盖内存中的密码。
最常见的方法是使用文件权限。密码保存在一个文件中,只有应该能够读取的人才能读取该文件。因此,作为文件的凭证(无论是密钥还是密码)对于常见的命令行泄漏是安全的。