Startseite

Hier wird die Schulserverlösung Lime dokumentiert.

LIME ist keine geschlossene Plattform von der Stange, sondern eine offen gedachte Schulserverlösung für Grund- und Förderschulen. Die technische Basis mit OPNsense, SaltStack, FreeIPA, SSO, Nextcloud und Proxmox VE steht dabei für Sicherheit, Transparenz und Weiterentwickelbarkeit. Genau dieser Aspekt passt zum Wettbewerb: Security by Design bedeutet hier nicht Abschottung, sondern sichere, nachvollziehbare und souveräne Infrastruktur. 

Bild Logo - Einbinden Logo Datei als svg

Plan1

Plan2

Wallaper (png)

Logo in weiß (svg)

Logo in schwarz (svg)

Allgemeine Beschreibung 

Beschreibung Komponenten

Firewall [Bearbeiten]

Firewall

Wir setzen bei uns eine OPNsense ein, mit der wir verschiedene Dienste für unsere Schul-IT-Infrastruktur bereitstellen. Dabei beschränkt sich der Einsatz nicht nur auf die klassische Firewall-Funktion. Beispielsweise nutzen wir den integrierten DHCP-Server, um Clients automatisch IP-Adressen zuzuweisen. Außerdem verwenden wir den ACME-Client zur Verwaltung und automatischen Erneuerung von TLS-Zertifikaten. Zusätzlich setzen wir das Nginx-Plugin ein, um bestimmte URL-Anfragen, etwa für unsere Nextcloud, gezielt zu steuern und weiterzuleiten.

Da OPNsense auch als DNS-Server fungiert, nutzen wir dort zudem Blocking-Listen, um unerwünschte Inhalte zu filtern und den Zugriff entsprechend einzuschränken.

Übersicht Dienste der OPNsense

Beispiel Firewallregeln

Nutzerverwaltung [Bearbeiten]

FreeIPA ist eine Open-Source-Lösung für zentrale Identitäts- und Zugriffsverwaltung in Linux- und Unix-Netzwerken. Vereinfacht gesagt: Mit FreeIPA verwaltet man Benutzer, Gruppen, Rechner, Rechte und Anmeldungen an einer zentralen Stelle, statt alles auf jedem System einzeln einzurichten. Die Projektseite beschreibt FreeIPA als integrierte Lösung für Identity, Authentication, Policy und Audit.

FreeIPA ist für Linux-Netzwerke ungefähr das, was Active Directory oft in Windows-Umgebungen ist. Es sorgt dafür, dass sich Benutzer mit denselben Zugangsdaten an verschiedenen Systemen anmelden können und dass Regeln zentral gelten. Dazu nutzt es bekannte Open-Source-Komponenten wie 389 Directory Server für Verzeichnisdaten, MIT Kerberos für Anmeldung/Single Sign-on, Dogtag für Zertifikate und optional DNS-Dienste.

Aufgaben von FreeIPA sind:

  • Benutzer und Gruppen zentral verwalten
  • Passwörter und Anmeldungen steuern
  • Single Sign-on für mehrere Systeme ermöglichen
  • Hosts und Dienste in eine gemeinsame Sicherheitsstruktur aufnehmen
  • Zugriffsregeln definieren, etwa für SUDO, SELinux oder Host-Zugriffe
  • Zertifikate und teils auch DNS zentral mitverwalten

Dies soll ergänzt werden durch eine Anwendung zum Generieren von Record IDs.

Beschreibung Nutzerverwaltung mit FreeIPA

Demo für Screenshots:

https://ipa.demo1.freeipa.org/ipa/ui/

Nutzername: admin

Passwort: Secret123

Servervirtualisierung [Bearbeiten]

Proxmox VE (Proxmox Virtual Environment) ist eine Open-Source-Plattform zur Server-Virtualisierung. Damit kann man auf einem physischen Server mehrere virtuelle Maschinen (VMs) und Container betreiben und zentral verwalten. Die Plattform basiert auf Debian Linux und kombiniert Virtualisierung, Netzwerk, Storage und Cluster-Verwaltung in einer gemeinsamen Oberfläche.

Anlegen virtueller Maschinen:

  • 1 VM für FreeIPA (Benutzerverwaltung)
  • 1 VM für Nextcloud (Dateiablage)
  • 1 VM für Salt-Server (Automatisierung)
  • 1 VM für Testzwecke (Aufgrund der Snapshots kann hier sicher getestet werden)

In Schulen muss man oft Updates, neue Dienste oder Konfigurationen ausprobieren.
Mit Proxmox kann man dafür einfach eine Test-VM anlegen oder einen Snapshot machen. Wenn etwas schiefgeht, geht man zurück.

Das ist gerade bei:

  • Client-Updates
  • Nextcloud-Anpassungen
  • Authentifizierung
  • Firewall-nahen Diensten
  • neuen pädagogischen Anwendungen

sehr praktisch.

Wenn ein Server kaputt konfiguriert wird oder ein Update fehlschlägt, kann man:

  • Backups zurückspielen
  • Snapshots verwenden
  • VMs auf andere Hardware umziehen

Das reduziert Ausfallzeiten im Schulbetrieb.

