tomcat可以配置为仅加载签名的jar

时间:2014-02-19 16:41:25

标签: java tomcat digital-signature

我有一个客户问过我们应用程序中签署tomcat组件以及不同的jar。基本上,他们希望阻止任何人只是放入jar文件,重新启动tomcat并创建安全问题。

我的问题是,是否可以配置tomcat,以便在加载jar文件时验证它们是否已由特定证书签名,如果不能阻止tomcat启动?

2 个答案:

答案 0 :(得分:2)

Tomcat本身不提供此功能。但是,作为一种解决方法,您可以与您的客户端一起使用DMZ服务器或其服务器上的位置,您可以放下文件。然后,他们可以让作业调度程序运行批处理脚本(在Windows上)或shell脚本(在linux / unix平台上),以使用jarsigner工具检查新到达的文件/ jar文件。 如果文件通过了测试,则可以将它们移动到部署tomcat目录,否则应该向服务器管理员发送有关此未签名文件的电子邮件。

命令示例:

jarsigner -verify jar-file

http://docs.oracle.com/javase/tutorial/deployment/jar/verify.html

答案 1 :(得分:0)

您可以启用Tomcat's security manager并编辑策略文件中的规则,以仅应用于已签名的代码。例如:

grant signedBy "yourClient", codeBase "file:${catalina.home}/webapps/someJar.jar" {
  permission java.security.AllPermission;
};

这也可以应用于文件夹及其所有内容,请参阅Policy File Syntax