禁用 JVM 上的本地 JMX 连接

2023-11-28

我们正在编写一个在内存中保存密码的java程序。不幸的是,用户可以轻松地使用 jconsole 或 jmap 创建堆转储文件并打开它来查找密码。我认为 jconsole 使用本地套接字连接 jvm。我想知道,有什么方法可以禁用本地用户的 jmx 吗?有没有办法完全禁用堆转储?由于用户可以访问内存段,因此无论如何都可以访问密码。但是,我想禁用执行此操作的标准方法,以使操作尽可能昂贵。


最后,我找到了禁用 jconsole 连接的解决方案。它还阻止 jmap 创建转储文件。我找到了解决方案here。我这里也引用一下这个答案:

您可以阻止诸如 jconsole 和其他人通过连接 与运行 -XX:+禁用AttachMechanism选项。注意这个选项不是 记录/支持但应该这样做 你想要什么。也就是说,即使 没有什么可以阻止你 连接gdb或其他调试/proc 基于程序

然而,很明显内存段可以在本地访问。但是,有谁知道有一种工具可以通过直接访问内存来进行标准内存转储吗?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

禁用 JVM 上的本地 JMX 连接 的相关文章

随机推荐

  • 有没有办法让 gdb 在每次启动时重复相同的指令?

    我目前正在使用 gdb 调试程序 我必须一遍又一遍地启动 gdb 并执行相同的步骤 设置断点 跑步 打印一个变量 辞职 有没有办法让 gdb 自动为我做这件事 可能是一个可以作为参数附加的脚本 提前致谢 你可以通过以下方式做到这一点 x f
  • 在 Razor 视图上处理嵌入式资源的正确方法是什么?

    我正在将一些代码从 ASPX 视图引擎迁移到 Razor 但遇到了障碍 我有这个代码 gt 这里的问题是 对于 Razor 我没有 Page 属性 所以我后退了一步 我想知道 在 Razor 中获取嵌入式资源的正确方法是什么 我花了很多时间
  • 有什么方法可以提取谷歌通用句子编码器的详尽词汇吗?

    我正在为一些句子创建嵌入 它对于相似性搜索非常有用 除非句子中有一些真正不寻常的单词 在这种情况下 真正不寻常的单词实际上包含句子中任何单词的最相似信息 但由于该单词显然不在模型的词汇表中 因此所有这些信息在嵌入过程中都会丢失 我想获得 G
  • ObservableCollection 和 INotifyPropertyChanged 之间有什么区别?

    我很困惑如何ObservableCollection and INotifyPropertyChanged works 我有这个代码 Payments new ObservableCollection
  • 在 VBA 中删除不存在的工作表

    我在 Excel 工作簿中列出了实际上并不存在的工作表 当您查看代码并查看 VBA 部分中的工作表列表时 会列出这些工作表 但它们实际上根本不存在于工作簿中 它们也不是隐藏的 以防有人想到这一点 这些工作表后面也没有括号中的名称 并且看起来
  • Pandas dataframe:如何通过多值列将一行拆分为多行? [复制]

    这个问题在这里已经有答案了 我有一个数据框 如下所示 issue key date pkey component case count 0 1060 2018 03 08 PROJ console configuration managem
  • 如何使用正则表达式用空格替换字符之间的破折号

    我想使用正则表达式将字母之间出现的破折号替换为空格 例如替换ab cd with ab cd 以下匹配字符 字符序列 但也替换字符 即ab cd结果是a d 而不是ab cd如我所愿 new term re sub r A z A z or
  • ASP.NET MVC“组件”

    有没有办法让页面的一部分像组件一样呈现为一个小子页面 例如 如果我的所有页面上都有购物车 使用预览版 5 Html RenderPartial 是您的助手 您可以渲染子控件 并将您的视图数据或任意模型和新的视图数据组合传递给它们
  • 为什么 n.GetHashCode() 有效但 n.GetType() 抛出异常?

    我正在自学 C 我还不太了解 在这个简单的例子中 bool n null Console WriteLine n 0 n Console WriteLine n ToString 0 n ToString Console WriteLine
  • 如何在 Parallel.For 中增加特定值的索引?

    我想增加特定值的索引 例如 2 for int i 0 i lt 10 i 2 Console WriteLine i 我如何使用Parallel类 如 Parallel For 0 10 i gt Console WriteLine i
  • Matplotlib pyplot show() 一旦关闭就不起作用

    我有一个这样的循环 usr bin env python import matplotlib pyplot as p for i in xrange N Create my image here Display this image p f
  • 传送 iOS 应用程序更新时出错。 “此捆绑包无效。Apple 目前不接受使用此版本 SDK 构建的应用程序。”

    我于 2014 年 1 月 24 日小心翼翼地向 iOS 应用商店交付了一个应用程序 这是一款仅限 iO7 iPhone 的应用程序 一切都已正确交付 截至昨天 我的应用程序已获得批准 目前在应用程序商店中可见 我整理了一个小更新 目前正在
  • 如何使批处理文件在遇到错误时终止?

    我有一个批处理文件 它使用不同的参数一遍又一遍地调用相同的可执行文件 如果其中一个调用返回任何级别的错误代码 如何使其立即终止 基本上 我想要相当于 MSBuild 的ContinueOnError false 检查errorlevel i
  • 旋转 Swing JLabel

    我目前正在尝试实现一个 Swing 组件 继承自JLabel它应该简单地代表一个可以垂直定向的标签 以此开始 public class RotatedLabel extends JLabel public enum Direction HO
  • 视图中的 Django 模板标签

    您好 我需要通过 Ajax 刷新我的自定义模板标签 right side py 有没有办法在视图中导入模板标签并将其作为 HttpResponse 返回 因为我不想放弃我的自定义模板标签 它在其他页面中效果很好 也不想编写与其非常相似的新视
  • 查找子序列(不连续)

    如果我有字符串needle我想检查它是否连续存在子串 in haystack 我可以用 if needle in haystack 在不连续的情况下我可以使用什么子序列 例子 gt gt gt haystack abcde12345 gt
  • Python 中的“反转”比较运算符

    class Inner def init self x self x x def eq self other if isinstance other Inner return self x other x else raise TypeEr
  • Spring 缓存不适用于 findAll 方法

    我最近开始研究缓存方法的结果 我正在使用 Cacheable 和 CachePut 来实现所需的功能 但不知何故 保存操作没有更新 findAll 方法的缓存 下面是相同的代码片段 RestController RequestMapping
  • 将数字 1 添加到集合中没有任何效果

    我无法添加整数1到现有的集合 在交互式 shell 中 这就是我正在做的事情 gt gt gt st a True Vanilla gt gt gt st a True Vanilla gt gt gt st add 1 gt gt gt
  • 禁用 JVM 上的本地 JMX 连接

    我们正在编写一个在内存中保存密码的java程序 不幸的是 用户可以轻松地使用 jconsole 或 jmap 创建堆转储文件并打开它来查找密码 我认为 jconsole 使用本地套接字连接 jvm 我想知道 有什么方法可以禁用本地用户的 j