パスワードをメモリに保持するJavaプログラムを作成しています。残念ながら、ユーザーは簡単に jconsole または jmap を使用してヒープ ダンプ ファイルを作成し、それを開いてパスワードを見つけることができます。jconsole は、ローカル ソケットを使用して jvm に接続すると思います。知りたいのですが、ローカル ユーザーでも jmx を無効にする方法はありますか? ヒープダンプを完全に無効にする方法はありますか? ユーザーはメモリセグメントにアクセスできるため、とにかくパスワードにアクセスできます。ただし、アクションをできるだけ高価にするために、それを行う標準的な方法を無効にしたいと考えています。
7251 次
2 に答える
6
最後に、jconsole接続を無効にするための解決策を見つけました。また、jmapがダンプファイルを作成するのを防ぎます。私はここで解決策を見つけました。私もここで答えを引用します:
-XX:+ DisableAttachMechanismオプションを指定して実行すると、jconsoleなどのツールが接続されないようにすることができます。このオプションは文書化/サポートされていませんが、必要なことを実行する必要があることに注意してください。そうは言っても、これでもgdbや他のデバッグ/procベースのプログラムに接続するのを止めるものは何もありません
ただし、メモリセグメントにローカルでアクセスできることは明らかです。しかし、メモリに直接アクセスして標準のメモリダンプを作成するツールを知っている人はいますか?
于 2009-08-11T10:28:51.813 に答える
3
最大接続数をゼロに設定すると JMX がシャットダウンする
-Dsun.rmi.transport.tcp.maxConnectionThreads=0
それでも統計が必要な場合は、対応する hsperfdata_* ファイルを読み取るだけです
編集: hsperf munin プラグインを github で公開しました。
于 2016-01-06T09:52:46.257 に答える