jbpm 6.1 中运行时引擎的安全问题?
Security issues surrounding the runtime engine in jbpm 6.1?
在 JBPM 远程 API 中,可以使用类似于以下的代码访问 jbpm 部署:
RemoteRestRuntimeFactory restSessionFactory
= new RemoteRestRuntimeFactory(deploymentId, baseUrl, user, password);
// Create KieSession and TaskService instances and use them
RuntimeEngine engine = restSessionFactory.newRuntimeEngine();
KieSession ksession = engine.getKieSession();
ProcessInstance processInstance = ksession.startProcess("com.burns.reactor.maintenance.cycle");
long procId = processInstance.getId();
我想知道的是,这里硬编码用户名和密码是否会导致任何安全问题?如果是这样,如何绕过它们?
编辑:
更具体地说,如果密码以明文形式硬编码并编码到 RemoteRestRuntimeFactory 对象中,这会导致在通过网络发送时出现任何问题。
据我所知,客户端代码正在使用 HTTP 基本身份验证机制 [1]。
如果您的 KIE Workbench 没有使用 HTTPS,那么我认为您的密码在网络中以纯文本形式(虽然是 base64ed)传输。值得一提的是,客户端代码似乎支持HTTPS。
也许一些 jBPM 开发人员可以在这里阐明一些问题。
希望对您有所帮助,
在 JBPM 远程 API 中,可以使用类似于以下的代码访问 jbpm 部署:
RemoteRestRuntimeFactory restSessionFactory
= new RemoteRestRuntimeFactory(deploymentId, baseUrl, user, password);
// Create KieSession and TaskService instances and use them
RuntimeEngine engine = restSessionFactory.newRuntimeEngine();
KieSession ksession = engine.getKieSession();
ProcessInstance processInstance = ksession.startProcess("com.burns.reactor.maintenance.cycle");
long procId = processInstance.getId();
我想知道的是,这里硬编码用户名和密码是否会导致任何安全问题?如果是这样,如何绕过它们?
编辑:
更具体地说,如果密码以明文形式硬编码并编码到 RemoteRestRuntimeFactory 对象中,这会导致在通过网络发送时出现任何问题。
据我所知,客户端代码正在使用 HTTP 基本身份验证机制 [1]。
如果您的 KIE Workbench 没有使用 HTTPS,那么我认为您的密码在网络中以纯文本形式(虽然是 base64ed)传输。值得一提的是,客户端代码似乎支持HTTPS。
也许一些 jBPM 开发人员可以在这里阐明一些问题。
希望对您有所帮助,