Java RMI 服务远程方法调用漏洞加固

Java RMI服务是远程方法调用(Remote Method Invocation)。它是一种机制,能够让在某个java虚拟机上的对象调用另一个Java虚拟机的对象的方法。在Java Web中,很多地方都会用到RMI来相互调用。比如很多大型组织都会在后台部署一些Java应用,用于对外网站发布更新的静态页面,而这种发布命令的下达使用的就是这种RMI形式。值得注意的是,RMI传输过程必然会使用序列化和反序列化,如果RMI服务端端口对外开发,并且服务端使用了像Apache Commons Collections这种库,那么会导致远程命令执行。

 

 

临时解决方法:如果您不能立刻安装补丁或者升级,您采取以下措施以降低威胁:* 使用防火墙规则及文件系统访问限制* 使用 SerialKiller 替换进行序列化操作的 ObjectInputStream 类* 删除掉项目里的“org/apache/commons/collections/functors/InvokerTransformer.class” 文件厂商补丁:Apache Group------------目前厂商已经发布了升级补丁ACC 3.2.2 以修复这个安全问题,请到厂商的主页下载:https://commons.apache.org/proper/commons-collections/download_collections.cgihttp://svn.apache.org/viewvc?view=revision&revision=1713307https://commons.apache.org/proper/commons-collections/ https://blogs.apache.org/foundation/entry/apache_commons_statement_to_widespread

 

上一篇:java RMI-service中的常见事务逻辑?


下一篇:jmeter分布式压测