中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

使能堆转储增强特性

介绍

  • JVM提供支持转储进程堆内容的能力,若Java进程内存中保留了大量的敏感信息,dump转储堆文件的操作将存在信息泄漏的安全风险。
  • 堆转储增强特性在保障Heap-dump故障定位能力前提下,屏蔽了转储堆文件中的敏感信息,该特性尤其在重大涉密项目中,对数据安全与隐私保护有重大意义。

场景建议

需要通过Heapdump文件进行问题定位或性能分析,但不希望发生敏感信息泄漏。

使用约束

  • 服务部署的Java版本要升级到和支持该功能的JDK工具包对应的版本。
  • 请参见安装毕昇JDK加速库完成毕昇JDK加速软件包的下载和安装,下载毕昇JDK加速库后将软件包移动到“/usr/lib64”目录下,并修改权限确保Java进程所有者可读可执行。

使用方法

堆转储增强特性支持以下两种方式使能。

  • 进程VM参数使能方式举例:
    java -Xmx10M -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpRedact=full -XX:RedactMapFile=/home/heapmap.txt -XX:RedactMap="password:abc,encrypt:cde" MyClass
  • jmap命令参数使能方式举例:
    jmap -dump:HeapDumpRedact=<names/basic/full/annotation/diyrules/off>,RedactMap="<key1:value1;key2:value2;...>",RedactMapFile=<file path> <pid>

命令参数说明如表1所示。

表1 堆转储增强特性使能命令参数说明

参数

说明

-XX:HeapDumpRedact

指定匿名化模式。

  • names:屏蔽敏感symbols,需要用户指定映射表,可以由RedactMapFile指定在一个文件里,或者由RedactMap直接写在命令行中。
  • basic:屏蔽int/char/byte数组,全部清零。
  • full:names + baisc。
  • annotation:屏蔽敏感字段值,需要用户指定注解类(包含classPath)。
  • diyrules:屏蔽敏感字段值,需要屏蔽的类和字段值信息由RedactMapFile指定在一个文件里,或者由RedactMap直接写在命令行中。
  • off:默认行为,关闭heapdump匿名化。

-XX:RedactMap

  • 命令行中指定屏蔽敏感名字映射关系对,以分号作为组之间的分隔,以冒号作为映射对key/value的分隔。例如:key1:value1;key2:value2...。

-XX:RedactMapFile

通过文件获取要屏蔽敏感名字的映射关系。

-XX:RedactClassPath

指定敏感值替换的注解类。

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词