Zuletzt bearbeitet vor einem Jahr
von Margit Link-Rodrigue

Software - Sicherheit und Zuverlässigkeit

Version vom 10. August 2023, 14:51 Uhr von Margit Link-Rodrigue (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Hier erklären wir Ihnen die konzeptionellen Grundlagen der BlueSpice Softwareentwicklung und erläutern zentrale Verfahren, mit denen Hallo Welt! Sicherheit und Zuverlässigkeit in der Softwareentwicklung gewährleistet.

Prinzipien der Softwareentwicklung[Bearbeiten | Quelltext bearbeiten]

Die Softwareentwicklung von BlueSpice basiert auf einer Reihe wichtiger Prinzipien:

  • Cloud-First-Ansatz: Die Software wird für den Einsatz in unserem Cloud-Angebot entwickelt und regelmäßig auch für On-Premises-Installationen veröffentlicht.
  • Security-by-Default: Alle relevanten Sicherheitseinstellungen sind bereits in der Grundkonfiguration der Software und unserer Services aktiviert.
  • Herstellerunabhängigkeit durch Open-Source-Entwicklung: Hallo Welt! ist zwar alleiniger Hersteller der Softwaredistribution BlueSpice, der von Hallo Welt! produzierte Code wird jedoch unter aktiver Beteiligung der der MediaWiki-Community in den öffentlichen Repositories der Wikimedia Foundation entwickelt und ist somit frei zugänglich. Damit ist sichergestellt, dass der Support für die Nutzer der Software nicht nur durch Hallo Welt!, sondern auch durch andere Dienstleister geleistet werden kann (Vermeidung eines Lock-in-Effekts).
  • Verwendung quelloffener Standards, Technologien und Formate: Hallo Welt! setzt auf offene Standards, die besonders leicht zugänglich, erweiterbar und einsetzbar sind. Die notwendige Server-Infrastruktur kann vollständig mit Open-Source-Software bereitgestellt werden (z.B. Linux-Betriebssysteme oder MariaDB als Datenbanksystem). Die Software BlueSpice basiert auf und nutzt verschiedene offene Standards (z.B. TLS, TCP/IP, IPv6 als Netzwerkprotokoll für die Kommunikation, sowie HTML, JavaScript, CSS und XML für die Darstellung und Funktion).
    Es verwendet standardisierte Zeichensätze und Kodierungen und unterstützt die Verwendung offener Formate wie PNG, Ogg, SVG, CSV oder MathML. Und natürlich unterstützt BlueSpice einheitliche Standards zur Beschreibung von Metadaten wie RDF.
  • Sichere Verschlüsselungsverfahren auf Basis von Industriestandards: Hier wird z.B. die Kommunikation zwischen Anwendung und Benutzer durch TLS abgesichert und Passwörter durch Hashing sicher in der Datenbank gespeichert. Für die Benutzerauthentifizierung kann auf bewährte Standards wie SAML oder OpenID Connect zurückgegriffen werden.
  • Modularität: Die Software ist modular und objektorientiert aufgebaut. Einzelne Funktionen können bei Bedarf deaktiviert und individuelle Anforderungen einfach umgesetzt werden. Auch kompatible Erweiterungen aus dem MediaWiki-Ökosystem, die nicht direkt Bestandteil von BlueSpice sind, können bei Bedarf nachinstalliert werden (On Premises).
  • Interoperabilität: BlueSpice stellt verschiedene Schnittstellen sowie Import- und Exportfunktionen zur Verfügung, um die Wiki-Software mit anderen Systemen zu verbinden. Über eine gut dokumentierte Web API (u.a. REST) können Aufgaben automatisiert und der Datenaustausch zwischen verschiedenen internen IT-Systemen realisiert werden. Ein einfaches XML-basiertes Datenformat ermöglicht den Im- und Export von Wiki-Seiteninhalten und eignet sich z.B. für die Migration bestehender Dokumentenbestände. Darüber hinaus stehen verschiedene Authentifizierungssysteme (Active Directory/LDAP, SAML, Open ID Connect) zur Auswahl, die eine nahtlose Integration von BlueSpice in die eigene IT-Infrastruktur ermöglichen.

Releasepolitik[Bearbeiten | Quelltext bearbeiten]

Neue Produktversionen werden von Hallo Welt! kontinuierlich in die Cloud-Systeme eingespielt. Für On-Premises-Systeme werden die neuesten Versionen zum Download bereitgestellt.

Dabei folgen wir generell dieser Veröffentlichungspolitik:

  • Patchlevel mit Bugfixes und Sicherheitsupdates erscheinen monatlich.
  • Minorlevel mit Funktionsverbesserungen oder -änderungen erscheinen ein- bis zweimal im Jahr.
  • Majorlevel erscheinen durchschnittlich alle drei Jahre. Die Veröffentlichung eines Majorreleases ist angezeigt,
    • wenn Features eingeführt werden, die das Verhalten der Software sehr stark verändern,
    • wenn neue Technologien oder größere Upgrades von Systemkomponenten ausgeliefert werden oder
    • bei Änderungen der Systemvoraussetzungen (nicht Kompatibilitäten).
  • Security Releases oder Security Patches werden so schnell wie möglich nach Bekanntwerden einer Sicherheitslücke veröffentlicht.

Die Veröffentlichung neuer Versionen von BlueSpice orientiert sich am Versionszyklus von MediaWiki. BlueSpice verwendet die jeweils aktuelle LTS-Version (Long-Term Support) von MediaWiki. Damit ist sichergestellt, dass kontinuierlich Patches und Updates aus der MediaWiki-Community eingespielt werden können. Darüber hinaus ist der Einsatz der LTS-Version ein wesentlicher Beitrag zum stabilen Betrieb der verschiedenen Erweiterungen.

Alle Änderungen werden in den Release Notes im BlueSpice Helpdesk veröffentlicht.

Kontinuierliche Dokumentation[Bearbeiten | Quelltext bearbeiten]

Eine gute Dokumentation ist für die Nutzung und Weiterentwicklung einer Software essentiell. Der zentrale Ort für die Dokumentation der Software und ihrer Anwendung ist das BlueSpice Helpdesk-Wiki, in dem Sie sich gerade befinden. Es ist die zentrale Anlaufstelle für Anwender, Administratoren und Entwickler. Dort stellen wir zentral und immer aktuell folgende Dokumente bereit:

Qualitätsmanagement und Testing[Bearbeiten | Quelltext bearbeiten]

Der Einsatz von Software in Institutionen und Unternehmen setzt weiter voraus, dass die maschinelle Datenverarbeitung möglichst fehlerfrei funktioniert. Daher werden in der BlueSpice-Softwareentwicklung folgende Verfahren angewandt:

  • Versionierung des Quellcodes
    • Alle Änderungen am Quellcode sind über eine entsprechende Quellcodeverwaltungssoftware (GIT SCM) jederzeit nachvollziehbar.
    • Eine Zusätzliche Qualitätssicherung findet durch ständige Code-Review-Verfahren (Gerrit, Gitlab-MR, Github-PR) statt, so dass potentielle Fehler früh erkannt werden können und gar nicht erst zur Veröffentlichung gelangen.
    • Es wird darüber hinaus sichergestellt, dass nur autorisierte Personen den Quellcode verändern können.
  • Automatisierte Softwaretests und Scans (Statische Codeanalyse)
    • Neben den manuellen Code-Reviews von anstehenden Änderungen wird der Code auch automatisiert abgetestet. Nach jeder Änderung des Quellcodes stellen spezielle Softwaretests (Unit-, Integration- und E2E-Tests) sicher, dass die Gesamtheit der Applikation nicht negativ beeinträchtigt worden ist. Verwendete Tools zur Überprüfung und zum Testen von Code und Anwendung:
      • Wir verwenden ein Code-Review-Tool (Gerrit). Dazu gehören Tests pro Commit (Unit, Sicherheit). Darüber hinaus scannen wir die enthaltenen Bibliotheken täglich auf bekannte Schwachstellen. Die Tests und Scanner werden zum Teil von der Wikimedia Foundation bereitgestellt und genügen den Anforderungen der Wikipedia.
      • UnitTest: PHPUnit, QUnit
      • IntegrationTest: PHPUnit
  • Kontinuierliche Integration
    • Die Software wird täglich automatisiert gebaut, auf Testservern installiert und getestet. Ein feherfreier Durchlauf der Tests ist sowohl in der Cloud als auch bei den On Premise Releases Voraussetzung für eine Auslieferung. Die hierzu verwendeten Tools sind:
      • E2ETest: Selenium
      • Performance Test: Apache JMeter
      • Security-Scan: Trivy
  • User Acceptance Tests
    • Neue Features und größere Umbauten werden durch ein internes Test-Team vorgeprüft.
  • Penetration Tests und Vulnerability Assesments
    • In Zusammenarbeit mit strategischen Kunden und Partnern werden Penetrationstests und Schwachstellenanalysen für BlueSpice durchgeführt.
    • Die Testergebnisse werden bewertet und fließen in die Softwareenwicklung ein.
    • Die Testergebnisse Dritter werden nicht veröffentlicht.

Schnelles Schließen von Sicherheitslücken[Bearbeiten | Quelltext bearbeiten]

Hallo Welt! hat eine Reihe von Maßnahmen ergriffen, um Sicherheitslücken so schnell wie möglich zu schließen:

  • Vulnerability Disclosure Policy zum Melden von Sicherheitsproblemen
  • Bekanntmachung von Sicherheitslücken
    • Hallo Welt! teilt allen Kunden, die von der Sicherheitslücke betroffen sein könnten, diese mit. Dies geschieht durch eine Kundeninformation per E-Mail und über den BlueSpice Newsletter.
    • Hallo Welt! ist weiter vom CVE Programm CVE Numbering Authority (CNA) autorisiert. Das bedeutet, dass alle Sicherheitslücken von BlueSpice in einer zentralen, öffentlich zugänglichen Datenbank erfasst werden. Nutzer und automatische Sicherheitsscanner können so anfällig Versionen von BlueSpice identifizieren, den Schweregrad einschätzen und Informationen zur Behebung der Probleme erhalten.
  • Liste der Sicherheitshinweise
    • Sicherheitshinweise werden auf der Seite Security Advisories im BlueSpice Helpdesk veröffentlicht.
  • Security Releases und Security Patches: In BlueSpice Cloud Systemen werden Security Patches automatisch eingespielt, für On-Premises-Systeme stellt Hallo Welt! eine neue Version („Security Release“) oder Security Patches zum Download bereit und implementiert diese in von Hallo Welt! betreuten Systemen.

Benutzerauthentifizierung, Verschlüsselung und kryptografische Verfahren[Bearbeiten | Quelltext bearbeiten]

Der Schutz von Datenbeständen, Nachrichten oder Übertragungskanälen ist angesichts der verschärften Bedrohungslage durch Cyber-Angriffe eine zentrale Aufgabe für Softwarehersteller. BlueSpice unterstützt den Datenschutz und die Informationssicherheit durch entsprechende Funktionen. Dazu gehören Standardfunktionen wie ein Authentifizierungsverfahren, ein anpassbares Rechtemanagement oder die Stand-alone-Fähigkeit der Software (siehe auch Datenschutz und Informationssicherheit).

Darüber hinaus erschweren die folgenden Funktionen den Erfolg eines externen Angriffs erheblich:

  • Single-Sign-on-Protokolle (SSO) - BlueSpice verwendet Standardverfahren zur sicheren Authentifizierung:
    • SAML 2.0 und OAuth 2.0 Bearer Token werden vollständig unterstützt.
    • Open ID Connect (OIDC) kann unterstützt werden.
    • Alternativ ist auch der verteilte Authentifizierungsdienst Kerberos möglich.
  • Password Policy - In BlueSpice ist eine Password Policy eingerichtet, die angepasst werden kann. Die wichtigsten Funktionen und Optionen sind:
    • Passwörter werden verdeckt eingegeben.
    • Die Mindestlänge von Passwörtern ist konfigurierbar (Standard: 10 Zeichen).
    • Die Zusammensetzung der Passwörter (Großbuchstaben, Kleinbuchstaben, numerische Zeichen und Symbole) ist konfigurierbar.
    • Die maximale Anzahl ungültiger Versuche ist konfigurierbar (Standard: 5 Versuche).
    • Die Dauer der Dauer der Sperre ist konfigurierbar (Standard: 5 Minuten).
    • Das Passwortänderungsintervall (Anzahl der Tage, bevor das System den Nutzer zwingt, das Passwort zu ändern) ist konfigurierbar.
    • Das Sperren inaktiver Nutzerkennungen ist möglich (über den UserManager).
    • Das Löschen inaktiver Nutzerkennungen ist über ein Serverskript möglich.
  • Multi-Faktor- / Zwei-Faktor-Authentifizierung (MFA/2FA) - In BlueSpice kann eine Multi-Faktor-Authentifizierung für die Endbenutzer-Identifizierung aktiviert werden.
    • Zwie Methoden werden angeboten:
      • OATHAuth ermöglicht 2FA über Einmalpasswort (TOTP, Time-based One-time Password Algorithm), z.B. über den Google Authenticator.
      • WebAuthn ermöglicht 2FA über FIDO-Sticks, Windows Hello! etc.
    • Die Funktionen für 2FA / MFA sind im Auslieferungszustand deaktiviert und müssen aktiviert werden.
    • Es ist zu beachten, dass nach Aktivierung der Multi-Faktor-Authentifizierung kein Single Sign-On mehr möglich ist.
  • Verschlüsselung bei der Übertragung über das öffentliche Internet sowie bei der Übertragung von Dateien oder Daten über Netzwerke:
    • In BlueSpice Cloud-Systemen ist der Zugriff über HTTPS (mit TLS) Standard. Hier kann der Kunde sein eigenes Zertifikat verwenden.
    • Bei der Installation vor Ort (On Premises) wird die Infrastruktur des Kunden genutzt. Auch hier kann die gesamte Kommunikation für eine sichere Übertragung von Dateien und Daten konfiguriert werden.
  • Verschlüsselung zum Schutz von Daten im Ruhezustand (Datenbank, Dateien, Sicherungsmedien) ist grundsätzlich möglich.
    • Die Verschlüsselung der On-Premise-Systeme muss vom Kunden oder seinem Dienstleister eingerichtet und gewartet werden.
    • In der BlueSpice Cloud findet keine Verschlüsselung statt.
Bitte beachten Sie, dass BlueSpice free einen reduzierten Funktionsumfang hat. So werden die Erweiterungen für das Single Sign-on und die Zwei-Faktor-Authentifizierung nicht mit BlueSpice free ausgeliefert.


Externe Links[Bearbeiten | Quelltext bearbeiten]