1

我在服务器 A 上有一个批处理脚本,它使用“schtasks”命令激活服务器 B 上的计划任务。此命令需要用户名和密码才能访问其他服务器,但我们不想以纯文本形式存储此数据。有没有办法以非纯文本格式保存此密码?即使密码以纯文本形式传递给“schtasks”命令,这也比将其存储在批处理脚本本身中要好。

4

1 回答 1

1

你不能使用 Kerberos 吗?

如果你不能,试着看看这个在 Java Web 应用程序中存储密码变量的不同方法?选项 3。您可以使用密钥,并共享密钥来解密您需要的凭据,但它的安全性仍然很差。

如果您可以使用 Kerberos,只需检查 SERVERB 是否允许您使用 Kerberos 令牌。它可以是 SERVERA 上的本地用户或域用户。例如,您通过 'schtasks' 启动 'SCRIPT.bat' 作为Script_User_A on SERVERA; Script_User_A是域用户,具有低权限。SERVERB 在收到任何第一个请求后立即向 SERVERA 发起质询/响应,要求Script_User_A证明其身份。Script_User_A会做到的,SERVERB 很高兴,一切正常。如果Malicious_User尝试执行“SCRIPT.bat”,SERVERB 将发送一个Malicious_User无法“响应”的质询,并且 SERVERB 将知道“SCRIPT.bat”是由其他人执行的。

使用 Kerberos,这种挑战/响应机制是免费的:您需要稍微学习一下 Microsoft TechNet 和 API,但值得付出努力,特别是如果您习惯于在 Windows 上进行开发。

于 2014-09-29T08:29:38.480 回答