Raytheon Anschütz - Effizient aus der Ferne: Softwareverteilung

  • Erfolgsgeschichte
  • Raytheon Anschütz
  • ca. 550 Mitarbeitende
  • Navigationssyteme für die Schifffahrt
  • Konzept für (Re-Deployment

Installieren, Aktualisieren und Wiederherstellen von Software und Systemen: Das Mittelstand 4.0-Kompetenzzentrum Kiel erstellt für das Raytheon Anschütz ein Konzept für ein Deployment- und Redeployment-System.

Das Kieler Unternehmen Raytheon Anschütz ist ein führender Hersteller von Navigationssystemen für Handelsschiffe, Megayachten, Arbeitsboote, Küstenwache, Marineschiffe und U-Boote. Zum Portfolio gehören umfangreiche Navigationslösungen von Standardprodukten bis zur individuell angepassten Systemlösung, aber auch flexible Lösungen für kosteneffiziente Modernisierungen bestehender Navigationssysteme verschiedener Hersteller.

Die Herausforderung

Eine heterogene und mobile IT-Landschaft immer aktuell zu halten, bringt organisatorische und technische Herausforderungen mit sich. So auch bei Raytheon Anschütz, die hohe Ansprüche an Effizienz, Standardisierung und IT-Sicherheit haben.

Im Rahmen eines Projektes erstellt das Team des M4KK ein Konzept für ein Deployment- und Redeployment-System. Ziel ist es, ein Betriebssystem, Software und Konfigurationen auf mehreren Rechnern automatisiert zu installieren, ohne dafür jeden Rechner manuell aufzusetzen. Auch sollen diese Rechner mit Software und Betriebssystemupdates versorgt werden können. Weiterhin soll es möglich sein, diese Rechner nach einem Systemausfall wiederherzustellen.

Das automatische Verteilen von Software auf mehrere Rechner reduziert Fehlerquellen und erspart Zeit durch die Automatisierung von repetativen manuellen Arbeitsschritten.
Eine wesentliche Herausforderung bei mobilen Systemen ist die Tatsache, dass das Internet nicht kontinuierlich zur Verfügung steht und darauf zugegriffen werden kann.

  • Deployment: Das Verteilen von Software auf mehrere Rechner mit oder ohne lauffähige Betriebssysteme.
  • Paketmanagement: Das Verteilen von Updates/neuer Software auf funktionierende Rechner.
  • Redeployment bzw. Recovery: Backup und Wiederherstellung eines Systems nach einem Ausfall.
Was bedeutet Software Deployment?

Übersetzt bedeutet Software Deployment Softwareverteilung. Es ist eine automatisierte Installation oder Aktualisierung von Betriebssystemen oder Anwendungssoftware. Gerade größere Organisationen setzen auf eine zentralisierte Softwareverteilung.

Das Vorgehen

Das Team des M4KK analysiert verschiedene technische Möglichkeiten und erstellt ein Konzept für das sichere (Re-)Deployment unter Betrachtung der Faktoren Zuverlässigkeit und IT-Sicherheit des Systems.

Projektergebnis

Das erarbeitete Konzept ermöglicht die Entwicklung eines Prototyps für das sichere und zuverlässige (Re-)Deployment für mobile Systeme.

1. Techniken zur Verbesserung der Zuverlässigkeit und IT Sicherheit

Um die Zuverlässigkeit und IT Sicherheit des Systems zu verbessern, ist das Einhalten gewisser Sicherheitspraktiken sinnvoll. In diesem Abschnitt werden einige dieser Techniken beleuchtet.

Snapshotting vor einem Update

Die Zuverlässigkeit des Systems kann erhöht werden, indem beispielsweise ein Snapshot des lauffähigen Systems erstellt wird, der im Fall eines fehlgeschlagenen Updates wiederhergestellt wird. Für den Snapshot und gegebenenfalls die Wiederherstellung des Systems darf sich das System nicht im operativen Betrieb befinden, da dieser beeinträchtigt werden würde.

Geschwindigkeit:

  • Soft- und hardwareabhängig
  • Schreiben mit bis zu  150MB/s auf HDD pro Festplatte
  • Schreiben mit bis zu  500MB/s auf SSD pro Festplatte
  • Übertragung von bis zu  625MB/s über USB 3.0
  • Übertragung von bis zu  40GB/s über Thunderbolt 3
  • Übertragung von bis zu  125MB/s über Gigabit Ethernet

Vorteile:

  • Kompletter Snapshot mit allen Nutzerdaten/Konfigurationen
  • Image kann zur Notfallrecovery benutzt werden

Nachteile:

  • Viel Speicherplatz nötig (belegter Speicher aller unterschiedlichen Rechner)
Signierte Software

Signierte Software kann verhindern, dass - versehentlich oder böswillig - falsche Software auf den Systemen installiert wird. Da während der Installation keine Netzwerkverbindung angenommen werden kann, besteht nicht die Möglichkeit, direkt auf dem System die Authentizität der zu installierende Software beim Zertifikatsserver zu überprüfen. Stattdessen kann der Servicetechniker beim Herunterladen der Software auf seinem lokalen Laptop die Signaturen der Softwarepakete überprüfen.

Vorteile:

  • Verhindert Installation böswillig getarnter Fremdsoftware
  • Verhindert unbemerkte böswillige Veränderung der zu installierenden Software

Nachteile:

  • Zertifikatsserver beim Hersteller bzw. auf dem Laptop des Technikers notwendig
Verschlüsselung

Die Verschlüsselung der Kommunikation über das Internet verhindert unbefugtes Mitlesen oder Verändern der Daten durch Dritte. Die kann z. B. über HTTPS, SSH oder ein VPN erfolgen.

Vorteile:

  • Abhörsicher
  • Manipulationssicher

Nachteile:

  • Erhöhte Rechenleistung und Bandbreite notwendig
  • Hardwareabhängig langsamer als unverschlüsselte Kommunikation

2. Netzwerkanforderungen zur Installation des Betriebssystems über Netzwerke

Ein wesentlicher Vorteil eines Deploymentsystems ist die Möglichkeit, mehrere Rechner zeitgleich aufzusetzen und zu Konfigurieren. Um den direkten Zugriff auf jeden Rechner zu vermeiden, bietet sich die Installation der Systeme über das Netzwerk an. Für Deployment oder Redeployment über das Netzwerk muss ein Preboot Execution Environment im Netzwerk eingerichtet sein, z. B. PXE oder iPXE . Dafür sind ein PXE-fähiger DHCP-Server und ein TFTP-Server notwendig.

Die nachfolgende Abbildung zeigt die benötigte Netzwerkkommunikation zum Booten eines Rechners über das Netzwerk. Dafür ist kein Betriebssystem auf dem PXE-Client-Rechner erforderlich.

Folgende Möglichkeiten zur Realisierung der benötigten Server bieten sich an:

  • Laptop des Servicetechnikers
    Die Serverfunktionalitäten werden vom Servicetechniker bereitgestellt. Dazu muss sich der Laptop im selben Netzwerk mit den zu bootenden Rechnern befinden.
  • Über das Internet erreichbarer Server
    Ein Remote-Server stellt die DHCP-Funktionalitäten und verteilt die nötigen Softwareimages über das Internet an die Rechner beim Kunden.
  • Lokaler dedizierter Server
    Ein lokaler Server beim Kunden bietet DHCP/TFTP Funktionen an Netzwerkgeräten an. Dies kann z. B. - falls vorhanden - der Backup/Recovery Rechner bereitstellen.
  • Lokaler Masterserver
    Ein oder mehrere lokale Rechner fungieren selbst als ein DHCP/TFTP Server. Das setzt eine bereits bestehende Installation dieser Funktionalitäten vorraus.
  • Gesicherte lokale Partitionen
    Jeder Rechner hat eine (versteckte) Partition, auf die nur Backups oder zu installierende Images geschrieben werden. Das ermöglicht das Booten und Installieren ohne Netzwerkkonfiguration.

3. Spezifikation der Systeme

Spezifikation der Features des Deployment-, Backup- und Paketmanagementsystems.

(Re-)Deployment System
  • Verifizieren des Installationsimages
  • Verteilen von kompletten Installationsimages auf mehrere Systeme über das Netzwerk
  • Automatische Installation der Betriebssysteme und Software
  • Bereitstellen oder Verteilen von Softwarepaketen, Updates und Konfigurationsfiles an das Netzwerk
  • Initiieren eines Backups (z. B. vor Systemupdate)
Backup/Snapshot System
  • Erstellen eines kompletten Systembackups
  • Wiederherstellen des kompletten Systems von einem vorherigen Backup
  • Teilweise Backups (z.B. nur System oder nur Nutzerdaten)
  • Wiederherstellen teilweiser Backups
  • Speichern eines Backups auf einer lokalen oder Netzwerkressource
  • Vollständige/inkrementelle/differenzielle Backups
Paket Management System
  • Herunterladen und Installieren von Softwarepaketen aus spezifiziertem Repository
  • Verteilen der Softwarepakete an mehrere Rechner über das Netzwerk
  • Updates aller installierten Pakete
  • Dependency Management
  • Paketversionsverwaltung
  • Evtl. Container-System zur Kapselung von Software

4. Erfüllte Spezifikationen bestehender Lösungen

Backups/Snapshots

Windows Image Backup TeraByte Image for Windows Macrium Reflect baramundi Management Suite
Komplettes Systembackup ja ja ja ja
Wiederherstellen aus Backup ja ja ja ja
Teilweise Backup nur ganz Partition ja ja ja
Teilweises Wiederherstellen ja ja ja ja
Speichern auf Netzwerkressource oder lokal ja ja ja ja
Inkrementelle/Differenzielle Backups ja ja ja ja

(Re-)Deployment

Docker TeraByte Image for Windows Macrium Reflect baramundi Management Suite
Verifizieren des Installationsimages ja ja ja ja
Verteilen des Images auf mehrere Systeme ja ja ja ja
Automatische Installation ja ja ja ja
Software im Netzwerk Verteilen ja ja ja ja
Initiieren eines Backups ja ja ja ja

Paketmanagement

Docker OneGet Windows PMF NuGet Chocolatey
Eigene & fremde Repositories ja ja ja ja ja
Verteilen der Pakete über das Netzwerk ja ja ja ja ja
Automatische Paketupdates ja geplant geplant ja ja
Dependendy Management ja ja ja ja ja
Paketversionsverwaltung ja ja ja ja ja

Auch für Sie interessant?

Dann kommen Sie jederzeit gern auf uns zu.

Philipp Bende
Vernetzung und Blockchain

Philipp Bende