Piszemy program java, który przechowuje hasło w pamięci. Niestety, użytkownik może z łatwością użyć jconsole lub jmap do utworzenia pliku zrzutu sterty i otworzyć go, aby znaleźć hasło. Myślę, że jconsole łączy jvm z lokalnymi gniazdami. Chcę wiedzieć, czy istnieje sposób na wyłączenie jmx nawet dla lokalnych użytkowników? Czy istnieje sposób całkowitego wyłączenia zrzutów sterty? Ponieważ użytkownik ma dostęp do segmentu pamięci, i tak jest możliwe uzyskanie dostępu do hasła. Jednak chcę wyłączyć standardowe sposoby robienia tego, aby działanie było jak najdroższe.Wyłączanie lokalnych połączeń JMX na JVM
Odpowiedz
Wreszcie znalazłem rozwiązanie do wyłączania połączeń jconsole. Zapobiega to także tworzeniu przez jmap pliku zrzutu. Znalazłem rozwiązanie here. Ja też zacytować odpowiedź tutaj:
Można zapobiec narzędzi, takich jak JConsole i innych z podłączeniem przez biegł z -XX: + DisableAttachMechanism opcji. Zauważ, że ta opcja nie jest udokumentowana/obsługiwana, ale powinna być zgodna z Twoją wolą. Powiedział, że nawet z to nie ma nic, aby zatrzymać podłączenia gdb lub innych debugowanie/proc programów opartych
jednak, że jest oczywiste, że segment pamięci mogą być dostępne lokalnie. Ale czy ktoś zna narzędzie do tworzenia standardowych zrzutów pamięci z bezpośrednim dostępem do pamięci?
Ustawianie liczyć max gra na zero wyłącza JMX
-Dsun.rmi.transport.tcp.maxConnectionThreads=0
Jeśli trzeba jeszcze statystyk, prosty przeczytać odpowiedni hsperfdata_ plik *
Edycja: opublikowałem mój hsperf munin plugin na github.
- 1. Wyłączanie JMX w aplikacji wiosną
- 2. JMX MBean rejestracja przy użyciu Wiosna na samodzielny JVM
- 3. Uzyskiwanie zmiennych lokalnych z ramki stosu w JVM
- 4. JMX vs VisualVM?
- 5. JMX hasło odczytu problem
- 6. Howto Monitoruj kilka aplikacji internetowych (z JMX) na serwerze Tomcat?
- 7. Jak znaleźć port JMX na serwerze?
- 8. JMX eksportująca platforma podobna do eksportera Spring JMX
- 9. Jak zrestartować JVM, gdy zabraknie mu pamięci przy użyciu monitorowania JMX?
- 10. jmx zabezpieczenie wątku mbean
- 11. Weird JVM crash na długim procesie - Możliwe błąd JVM
- 12. JVM na bazie DOS dostępny
- 13. Wyłączanie animacji przejścia na segmenty
- 14. Czy można programowo zamknąć proces Java przez JMX
- 15. Jak ustawić nazwę net.sf.ehcache.CacheManager dla monitorowania JMX?
- 16. Lista obiektów i atrybutów JMX?
- 17. Jak programowo zrzutu danych JMX?
- 18. Klient Java JMX z SSL
- 19. tworzenie obiektów lokalnych wątku na scala
- 20. Python Scrapy na danych offline (lokalnych)
- 21. Funkcja losowa połączeń na procenty?
- 22. Maven JVM nieoczekiwanie zakończył pracę z kodem wyjściowym 0 na serwerze WWW wdrażającym
- 23. Ustawienia http.proxyHost dla JVM na OSX
- 24. Doświadczenie przejścia na 64-bitową maszynę JVM
- 25. IOS Anulowanie lokalnych powiadomień
- 26. Javadoc dla zmiennych lokalnych?
- 27. Wyłączanie Minimalizuj i maksymalizuj na WinForm?
- 28. Wyłączanie prawej szuflady tylko na określonym fragmencie
- 29. Wyłączanie pushowania do określonych gałęzi na GitHub
- 30. Tymczasowe wyłączanie animacji na Lollipop CheckBox
Niekoniecznie standardowy format zrzutu pamięci, ale można użyć na przykład edytora szesnastkowego HxD (http://mh-nexus.de/en/hxd/), aby uzyskać dostęp do pamięci dowolnego procesu lokalnego (z odpowiednimi uprawnieniami) . –
Nice. Pracuje dla mnie! – laher