Viele Schulserver sind leistungsfähig, aber oft läuft darauf nur ein einzelner Dienst.
Mit Proxmox kann man die vorhandene Hardware besser auslasten und mehrere Dienste auf einem Host bündeln.

Snapshots einer VM

Apache Dienst der Nextcloud VM anzeigen lassen

Übersicht VMs

Beschreibung Servervirtualisierung mit Proxmox

Geräteverwaltung [Bearbeiten]

SaltStack, heute meist einfach Salt genannt, ist ein Open-Source-Werkzeug zur IT-Automatisierung. Damit kann man viele Rechner zentral verwalten, Befehle auf ihnen ausführen, Software verteilen und sicherstellen, dass Systeme immer in einem gewünschten Zustand bleiben. Die offizielle Doku beschreibt Salt als eventgesteuertes Automatisierungs- und Infrastruktur-Management-Framework für Deployment, Konfiguration und Verwaltung komplexer IT-Systeme.

Typische Aufgaben mit Salt sind:

  • Remote-Befehle ausführen auf vielen Geräten gleichzeitig
  • Konfigurationen vereinheitlichen
  • Software und Updates ausrollen
  • Dienste starten, stoppen, überwachen
  • Abläufe automatisieren, z. B. komplette Bereitstellung neuer System

Salt arbeitet mit einem zentralen Master und verwalteten Systemen, den sogenannten Minions. Der Master verteilt Aufgaben, und die Minions führen sie aus.

Automatisierung statt Handarbeit.
Dadurch werden Systeme konsistenter, Fehler seltener und Verwaltungsaufgaben deutlich schneller.

Reagieren auf Ereignisse

Salt stellt mit dem sogenannten Reactorsystem ein äußerst nützliches Feature bereit. Diese Funktion ermöglicht es dem Salt-Server, gezielt auf bestimmte Ereignisse zu reagieren. Startet beispielsweise ein Client, meldet er sich automatisch beim Salt-Server an. Dieses Ereignis kann anschließend eine definierte Reaktion auslösen, die über sogenannte SLS-Dateien konfiguriert wird.

Mithilfe dieser SLS-Dateien lässt sich der Client in einen gewünschten Zustand überführen. Ihr Inhalt kann dabei vielfältig sein: vom Ausführen einzelner Befehle über die Installation von Software bis hin zur gezielten Anpassung oder Änderung von Dateien auf dem Zielsystem.

Sind die States einmal angelegt, reicht diese in der Reactor-Datei einfach mit einem Kommentarzeichen ein- bzw. auszuschalten. Das macht es recht bequem.

Reactor-File Beispiel

Grains und Roles

In Salt dienen Grains und Rollen (Roles) dazu, Systeme gezielt zu identifizieren und zu gruppieren. Grains sind statische Informationen über einen Client, wie etwa Betriebssystem, Hostname oder Hardwaredetails. Diese Daten werden automatisch erfasst und können genutzt werden, um Konfigurationen abhängig von bestimmten Eigenschaften anzuwenden.

Rollen hingegen sind frei definierbare Zuordnungen, die einem System eine bestimmte Funktion geben, beispielsweise „PC“ oder „Server“. Über diese Rollen lassen sich States gezielt auf Gruppen von Systemen anwenden, wodurch die Verwaltung komplexer Infrastrukturen deutlich vereinfacht wird.

Beschreibung Geräteverwaltung mit Salt

Nextloud [Bearbeiten]

Nextcloud als Dateiablage

Für unsere Eigenlösung haben wir bewusst auf klassische Netzlaufwerke verzichtet, um das System möglichst einfach zu halten („Keep it simple“). Stattdessen dient die Nextcloud als zentrale Dateiablage.

Klassische Home-Laufwerke haben den Vorteil, dass sie nach der Anmeldung automatisch eingebunden werden, ohne dass sich Nutzer erneut authentifizieren müssen. Dieses Prinzip haben wir auf die Nextcloud übertragen: Der Zugriff erfolgt bequem über eine Desktopverknüpfung.

Befindet sich ein Nutzer im internen Netzwerk, erfolgt die Anmeldung automatisch über Single Sign-On (SSO) im Browser. Technisch wird dies durch die SAML-App in der Nextcloud sowie eine entsprechende Konfiguration des Apache-Webservers umgesetzt (z. B. via Kerberos/GSSAPI).

Außerhalb des Schulnetzwerks ist weiterhin eine normale Anmeldung mit Benutzername und Passwort erforderlich. Der externe Zugriff wird dabei über die Firewall und entsprechendes URL-Rewriting ermöglicht, sodass die Nextcloud auch von außen erreichbar ist.

Clients  [Bearbeiten]

Linux Mint für Clients ist ein benutzerfreundliches Linux-Betriebssystem für Desktop-PCs und Notebooks. Es ist dafür gedacht, direkt auf Arbeitsplatzrechnern eingesetzt zu werden und Anwendern eine einfache, stabile und alltagstaugliche Oberfläche zu bieten. Durch die an Windows angelehnte Oberfläche ist auch der Umstieg auf Linux Mint recht einfach.

Beschreibung Linux Mint und Softwareliste