频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

探索Java应用程序的安全需求

来源: 作者: 出处:巧巧读书 2007-04-20 进入讨论组
上一页 1 2 3 

  这两个脚本的不同点在于新临时版本:

  1. 增加了类路径以指向ProfilingSecurityManager类的位置,即$HOME/lib/psm.jar 中
  2. 在-Djava.security.manager参数中指定ProfilingSecurityManager为安全管理

  现在我们可以开始剖析了。用临时启动脚本启动 Tomcat 。促使相关web应用程序覆盖那些会在生产中被覆盖的代码,以此考验它们的速度。用代码覆盖Web应用程序是一个公认的、难以实现的命令,而且可能仅有部分可以实现。停止Tomcat,通过parsecodebase.pl运行$CATALINA_HOME/logs/catalina.out ,如下所示,同时将处理过的规则保存到到 policy.txt中。

$ 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可以为我们提供对应用程序所请求访问的资源集的充分可见度,从而帮助我们获得策略制订权。

资源

  1. 示例代码 本文引用的示例代码包括 ProfilingSecurityManager 和 parsecodebase.pl
  2. Subverting Java Access Protection for Unit Testing 主要讨论Java 映射基础
  3. Tomcat: The Definitive Guide 额外的一些Tomcat 安全性的详细介绍
  4. Java Permissions list
  5. Java 安全性架构文档

作者简介

Mark Petrovic是一位技术专家和软件开发人员。

   巧巧读书:http://www.qqread.com/java/2007/04/w309639.html

更多文章 更多内容请看路由安全配置专题系统安全设置配置安全的操作系统专题,或进入讨论组讨论。
上一页 1 2 3 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章