这两个脚本的不同点在于新临时版本:
- 增加了类路径以指向ProfilingSecurityManager类的位置,即$HOME/lib/psm.jar 中
- 在-Djava.security.manager参数中指定ProfilingSecurityManager为安全管理器
$ parsecodebase.pl < $CATALINA_HOME/logs/catalina.out > policy.txt
清单 9. 处理由Tomcat和其中所包含的任意已执行Web应用程序生成的规则
注意 ProfilingSecurityManager只能为那些在剖析过程中执行的代码生成规则。它会探测理论上可以在随机运行实例中触及的所有代码分支,而不检查类文件中的字节码。这样的字节码分析可能是将来的一个研究领域,我们将加以补充,但它不能替换由 ProfilingSecurityManager 做的运行时分析。
对随Tomcat提供的策略文件 $CATALINA_HOME/conf/catalina.policy 的检查表明,Tomcat ("Catalina")系统代码库获得了所有平台的权限。事实上,ProfilingSecurityManager会发现Tomcat系统类的这些相同规则,但会以细粒度的方式指定它们。ProfilingSecurityManager发现的关于Tomcat系统类的规则应从policy.txt中手动删除。
删除了 Tomcat系统规则后,仍然保留在policy.txt中的规则就是生产安全策略的起点。这些规则表示Web应用程序的安全需求。应仔细检查这些规则中的每一条,以了解其用途,并确保它与我们的应用程序目标相一致。确信有好的草案策略时,为$CATALINA_HOME/conf/catalina.policy做一个备份副本,并从 policy.txt中将新草案规则整合进来。然后用-security 选项集回复到原来的 Tomcat 启动脚本,继续测试。
结束语
在Java安全管理器下运行应用程序可以增加代码的健壮性。而且,虽然获得安全策略制订权是一项艰巨的挑战,不过这样做会让我们安心,因为代码将在我们所规定的安全约束的限制下运行。ProfilingSecurityManager可以为我们提供对应用程序所请求访问的资源集的充分可见度,从而帮助我们获得策略制订权。
资源
- 示例代码 本文引用的示例代码包括 ProfilingSecurityManager 和 parsecodebase.pl
- Subverting Java Access Protection for Unit Testing 主要讨论Java 映射基础
- Tomcat: The Definitive Guide 额外的一些Tomcat 安全性的详细介绍
- Java Permissions list
- Java 安全性架构文档
作者简介
Mark Petrovic是一位技术专家和软件开发人员。- 用Photoshop给漂亮的烫发MM抠图
- Photoshop透明婚纱抠图大法
- Photoshop:让MM做个“变色龙”
- 用Photoshop来制作一款精美的宝宝照片墙
- Photoshop绝色美女通道抠图法
- 用Photoshop教你打造绚丽光芒效果
巧巧读书:http://www.qqread.com/java/2007/04/w309639.html
相关专题
- 路由安全配置专题 (11842篇文章)
- 系统安全设置 (23605篇文章)
- 配置安全的操作系统 (9864篇文章)
- 打造安全服务器 (13284篇文章)
- MySQL安全 (9888篇文章)
- Java环境安装配置 (5658篇文章)
- 电子邮件安全 (8402篇文章)
- SSH安全技术 (8237篇文章)
- 数据库安全技术专题 (13169篇文章)
- FreeBSD系统安全管理 (8814篇文章)
- 开发框架:深入了解 Struts Validator (3次浏览)
- Java中的通信机制及与C/C API的集成 (1次浏览)
- 用Hibernate实现领域对象的自定义字段 (1次浏览)
- 精通Hibernate之映射继承关系(一) (0次浏览)
- 精通Hibernate之映射继承关系(二) (0次浏览)
- 美国计算机教授语出惊人:Java对学生有害 (0次浏览)
- JDK 6 JRE 6 Update 4 (0次浏览)
- 三步教你改善Java代码质量 (0次浏览)
- Java语言入门 简述Java语言回收机制 (0次浏览)
- 2008年Java开发者最迫切的五个期望 (0次浏览)



