2009-08-10 15 views
7

Estamos escribiendo un programa java que mantiene una contraseña en la memoria. Desafortunadamente, el usuario puede usar fácilmente jconsole o jmap para crear un archivo de volcado de almacenamiento dinámico y abrirlo para encontrar la contraseña. Creo que jconsole conecta jvm usando sockets locales. Quiero saber, ¿hay alguna manera de deshabilitar jmx incluso para usuarios locales? ¿Hay alguna forma de deshabilitar totalmente los volcados de almacenamiento dinámico? Como el usuario tiene acceso al segmento de memoria, de todos modos es posible acceder a la contraseña. Sin embargo, quiero deshabilitar las formas estándar de hacerlo para que la acción sea lo más cara posible.Deshabilitar las conexiones JMX locales en JVM

Respuesta

5

Finalmente, encontré una solución para deshabilitar las conexiones de jconsole. También evita que jmap cree un archivo de volcado. Encontré la solución here. También cito aquí la respuesta:

Puede evitar que las herramientas tales como jconsole y otras personas se conecten por corriendo con el -XX: + opción DisableAttachMechanism. Tenga en cuenta que esta opción no está documentada/apoyada en , sino que debe hacer lo que quiera con . Dicho esto, incluso con esto no hay nada que le impida conecta BGF y otros programas de depuración/proc

Sin embargo, eso es obvio el segmento de memoria se podía acceder localmente. Pero, ¿alguien sabe una herramienta para hacer volcados de memoria estándar con acceso directo a la memoria?

+1

No necesariamente un formato de volcado de memoria estándar, pero puede usar, por ejemplo, el editor hexadecimal HxD (http://mh-nexus.de/en/hxd/) para acceder a la memoria de cualquier proceso local (con suficientes privilegios) . –

+0

Agradable. ¡Funciona para mi! – laher

2

Configuración de la conexión máx cuenta a cero apaga JMX

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

Si aún necesita estadísticas, sencillo de leer el archivo * hsperfdata_ correspondiente

Editar: publiqué mi hsperf munin plugin en github.

Cuestiones relacionadas