Im letzten Artikel ging es darum, wie man mithilfe der Jconsole eine lokale Anwendung verwalten oder einfach einen Blick in die JVM werfen kann, um zu sehen, wie diese funktioniert. Dies ist zwar für die Entwicklungsphase ganz nützlich, aber in der Praxis ist die Wahrscheinlichkeit groß, dass sich die zu verwaltende Anwendung ganz am anderen Ende des Netzwerks befindet. Die Java Management Extensions (JMX) brachten ursprünglich von Haus aus keine Netzwerkunterstützung mit, wurden aber in der späteren Version JSR 160 um diese Funktionen ergänzt. Dabei wurde gleich eine solche Unmenge an Netzwerkunterstützung zu JMX hinzugefügt, dass man beim Blick in die Spezifikationen schon etwas zurückschrecken kann. Hier soll es nun um die Remote-Verwendung der Jconsole gehen, wobei Fragen der Sicherheit zunächst einmal zurückgestellt seien.
Das wichtigste Element für eine schnelle Remote-Verbindung besteht darin, der zu überwachenden Anwendung das Akzeptieren von Remote-Verbindungen zu ermöglichen. Dies kann durch Einstellen einiger System-Eigenschaften erreicht werden, genauso wie man JMX aktiviert.
Um die Beispielanwendung „WatchMe“ mit Fernzugriff zu starten, muss man sie wie folgt aufrufen:
Dies startet JMX und öffnet Port 9696. Man kann jeden freien Port benutzen, vorausgesetzt er wird nicht von einer lokalen Firewall blockiert. Die nächsten beiden Parameter deaktivieren Passwort- und SSL-Authentifizierung. Dies darf man allerdings niemals in einer Produktionsumgebung tun, es würde die Tür sperrangelweit öffnen, so dass jedermann Zugriff auf die Anwendung hätte. In einer Entwicklungsumgebung ist dies allerdings recht nützlich. Zur Verbindung mit der Anwendung startet man die Jconsole wie bereits besprochen, öffnet aber unter Connections statt der Local– die Remote-Registerkarte.
|
Hier gibt man den Hostnamen sowie den Port der Zielanwendung ein, lässt Benutzernamen und Passwort frei und klickt auf Connect – das ist alles. Nun kann man die Anwendung mit der Jconsole überwachen und verwalten.
JMX bietet zwei Möglichkeiten zu kontrollieren, wer sich bei der Schnittstelle für das Anwendungsmanagement anmeldet: Authentifizierung per Passwort oder SSL. Passwortauthentifizierung ist am einfachsten einzurichten. Im JRE-Stammverzeichnis findet man das Verzeichnis lib, darunter ein Verzeichnis management, das wiederum die Steuerdateien für JMX enthält. Standardmäßig gibt es dort keine Passwortdatei, aber eine entsprechende Vorlage: jmxremote.password.template. Wenn man diese Datei nach management.jmxremote.password kopiert, wird sie von JRE als Default-Passwortdatei verwendet.
Der Cybersecurity Report von Hornetsecurity stuft 2,3 Prozent der Inhalte gar als bösartig ein. Die…
Die Hintermänner haben es auf Zugangsdaten zu Microsoft Azure abgesehen. Die Kampagne ist bis mindestens…
Cloud-Plattform für elektronische Beschaffungsprozesse mit automatisierter Abwicklung elektronischer Rechnungen.
Mindestens eine Schwachstelle erlaubt eine Remotecodeausführung. Dem Entdecker zahlt Google eine besonders hohe Belohnung von…
Nur rund die Hälfte schaltet während der Feiertage komplett vom Job ab. Die anderen sind…
Security-Experten von Check Point sind einer neuen Angriffsart auf die Spur gekommen, die E-Mail-Schutzmaßnahmen umgehen…