Inhalt
- Einleitung
- Ablauf Java-Scan
- Open-Source Java Alternativen
- Microsoft Windows Endgeräte
- Client
- Server
- Apple MacOS Endgeräte
- Linux Endgeräte
- Client
- Client
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 ein neues Lizenzmodell eingeführt.
Dieses Lizenzmodell besagt, dass bereits für eine einzige lizenzpflichtige Oracle-Java-Anwendung alle Nutzerinnen und Nutzer eine kostenpflichtige Lizenz benötigen. Nicht lizenzierte Java-Anwendungen stellen somit ein finanzielles und veraltete Java-Anwendungen 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, fallen ebenfalls unter diese Massnahme. Ausgenommen sind BYOD-Geräte (Bring Your Own Device) im privaten Besitz der Nutzenden sowie der vom AFI verwaltete digitale Arbeitsplatz (DAP) und alle Computergeräte, die im Kantonsnetz (LEUnet) betrieben werden, 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, die Java-Scan-Software innerhalb von 30 Tagen vom Webdienst Webtransfer des Kantons Zürich herunterzuladen.
- Die Schule führt selbständig die Scansoftware manuell oder automatisiert auf Ihren Endgeräten aus. Dabei kann ein Gerät mehrmals gescannt werden.
- Die Scansoftware durchsucht das Endgerät und übermittelt das Ergebnis automatisiert in eine geschützte Datenbank im Kantonalen Amt für Informatik (AFI).
- Die Scan-Ergebnisse werden nach Java-Anwendungen kategorisiert und in Form eines Exports den einzelnen Schulen zur Verfügung gestellt.
- Mit jeder Schulen wird eine Ergebnisvorstellung durchgeführt und bei positiven Scan-Befunden das weitere Vorgehen besprochen.
- Die Schulen haben anschliessend Zeit bis Ende 2025, kostenpflichtige Oracle-Java-Anwendungen zu deinstallieren oder durch Open-Source-Java-Anwendungen zu ersetzen.
- Am Ende des Projekts werden die Scan-Ergebnisse wieder 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
-
Client
In der nachfolgenden Anleitung wird erläutert, wie der Scanvorgang auf einem Windows Endgerät (Client oder Server) ausgeführt wird.
- Schritt 1: Herunterladen der bereitgestellten Java-Scan-Software
- Schritt 2: 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 einzelnen Dateien auf.
Beim manuellen Scanvorgang 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 scan und Keep window open after scan und Write Trace File ein und klicken anschliessend auf die Schaltfläche Create. Weiterführende Informationen zu den Optionen finden Sie auf der Webseite des Herstellers beschrieben.
Um den Scanvorgang zu starten, doppelklicken Sie die Datei Octoscan2.exe. Wenn der Scanvorgang durchgelaufen und das Ergebnis erfolgreich hochgeladen wurde, wird der Eintrag 200 OK [UploadID].scan thank you! angezeigt. Das Fenster OctoScan2 kann anschliessend geschlossen werden.
Sie können den Scanvorgang im Trace File unter dem Verzeichnis C:\Users\[Benutzer]\AppData\Local\Octosoft\Octoscan2 in der Datei Trace_2024-xx-xx.log einsehen.
In der nachfolgenden Anleitung wird erläutert, wie der Java-Scanvorgang mit einer Gruppenrichtlinie für Clients automatisiert ausgeführt wird.
- Schritt 1: Herunterladen der bereitgestellten Java-Scan-Software
- Schritt 2: 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 einzelnen Dateien auf. Kopieren Sie anschliessend die drei Dateien in den NETLOGON Ordner auf dem Domänencontroller.
In einem ersten Schritt muss der Speicherort der Scansoftware 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 Assignmen 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 auf die Schaltfläche Show. Unter Show Contents fügen Sie in der Zeile Value den Pfad zur Scansoftware - in unserem Beispiel \\dom.loc\NETLOGON\Octoscan2.exe 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 _users.
In der nachfolgenden Anleitung wird erläutert, wie der Java-Scanvorgang mit einer Gruppenrichtlinie für Clients automatisiert ausgeführt wird.
- Schritt 1: Herunterladen der bereitgestellten Java-Scan-Software
- Schritt 2: Blockierung der aus dem Internet heruntergeladenen Dateien aufheben und in den Ordner NETLOGON auf dem Domänencontroller kopieren
- Schritt 2: Neue Gruppenrichtlinie für einen Scheduled Task "At log on" für Clients einrichten
- Schritt 3: Neue Gruppenrichtlinie mit entsprechender Organizational Unit (OU) verknüpfen.
Laden Sie die Java-Scan-Software herunter und heben die Blockierung der einzelnen Dateien auf. Kopieren Sie anschliessend die drei 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 New Action tragen Sie im Eingabefeld Program/Script den Pfad zur Java-Scan-Software - in unserm 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.
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.
In der nachfolgenden Anleitung wird erläutert, wie die Java-Scan-Software mit Microsoft Intune auf Endgeräte 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-Scannsoftware 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 Deinstallatiosroutine der Scansoftware und teilen diese unter Assignments für Required und Uninstall über + Add group zu. Klicken Sie anschliessend auf die Schaltfläche Next.
Über die beiden Sicherheitsgruppen Java-Octoscan2-Inventory_Install und Java-Octoscan2-Inventory_Uninstall wird das Installieren bzw. Deinstallieren der Scansoftware gesteuert. Fügen Sie für den Scanvorgang die Endgeräte zuerst in die Install-Sicherheitsgruppe und, um die Scansoftware wieder zu entfernen, in die Uninstall-Sicherheitsgruppe.
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.
Auf einem Windows-Endgerät können die Logeinträge unter dem Verzeichnis C:\Users\[Benutzername]\AppData\Local\Octosoft in der Datei Octosoft_AppLog.log eingesehen werden.
In der nachfolgenden Anleitung wird erläutert, wie der Java-Scanvorgang mit einer Gruppenrichtlinie für Server automatisiert ausgeführt wird.
- Schritt 1: Herunterladen der bereitgestellten Java-Scan-Software
- Schritt 2: 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 einzelnen Dateien auf. Kopieren Sie anschliessend die drei 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.
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.
Apple MacOS Endgeräte
-
Client
In der nachfolgenden Anleitung wird erläutert, wie die bereitgestellte Java-Scan-Software auf macOS-Endgeräten 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 Scanvorgang 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 Scansoftware klicken Sie abschliessend auf die Schaltfläche Schliessen. Der Scanvorgang startet automatisch im Hintergrund.
Sie können den Scanvorgang 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 sind die erstellten Logfiles ersichtlich.
Wenn Sie an Ihrer Schule eine Mobile Device Management (MDN) Lösung für Apple im Einsatz haben, kann die Java-Scan-Software automatisiert auf die Endgeräte ausgebracht werden.
Linux Endgeräte
-
Client
In der nachfolgenden Anleitung wird erläutert, wie die Java-Scan-Software manuell auf Linux-Endgeräte ausgeführt wird.
- Schritt 1: Herunterladen der bereitgestellten Java-Scan-Software auf das Endgerät
- Schritt 2: Eigenschaften des Scanvorgangs 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.
Öffnen Sie die Datei scan.sh und fügen Sie unter dem Eintrag OCTOSCAN-CUSTOM_PATHS weitere Pfade für mögliche Java-Anwendungen hinzu. Unter dem Eintrag OCTOSCAN-EXCLUDE_PATHS können Sie weitere mögliche Pfade ausschliessen. Weiterführende Informationen zu den Optionen finden Sie auf der Webseite des Herstellers beschrieben.
Starten Sie den Scanvorgang, indem Sie mit erhöhten Adminrechten im Terminal 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.