Java Applets und Java Web Start-Anwendungen starten - ab Java 7 Update 51
Dieser Beitrag wird derzeit noch bearbeitet. Der Text ist deshalb unvollständig und kann Fehler oder ungeprüfte Aussagen enthalten. |
Inhaltsverzeichnis
Einleitung
Nachdem man in Java's Laufzeitumgebungen (JRE) der Versionen 6 und 7 mehrere Sicherheitslöcher gefunden hatte, die auch massiv ausgenutzt wurden, war Oracle in Zugzwang und führte radikale Veränderungen in den Sicherheitsmechanismen der JRE ein, die mit Java 7 Update 51 am 14. Januar 2014 veröffentlicht wurden.
Durch die Änderungen ergaben sich erhebliche Einschnitte bei der Ausführung von unsignierten sowie signierten Java-Applets durch standardmäßig höhere Sicherheitseinstellungen im Java Control Panel. Mit diesen Einstellungen haben Applets keine Möglichkeit mehr, ausgeführt zu werden. Eigentlich ein Todesstoß für die ohnehin seltenen Java-Applets im Internet. Doch was ist z.B. mit Applets in Unternehmensnetzwerken, Intranets usw. ?
Schauen wir uns als also an, welche Möglichkeiten wir nun haben, um Java-Applets wieder zum Laufen bekommen.
Der Istzustand
Unsignierte Java-Applets
Unsignierte Applets können standardmäßig nun nicht mehr ausgeführt werden. Die Sicherheitseinstellungen im Java Control Panel verhindern, dass unsignierter Java-Code auf dem Client-Rechner zur Ausführung kommt.
Die JRE präsentiert folgenden Sicherheitsdialog:
Signierte Java-Applets
Vom Programmierer selbst signierte Anwendungen werden mit den Standardsicherheitseinstellungen ebenso blockiert. Ausschließlich mit einem von kostenpflichtigen Authentifizierungsdiensten, wie bspw. Verisign (Symantec) oder Thawte, ausgestellten Zertifikat startet ein Java-Applet nun noch in der höchsten Sicherheitsstufe. Sie laufen außerhalb der Sandbox und erhalten erweiterte Rechte auf dem Client-Rechner, die alle Systemrechte des Clients einschließt.
Java Applets starten - ab Java 7 Update 51
Unsignierte Java-Applets
Ein unsigniertes Applet startet nun in den Standardsicherheitseinstellungen des Java Control Centers gar nicht mehr. Somit wird sichergestellt, dass potenziell schadhafter Code auf dem Client-Rechner nicht ausgeführt werden kann.
Möchte man dennoch ein unsigniertes Applet starten, sollte der Anwender genau wissen, was er macht.
Mit einem Eingriff in die Sicherheitseinstellungen der VM können ältere und/oder nicht signierte Java-Applets trotzdem ausgeführt werden.
Dazu muss der Schieberegler der Sicherheitsebene von Hoch (Mindestempfehlung) auf Mittel verschoben werden:
In einem Sicherheitsdialog wird nun immer noch einmal gewarnt, wenn in einer Webseite ein potenziell unsicheres Applet auszugeführt werden soll.
Hier muss nun der Haken gesetzt werden, anschließend kann das unsignierte Applet durch Klick auf den Ausführen-Button gestartet werden.
Signierte Java-Applets
Für das Signieren von Applets gibt es nun neue Regeln, ohne deren Anwendung Applets nicht ausgeführt werden.
Hinweis: Im Artikel Java-Applets und Java WebStart-Anwendungen signieren wird beschrieben, wie nun gültige Zertifikate erzeugt und Anwendungen damit signiert werden können.
Um ein selbst signiertes Applet zu starten, ist die URL der anbietenden Webseite manuell in die White List (Liste, vom Anwender als "sauber" eingeschätzter Webseiten) einzutragen.
Beispielhaft sei hier im Folgenden die Schrittfolge beschrieben:
1. Java Control Panel öffnen
In der Systemsteuerung doppelklicken wir das Java-Icon. Daraufhin öffnet sich das Java Control Panel.
2. Java aktivieren
Jetzt wechseln wir in den Reiter Sicherheit.
Sollte der Haken bei Java-Content im Browser aktivieren noch nicht gesetzt sein, aktivieren wir Java im Browser, in dem wir hier den Haken nun setzen.
3. Aktivierung des Java-PlugIn bestätigen
Wenn wir nun den Anwenden- oder OK-Button klicken fordert uns das Java Control Panel nun auf, die Aktivierung des Java-PlugIns zu bestätigen.
Wir möchten das Java-PlugIn für die Ausführung von Java-Applets aktivieren und klicken hier deshalb auf OK.
4. Site-Liste bearbeiten
Nun müssen wir die White List, also die Liste der URLs, bearbeiten, die wir für sicher halten. Hier tragen wir URLs von Webseiten ein, in denen Applets eingebettet sind, die wir ausführen möchten.
Dazu klicken wir auf den Button Siteliste bearbeiten...
5. Site-Liste bearbeiten
Anschließend öffnet sich dieser Dialog, in welchem wir auf den Button Hinzufügen klicken, um nun die Webseiten einzutragen, deren eingebettete Applets nicht mehr von den besonderen Sicherheitseinstellungen blockiert werden sollen. Wir erinnern uns: Alle unsignierten und alle selbst signierten Applets werden von den neuen Sicherheitseinstellungen blockiert.
6. Site-Liste bearbeiten
In das Textfeld tragen wir nun, wie im Beispielbild zu sehen, jeweils eine URL ein.
Dabei ist darauf zu achten, dass die URLs jeweils ohne konkrete html-Datei abgegeben werden.
- Richtig: http://www.beispiel.com/eineApplikation/
- Falsch: http://www.beispiel.com/eineApplikation/dateiname.html
7. Warnung zur Kenntnis nehmen
Durch das Eintragen von "sauberen" URLs zu Webseiten die Java-Applets enthalten, werden wir vor der Lockerung der Sicherheitseinstellungen mit einem Warnhinweis informiert.
Möchten wir, dass die in der Site-List eingetragenen Webseiten Applets auf unserem Rechner ausführen?
Unsignierte Applets laufen in einer Sandbox und dürfen einige Dinge auf unserem System nicht machen. Zugriffe auf die lokale Verzeichnisebene ist genauso tabu, wie die VM beenden, Verbindung zu einem anderen Rechner aufnehmen, oder Systemeigenschaften auszulesen. Durch die Lockerung der Sicherheitseinstellungen könnte sich aber u.U. ein Applet bei einem bisher noch unbekannten Sicherheitsleck in der Java-VM dennoch Zugriffsrechte auf unserem System verschaffen. Um davor zu Warnen, ist dieser Warndialog eingerichtet worden.
Wenn wir uns sicher sind, die richtigen Seiten eingetragen zu haben, akzeptieren wir die Lockerung der Sicherheitseinstellungen durch Klicken auf den Fortfahren-Button.
8. Operation abschließen
Alle Einstellungen sind nun vollzogen, wir beenden das Java Control Center mit Klick auf Anwenden und OK und starten anschließend ggf den Browser neu.
Hello World - Applet testen
Zum Testen kann hier ein einfaches HelloWorld-Applet getestet werden.
Die Ausgabe auf dem Bildschirm sollte so aussehen: