簡體   English   中英

在JVM上禁用本地JMX連接

[英]Disabling Local JMX Connections on JVM

我們正在編寫一個java程序,它將密碼保存在內存中。 不幸的是,用戶可以輕松地使用jconsole或jmap創建堆轉儲文件並打開它以查找密碼。 我認為jconsole使用本地套接字連接jvm。 我想知道,有沒有辦法甚至為本地用戶禁用jmx? 有沒有辦法完全禁用堆轉儲? 由於用戶可以訪問內存段,因此無論如何都可以訪問密碼。 但是,我想禁用標准方法,以使操作盡可能昂貴。

最后,我找到了一個禁用jconsole連接的解決方案。 它還可以防止jmap創建轉儲文件。 我在這里找到了解決方案。 我也在這里引用答案:

您可以通過運行-XX:+ DisableAttachMechanism選項來阻止jconsole等工具連接。 請注意,此選項未記錄/支持,但應該執行您想要的操作。 也就是說,即使有這個,也沒有什么可以阻止你連接gdb或其他基於調試/ proc的程序

但是,很明顯可以在本地訪問內存段。 但是,有沒有人知道一個工具來制作直接訪問內存的標准內存轉儲?

將最大連接數設置為零會關閉JMX

-Dsun.rmi.transport.tcp.maxConnectionThreads=0

如果您仍需要統計信息,請閱讀相應的hsperfdata_ *文件

編輯:我在github上發布了我的hsperf munin插件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM