Inhalt

Einleitung

Java ist eine führende Programmiersprache und Entwicklungsplattform von Oracle, die in zahlreichen Anwendungen und auf verschiedenen Betriebssystemen zum Einsatz kommt.

Nach der Übernahme von Sun durch Oracle war die Nutzung von Java zunächst kostenlos. Seit 2019 sind Bildungseinrichtungen jedoch lizenzpflichtig, und im Jahr 2023 wurde das neue Lizenzmodell Oracle Java SE Universal Subscription eingeführt.

Dieses Lizenzmodell besagt, dass bereits für eine einzige lizenzpflichtige Oracle-Java-Anwendung alle Nutzerinnen und Nutzer einer Organisation eine kostenpflichtige Lizenz benötigen. Nicht lizenzierte Java-Anwendungen stellen daher sowohl ein finanzielles als auch ein operatives Risiko dar.

Aus diesem Grund hat der Kanton Zürich beschlossen, alle Computergeräte auf kostenpflichtige Oracle-Java-Anwendungen zu scannen, diese zu identifizieren und entweder zu entfernen oder durch Open-Source-Versionen zu ersetzen.

Auch die kantonalen Bildungseinrichtungen müssen ihre schulischen Computergeräte auf kostenpflichtige Java-Anwendungen überprüfen. Dies gilt sowohl für Server als auch für Clients, unabhängig davon, ob sie im Active Directory (on-premises) oder in der Cloud-Umgebung betrieben werden. Geräte, die in einem separaten Microsoft-365-Tenant über Intune verwaltet werden, sind ebenfalls betroffen. Ausgenommen sind BYOD-Geräte (Bring Your Own Device) im privaten Besitz der Nutzenden sowie der vom Amt für Informatik (AFI) verwaltete digitale Arbeitsplatz (DAP) und alle Computergeräte, die zum kantonalen AD (ktzh.zh.ch) gehören, da diese bereits gescannt wurden.

Für die Betriebssysteme Microsoft Windows, Apple macOS und Linux haben wir eine Java-Scan-Software der Firma Octosoft AG bereitgestellt. Die Lizenz der Java-Scan-Software ist bis Ende Februar 2025 gültig. In der folgenden Anleitung zeigen wir Ihnen Schritt für Schritt, wie Sie Ihre schulischen Computergeräte scannen können.

Ablauf Java-Scan

  • Die Schule erhält per E-Mail einen Download-Link, um die Java-Scan-Software innerhalb von 30 Tagen über den Webdienst Webtransfer des Kantons Zürich herunterzuladen.
  • Anschliessend führt die Schule die Scan-Software eigenständig, entweder manuell oder automatisiert, auf ihren Endgeräten aus. Bei Bedarf kann sich die Schule gerne an das Projektteam wenden, um Unterstützung während des Scan-Vorgangs zu erhalten.
  • Die Scan-Software durchsucht das Endgerät und überträgt die Ergebnisse automatisch in eine geschützte Datenbank des Kantonalen Amts für Informatik. Ein Gerät kann mehrfach gescannt werden.
  • Die Scan-Ergebnisse werden nach Java-Anwendungen kategorisiert und stehen den einzelnen Schulen in Form eines Exports zur Verfügung.
  • Für jede Schule wird eine Ergebnisvorstellung organisiert, bei der positive Scan-Befunde besprochen und das weitere Vorgehen festgelegt wird.
  • Die Schulen haben bis Ende 2025 Zeit, kostenpflichtige Oracle-Java-Anwendungen zu deinstallieren oder durch Open-Source-Java-Anwendungen zu ersetzen.
  • Am Ende des Projekts werden die Scan-Ergebnisse gelöscht.

Open-Source-Java-Alternativen

Hier sind einige Open-Source-Versionen, die auf OpenJDK basieren und dem Java-SE-Standard entsprechen:

Microsoft Windows Endgeräte

In der nachfolgenden Anleitung wird erläutert, wie der Java-Scan-Vorgang für Windows-Endgeräte (Client oder Server) manuell ausgeführt wird.

  • Schritt 1: Herunterladen der bereitgestellten Java-Scan-Software.
  • Schritt 2: Die Blockierung der aus dem Internet heruntergeladenen Dateien aufheben.
  • Schritt 3: Scan-Eigenschaften den Bedürfnissen anpassen.
  • Schritt 4: Java-Scan-Software ausführen.

Laden Sie die Java-Scan-Software herunter und heben die Blockierung der drei Dateien auf.

Screenshot 2024 10 29 113019

Beim manuellen Scan-Vorgang ist es hilfreich, dass der Vorgang am Bildschirm angezeigt und ein Logfile erstellt wird. Klicken Sie dazu auf die Datei OctoscanSettings.exe und schalten die Optionen Show window during scanKeep window open after scan und Write Trace File ein. Klicken Sie anschliessend auf die Schaltfläche Create. Weiterführende Informationen zu den Optionen finden Sie auf der Webseite des Herstellers beschrieben.

Screenshot 2024 10 29 113101

Um den Scan-Vorgang zu starten, doppelklicken Sie die Datei Octoscan2.exe. Wenn der Scan-Vorgang durchgelaufen und das Ergebnis erfolgreich hochgeladen wurde, wird der Eintrag 200 OK [UploadID].scan thank you! angezeigt. Das Fenster OctoScan2 kann anschliessend geschlossen werden.

Screenshot 2024 10 29 113208

Sie können den Scan-Vorgang im Trace-File unter dem Verzeichnis C:\Users\[Benutzer]\AppData\Local\Octosoft\Octoscan2 in der Datei Trace_202x-xx-xx.log einsehen.

Screenshot 2024 10 29 113511

home


In der nachfolgenden Anleitung wird erläutert, wie der Java-Scan-Vorgang für Clients automatisiert während des Anmeldevorgangs ausgeführt wird.

  • Schritt 1: Herunterladen der bereitgestellten Java-Scan-Software.
  • Schritt 2: Die Blockierung der aus dem Internet heruntergeladenen Dateien aufheben und in den Ordner NETLOGON auf dem Domänencontroller kopieren.
  • Schritt 3: Neue Gruppenrichtlinie für "Interne Domäne in die lokale Intranet-Zone aufnehmen" einrichten.
  • Schritt 4: Neue Gruppenrichtlinie für "automatisches Ausführen des Java-Scanners bei Benutzeranmeldung" einrichten.
  • Schritt 5: Neu erstellte Gruppenrichtlinien mit entsprechender Organizational Unit (OU) verknüpfen.

Laden Sie die Java-Scan-Software herunter und heben die Blockierung der drei Dateien auf. Kopieren Sie anschliessend alle Dateien in den Ordner NETLOGON auf dem Domänencontroller.

In einem ersten Schritt muss der Speicherort der Scan-Software in die Lokale-Intranet-Zone hinzugefügt werden. In unserem Beispiel ist es die interne Domäne dom.loc.

Erstellen Sie dazu eine neue Gruppenrichtlinie und wählen unter Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Internet Explorer -> Internet Control Panel -> Security Page die Richtlinie Site to Zone Assignment List aus.

Unter Site to Zone Assignment List aktivieren Sie die Option Enabled und klicken auf die Schaltfläche Show.... Unter Show Contents fügen Sie in der Zeile Value name die interne Domäne mit voranstehendem Stern (*) und Punkt (.) ein - in unserem Beispiel *.dom.loc und tragen in der Zeile Value den Wert 1 ein. Klicken Sie abschliessend mehrmals auf die Schaltfläche OK.

Verknüpfen Sie die neu erstellte Gruppenrichtlinie mit der entsprechenden OU - in unserem Beispiel mit clients.

Auf einem Windows-Endgerät wird die Einstellung der neu angewendeten Richtlinie unter Internet Options -> Local Intranet -> Sites -> Advanced -> Websites angezeigt - in unserem Beispiel die interne Domäne *.dom.loc.

In einem zweiten Schritt wird die Scan-Software automatisch beim Anmeldevorgang des Benutzers ausgeführt.

Erstellen Sie dazu eine neue Gruppenrichtlinie und wählen unter User Configuration -> Policies -> Administrative Templates -> System -> Logon die Richtlinie Run these programs at user logon aus.

Unter Run these programs at user logon aktivieren Sie die Option Enabled und klicken anschliessend unter Options: auf die Schaltfläche Show.... Unter Show Contents fügen Sie in der Zeile Value den Pfad zur Scan-Software - in unserem Beispiel \\dom.loc\NETLOGON\Octoscan2.exe ein. Klicken Sie abschliessend mehrmals auf die Schaltfläche OK.

Screenshot 2024 10 26 170435

Verknüpfen Sie die neu erstellte Gruppenrichtlinie mit der entsprechenden OU - in unserem Beispiel mit _users.

Screenshot 2024 10 26 170456

home


In der nachfolgenden Anleitung wird erläutert, wie der Java-Scan-Vorgang für Clients automatisiert mit Hilfe eines scheduled Task während des Anmeldevorgangs ausgeführt wird.

  • Schritt 1: Herunterladen der bereitgestellten Java-Scan-Software.
  • Schritt 2: Die Blockierung der aus dem Internet heruntergeladenen Dateien aufheben und in den Ordner NETLOGON auf dem Domänencontroller kopieren.
  • Schritt 3: Neue Gruppenrichtlinie für einen Scheduled Task "At log on" für Clients einrichten.
  • Schritt 4: Neue Gruppenrichtlinie mit entsprechender Organizational Unit (OU) verknüpfen.

Laden Sie die Java-Scan-Software herunter und heben die Blockierung der drei Dateien auf. Kopieren Sie anschliessend alle Dateien in den Ordner NETLOGON auf dem Domänencontroller.

Erstellen Sie eine neue Gruppenrichtlinie und wählen unter User Configuration -> Preferences -> Control Panel Settings -> Scheduled Tasks -> New den Eintrag Scheduled Task (At least Windows 7) aus.

Unter General wählen Sie für den Scheduled Task einen Namen aus und wählen unter When running the task, use the following user account: den vorgeschlagenen Eintrag %LogonDomain%\%LogonUser% aus. Achten Sie darauf, dass die Option Run only when user is logged on ausgewählt ist. Klicken Sie abschliessend auf die Schaltfläche OK.

Unter New Trigger wählen Sie unter Settings die Option Any user aus und klicken abschliessend auf die Schaltfläche OK. Unter Advanced Settings kann die Option Repeat task every: aktiviert und ein Beispielwert 8 hours eingetragen werden. So werden auch Endgeräte gescannt, die vom Benutzer nie oder selten ausgeschaltet werden.

Unter New Action tragen Sie im Eingabefeld Program/Script: den Pfad zur Java-Scan-Software - in unserem Beispiel \\dom.loc\NETLOGO\Octoscan2.exe ein und klicken abschliessend auf die Schaltfläche OK.

Unter Settings aktivieren Sie das Kontrollkästchen Allow task to be run on demand und klicken abschliessend auf die Schaltfläche OK.

Verknüpfen Sie die neu erstellte Gruppenrichtlinie mit der entsprechenden OU - in unserem Beispiel mit _users.

Screenshot 2024 10 21 094940

Auf einem Windows-Endgerät ist der neue Task-Scheduler-Eintrag - in unserem Beispiel Java-Scan_Clients ersichtlich und wird bei jeder Benutzeranmeldung automatisch ausgeführt.

Screenshot 2024 10 21 095043

home


In der nachfolgenden Anleitung wird erläutert, wie die Java-Scan-Software für Windows-Endgeräte mit Microsoft Intune automatisiert verteilt und ausgeführt wird.

  • Schritt 1: Herunterladen der bereitgestellten Java-Scan-Software für Windows-Intune und Hochladen in Microsoft-Intune.
  • Schritt 2: Zwei Sicherheitsgruppen in Microsoft-Intune erstellen, z. B. "Java-Octosoft2-Inventory_Install" und "Java-Octosoft2-Inventory_Uninstall".
  • Schritt 3: Die zu scannenden Endgeräte in die Install-Sicherheitsgruppe hinzufügen - dabei wird die Java-Scan-Software installiert.
  • Schritt 4: Fertig gescannte Endgeräte in die Uninstall-Sicherheitsgruppe hinzufügen - dabei wird die Java-Scan-Software wieder deinstalliert.

Öffnen Sie im Microsoft Intune admin center auf der Seite Apps den Eintrag All apps aus. Klicken Sie auf + Add und wählen im Dialogfenster Select app type unter App type den Eintrag Windows app (Win32) aus. Klicken Sie anschliessend auf die Schaltfläche Select.

Unter Add App klicken Sie auf den Weblink Select app package file und wählen das App package file mit der Dateiendung *.intunewin aus - in unserem Beispiel die Datei Java-Octososcan2-Inventory_ABZH.intunewin. Klicken Sie anschliessend auf die Schaltfläche OK und danach auf Next.

Unter Name * und Description * tragen Sie einen aussagekräftigen Name, und unter Publisher * tragen Sie den Herstellername Octosoft AG ein. Unter App Version * können Sie eine Softwareversion eintragen. Klicken Sie anschliessend auf die Schaltfläche Next.

Unter Program tragen Sie im Eingabefeld Install command * den Befehl Deploy-Application.exe -DeploymentType 'Install' -DeployMode 'Silent' und unter Uninstall command * den Befehl Deploy-Application.exe -DeploymentType 'Uninstall' -DeployMode 'Silent' ein. Den Schalter Allow available uninstall stellen Sie auf No und unter Device restart behavior wählen Sie die Option Determine behavior based on return codes aus. Klicken Sie anschliessend auf die Schaltfläche Next.

Unter Requirements klicken Sie im Auswahlmenü Operation system architecture * die Optionen 32-bit und 64-bit an. Unter Minimum operating system * wählen Sie den Eintrag Windows 10 1607 aus. Klicken Sie anschliessend auf die Schaltfläche Next.

Unter Detection rules, danach unter Rules format * wählen Sie den Eintrag Manually configure detection rules aus und klicken anschliessend auf + Add. Im Dialogfenster Detection rule wählen Sie unter Rule type * den Eintrag File aus. Tragen Sie unter Path * die Pfadangaben C:\Program Files\OCTOSoft\Octosam\ und unter File or folder * den Eintrag OCTOscan2.exe ein. Wählen Sie abschliessend unter Detection method * den Eintrag File or folder exists aus. Klicken Sie anschliessend auf die Schaltfläche OK und danach auf Next.

Erstellen Sie im Microsoft Intune admin center unter Groups zwei Sicherheitsgruppen für die Installation- und Deinstallationsroutine der Scan-Software und teilen diese unter Assignments für Required und Uninstall über + Add group zu. In unserem Beispiel Java-Octoscan2-Inventory_Install für Required und Java-Octoscan2-Inventory_Uninstall für Uninstall. Klicken Sie anschliessend auf die Schaltfläche Next.

Screenshot 2024 10 21 160728

Über die beiden Sicherheitsgruppen Java-Octoscan2-Inventory_Install und Java-Octoscan2-Inventory_Uninstall wird das Installieren bzw. Deinstallieren der Scan-Software gesteuert. Fügen Sie für den Scan-Vorgang die Endgeräte zuerst in die Install-Sicherheitsgruppe und, um die Scan-Software wieder zu entfernen, in die Uninstall-Sicherheitsgruppe hinzu.

Screenshot 2024 10 21 161730

Auf einem Windows-Endgerät wird die Java-Scan-Software unter dem Laufwerk C:\Program Files\OCTOSoft\Octosam\ installiert. Dabei wird ein neuer Task im Windows Task Scheduler mit der Bezeichnung Start OctoSam Scanner und dem Trigger Bei Anmeldung eines Benutzers erstellt. Der Trigger startet die Anwendung OCTOscan2.exe und führt den Scanvorgang aus. Der Task wird bei jeder Benutzeranmeldung, die länger als drei Tage zurückliegt, ausgeführt.

Screenshot 2024 10 21 163102

Auf einem Windows-Endgerät können die Logeinträge des Scan-Vorgangs unter dem Verzeichnis C:\Users\[Benutzername]\AppData\Local\Octosoft in der Datei Octosoft_AppLog.log eingesehen werden.

Screenshot 2024 10 21 163137

home


In der nachfolgenden Anleitung wird erläutert, wie der Java-Scan-Vorgang für Server automatisiert unter Woche mit Hilfe eines scheduled Task ausgeführt wird.

  • Schritt 1: Herunterladen der bereitgestellten Java-Scan-Software.
  • Schritt 2: Die Blockierung der aus dem Internet heruntergeladenen Dateien aufheben und in den Ordner NETLOGON auf dem Domänencontroller kopieren.
  • Schritt 3: Neue Gruppenrichtlinie für einen Scheduled Task "On a Schedule" für Server einrichten.
  • Schritt 4: Neue Gruppenrichtlinie mit entsprechender Organizational Unit (OU) verknüpfen.

Laden Sie die Java-Scan-Software herunter und heben die Blockierung der drei Dateien auf. Kopieren Sie anschliessend alle Dateien in den Ordner NETLOGON auf dem Domänencontroller.

Erstellen Sie eine neue Gruppenrichtlinie und wählen unter Computer Configuration -> Preferences -> Control Panel Settings -> Scheduled Tasks -> New den Eintrag Scheduled Task (At least Windows 7) aus.

Unter General wählen Sie für den Task einen Namen aus - in unserem Beispiel Java-Scan_Server und wählen unter When running the task, use the following user account den Benutzer NT AUTHORITY\Sytem aus. Achten Sie darauf, dass die Option Run whether user is logged on or not ausgewählt ist. Aktivieren Sie anschliessend das Kontrollkästchen Run with highest privileges und klicken abschliessend auf die Schaltfläche OK.

Unter New Trigger wählen Sie unter Settings die Option Weekly aus und tragen unter Start die gewünschte Startzeit ein - in unserem Beispiel 03:00:00 Uhr. Aktivieren Sie unter Recur every 1 weeks on: die Kontrollkästchen Monday, Tuesday, Wednesday, Thursday, und Friday aus und klicken abschliessend auf die Schaltfläche OK.

Unter New Action tragen Sie im Eingabefeld Program/Script den Pfad zur Java-Scan-Software ein - in unserem Beispiel \\dom.loc\NETLOGON\Octoscan2.exe und klicken abschliessend auf die Schaltfläche OK.

Unter Settings aktivieren Sie das Kontrollkästchen Allow task to be run on demand und klicken abschliessend auf die Schaltfläche OK.

Verknüpfen Sie die neu erstellte Gruppenrichtlinie mit der entsprechenden OU - in unserem Beispiel mit servers.

Screenshot 2024 10 27 171513

Auf einem Windows Server ist der neue Task-Scheduler Eintrag - in unserem Beispiel Java-Scan_Server ersichtlich und wird wöchentlich von Montag bis Freitag jeweils um 03:00:00 Uhr ausgeführt.

Screenshot 2024 10 27 171838

home


Apple MacOS Endgeräte

In der nachfolgenden Anleitung wird erläutert, wie der Java-Scan-Vorgang für macOS-Endgeräte, während des Anmeldevorgangs oder manuell ausgeführt wird.

  • Schritt 1: Herunterladen der bereitgestellten Java-Scan-Software auf das Endgerät.
  • Schritt 2: Die Java-Scan-Software installieren.
  • Schritt 3: Der Scan-Vorgang wird nach der Installation automatisch gestartet und wiederholt sich bei jeder erneuten Anmeldung, die länger als 720 Minuten zurückliegt.

Laden Sie die Java-Scan-Software für MacOS auf Ihr Endgerät herunter und führen diese aus.

Klicke Sie unter Einführung auf die Schaltfläche Fortfahren.

Klicken Sie unter Installationstyp auf die Schaltfläche Installieren. Unter Ort für die Installation ändern... können Sie den Installationsort der Java-Scan-Software Ihren Bedürfnissen anpassen.

Nach der erfolgreichen Installation der Scan-Software klicken Sie abschliessend auf die Schaltfläche Schliessen. Der Scan-Vorgang startet automatisch im Hintergrund.

Sie können den Scan-Vorgang auch manuell ausführen, indem Sie die Anwendung Octoscan for "Schulkürzel" starten und auf den Eintrag Scan Now auswählen und anschliessend auf die Schaltfläche OK klicken. Die Java-Scan-Software kann über den Eintrag Uninstall wieder deinstalliert werden.

Unter dem Pfad ~/Library/Caches/ch.octosoft.octoscan bzw. Macintosh HD/Benutzer:innen/[Benutzername]/Library/Caches/ch.octosoft.octoscan können die Logfiles für den Scan-Vorgang eingesehen werden.

home


Wenn Sie an Ihrer Schule eine Mobile Device Management (MDN) Lösung für Apple im Einsatz haben, kann damit die Java-Scan-Software automatisiert auf die Endgeräte ausgebracht werden.


Linux Endgeräte

In der nachfolgenden Anleitung wird erläutert, wie der Java-Scan-Vorgang auf einem Linux-Endgerät ausgeführt wird.

  • Schritt 1: Herunterladen der bereitgestellten Java-Scan-Software auf das Endgerät.
  • Schritt 2: Eigenschaften des Scan-Vorgangs den Bedürfnissen anpassen.
  • Schritt 3: Die Bash-Datei scan.sh ausführen.

Laden Sie die Java-Scan-Software für Linux auf Ihr Endgerät herunter.

Ohne Konfiguration durchsucht OctoScan die nachfolgenden Pfade des Installationsdateisystems nach Java-Versionen: /opt/usr/lib/usr/lib64/usr/java. Um weitere Pfade hinzuzufügen bzw. auszuschliessen, öffnen Sie die Datei scan.sh und fügen in der Zeile 32 unter dem Eintrag OCTOSCAN-CUSTOM_PATHS weitere hinzu und schliessen in der Zeile 38 unter OCTOSCAN-EXCLUDE_PATHS weitere aus. Weiterführende Informationen zu den Optionen finden Sie auf der Webseite des Herstellers beschrieben.

Starten Sie den Scan-Vorgang, indem Sie in der Terminal-Anwendung mit privilegierten Rechten den Befehl sudo bash ./scan.sh ausführen. Eine erfolgreich hochgeladene Scan-Datei mit der Endung *.scal wird am Ende mit thank you! und anschliessend mit OK - goodbye quittiert.

Intro Animation Züri Wappen