Open Source Software (OSS)

Der Quellcode dieser ist für jeden frei einseh- und veränderbar, so können sich beliebig viele Personen und Firmen an der Entwicklung beteiligen. Trotz der angesprochenen Quelltext-Offenheit gibt es definierte Kriterien, welche von der Open Source Initiative (OSI) gefordert werden.

Durch die Offenlegung des Programmcodes ist eine sicherheitskritische Codeanalyse unkompliziert möglich, das erhöht die Sicherheit des Programms ungemein. Bspw. sind sog. Backdoors (Hersteller gewollte Sicherheitslücken, z.B. für Wartungszwecke) einfach zu finden und herauszunehmen.

Für Firmen sind Open Source Lösungen vor allem durch die nicht existenten Lizenzkosten, sowie eigens angefertigte Code-Analysen interessant! Wer weiß schließlich welche Backdoors bspw. Microsoft für NSA und Co. offen hält 😉

Wir selbst setzen zum Großteil Open Source Lösungen im eigenen Haus (und natürlich auch bei unseren Kunden) ein. Im Folgenden stellen wir Ihnen unsere stetig gern eingesetzten Lösungen vor:

Wir selbst setzen für unsere eigenen Rechenzentren die Open Source Enterprise Virtualisierungslösung Proxmox ein. Proxmox Virtual Environment (PVE) basiert auf dem Betriebssystem Debian (PVE Version 5 basiert auf Debian Stretch) und ermöglicht den parallelen Einsatz von KVM (Kernel-Based Virtual Machine) und LXC (Linux Containers). KVM virtualisiert die Hardware der virtuellen Maschinen und kann so verschiedenste Plattformen (Windows, Linux, BSD, etc.) unabhängig vom eigentlichen Host-OS bereitstellen. LXC dagegen virtualisiert auf OS-Ebene in Form von Containern, dies ermöglicht einen sehr ressourcenschonenden Einsatz von bspw. kleineren Applikationen. Da die Basis der Virtualisierungsplattform das als sehr stabil bezeichnetes Debian darstellt, gilt PVE als extrem zuverlässig – das können wir auch genau so bestätigen! Ein Beispiel hierfür ist die Clusterfähigkeit mehrerer Proxmox Nodes. Um die Hochverfügbarkeit kümmert sich der bereits vorinstallierte High Availability Manager (HA Manager), dieser überwacht alle Nodes im Proxmox Cluster und führt VM Live-Migrationen bei Node-Versagen selbstständig aus.

Für eine strukturierte und geordnete Abarbeitung von Kundenanfragen, setzen wir auf die Lösung osTicket, eine freie Webapplikation welche der Verwaltung von Kundenanfragen via E-Mail, Web-Form und Telefonanrufen dient. osTicket ist sehr schlicht und einfach gehalten, dadurch kann es sehr ressourcenschonend auf einem Webserver betrieben werden. Jeder Techniker erhält einen eigenen Zugang und kann sich offene Tickets direkt zuweisen, so kommt es intern zu keinen Überschneidungen.

Als Webserver setzen wir auf Debian Linux und Ubuntu. Ubuntu basiert auf dem “Testing-Branch” von Debian und testet somit neueste Änderungen und Features des Mutter-Systems, Fehler werden von den Entwicklern und der Community direkt gemeldet und behoben. Das kommt dem zukünftigen “Stable-Branch” von Debian selbst sehr zu Gute, Funktionen wurden stets vorher im Live-Betrieb getestet und viele Bugs behoben. Der Großteil unserer Webserver basiert auf dem sog. LAMP-Stack, damit sind alle Komponenten eines Webserver direkt abgedeckt: Betriebssystem (Linux), Webserver (Apache), Datenbank (MySQL/MariaDB) und der eigentlichen Programmiersprache (PHP). Nimmt man die Anfangsbuchstaben der aufgezählten Komponenten Lösungen, kommt man auf die Abkürzung LAMP (Linux, Apache, MySQL/MariaDB, PHP). Die Freiheit der Open Source Gemeinde und des Linux Betriebssystems ermöglicht es uns einzelne Komponenten auch auszutauschen, so existieren bei uns nicht nur LAMP-, sondern auf LEMP-Stacks. Statt einem Apache kommt hier ein nginx (ausgesprochen engine-ex) zum Einsatz, was zur Bezeichnung LEMP-Stack führt.

Um eine Datasharing mit externen Kunden und/oder Mitarbeiter zu betreiben, müssen es nicht immer Dienste wie Dropbox oder Microsoft OneDrive sein. Um Daten lokal im Haus zu halten und diese nicht externen Dienstleistern anzuvertrauen, setzen wir auf die freie In-House (on premise) Lösung Nextcloud. Hierbei handelt es sich um einen sich im Organisationseigenen Netzwerk befindenden Ubuntu Server, welcher mit dem oben angesprochenen LEMP-Stack ausgestattet ist. Auf diese Grundinstallation kommt dann die eigens gehostete Dropbox Open Source Alternative Nextcloud. Mit Hilfe der Nextcloud kann ein eigenes, auch nach Außen verfügbares, Filehosting System aufgebaut werden, welches mit einem Webbrowser oder dem Nextcloud eigenen Sync-Client verbunden werden kann, diese Sync-Clients sind unter anderem auch für Android und iOS verfügbar. Besonders eignet sich ein solches System für das ablegen sensibler Unternehmensdaten, CAD-Zeichnungen und Softwareentwicklungen.

Weiterhin ist es möglich alle in der Nextcloud abgelegte Daten automatisiert und zentral zu verschlüsseln. Im Allgemeinen ist es sehr einfach möglich Dateien mit Dritten zu teilen, besonders ist hier die Möglichkeit für ein Ablaufdatum der Freigabe hervorzuheben. Daten können also einfach und schnell geteilt werden, und nach einem Tag / einer Woche / einem Monat wird die Freigabe automatisiert entfernt (sehr charmant bei Kurzzeitprojekten mit einem Neukunden). Eine eigene Nextcloud bietet weiterhin die Möglichkeit zur Verwendung als Groupware Lösung – also die Bereitstellung von Web-Mail, Kalender- und Kontaktfunktion. Auch hier liegt die Attraktivität in der des In-House Hostings, E-Mails werden so in der eigenen Organisation gespeichert und nicht bspw. bei Microsoft.

Bleiben wir beim Thema Datenspeicherung. Wenn es um eine zentrale Unternehmenseigene Datenhaltung in Form von Netzwerkshares (SMB/CIFS [Windows File Shares], NFS [Linux File Shares], AFP [Apple File Shares], FTP, iSCSI, etc.), empfehlen wir die Nutzung von FreeNAS. FreeNAS ist eine Open Source NAS (Network Attached Storage) Distribution, welche auf FreeBSD basiert. Der zentrale Dreh- und Angelpunkt des Systems ist das verlässliche Enterprise Open Source Filesystem ZFS. ZFS baut seine Datensicherheit in Form von Software-RAIDs auf, es werden also keine teuren Hardware-RAID-Controller mehr benötigt, alles passiert auf Softwareebene. Große Enterprise Storage Hersteller wie bspw. QNAP setzen auf die Sicherheit, Flexibilität und Verlässlichkeit von ZFS. Die Copy-On-Write Funktionalität des Filesystems bietet die Möglichkeit zur effizienten Snapshot Erstellung, ohne dass das Filesystem offline genommen werden muss. ZFS-Snapshots können im Falle einer versehentlichen Datenlöschung gemountet und zurückgespielt werden. Die Möglichkeit zur automatischen Datenfehlerkorrektur wird durch das versehen jedes Blockes im Dateisystem mit einer Prüfsumme gewährleistet. ZFS stellt also automatisiert sicher, dass der Zustand des Filesystems zu jedem Zeitpunkt konsistent ist. FreeNAS bietet weiterhin die Möglichkeit alle Daten auf ein zweites FreeNAS Gerät zu replizieren oder mit Hilfe von rsync zu kopieren. Die komplette Verwaltung des Systems wird nach der Installation über das Webinterface getätigt, es steht in der Einfachheit Lösungen von Synology oder QNAP in nichts nach. Durch in einem offiziellen Repository vorhandene Plug-Ins kann die Funktionalität des Speichersystem erweitert werden, so besteht bspw. die Möglichkeit der Installation von OwnCloud (aus dieser entwickelte sich später dann die oben angesprochene Nextcloud).

Um internes Wissen, Skripte, CLI-Befehle, Dokumentation von Kundenprojekten u.ä. zentral an einer Stelle zu bündeln, nutzen wir die freie Wiki-Software DokuWiki. DokuWiki wird von uns auf einem Debian LAMP-Stack gehostet und agiert als Firmeneigenes Wikipedia. Wissensseiten können frei gestaltet und angepasst werden. Erweitert wird die eigentliche Funktion mit einer Versionsverwaltung, Zugriffskontrolle (LDAP Anbindung), einem responsive Theme und einer Volltextsuche. Für den Einsatz von DokuWiki wird keine Datenbank benötigt, alle Seiteneinträge werden als Textdateien im Webverzeichnis abgelegt. Das ermöglicht einen sehr einfachen Im- und Export von Seiteneinträgen, sowie einfach anzulegende Backups. Weiterhin können eigene Namensräume für bspw. mehrere Abteilungen erstellt und der Zugriff auf diese eingeschränkt werden. Da es sich bei DokuWiku um eine Webseite handelt, kann von jeder Platform aus auf die Infos zugegriffen werden – Windows, Mac, Linux, iOS, Android usw.

Um tägliche Monitoring Aufgaben zu automatisieren und so unseren Technikern lästige Überprüfungsaufgaben abzunehmen, setzen wir das Open Source Netzwerk Monitoringsystem Zabbix ein. Zabbix sammelt und wertet seine Daten zentral an seiner Server Instanz aus, gespeichert werden diese Daten in einer Datenbank. Zu überwachende Geräte werden passiv über SNMP, IPMI oder WMI abgefragt. Sollen Daten aktiv erhoben werden, installiert man auf den zu überwachenden Geräten den Zabbix eigenen Agent. Überschreiten die gesammelten Daten einen selbst definierten Wert, so werden Warnungen an zentraler Stelle erstellt. Hierfür setzen wir auf die Open Source Analytics Software Grafana (hierzu später mehr). Weiterhin sind aber auch simple E-Mail Benachrichtigungen möglich. Wird bspw. der Schwellenwert (z.B. 85%) einer Festplattenbelegung überschritten, generiert Zabbix automatisiert eine Warnung. Unsere Techniker werden direkt benachrichtigt und können sich um das Problem kümmern. Der eigentliche Zabbix Server besteht aus mehreren Sub-Prozessen die für uns wichtigsten sind:


– poller (holt die Daten von den installierten Zabbix Agents)

– http poller (wichtig für Webseitenmonitoring)

– ipmi poller (wichtig für IPMI Monitoring)

– trapper (nimmt eingehende SNMP-Traps an)

– icmp pinger (prüft die Erreichbarkeit einzelner Hosts mit Hilfe von ping)

– alerter (sendet Warnungsbenachrichtigungen)

– history syncer (trägt gesammelte Daten in die Datenbank ein)

– escalator (Eskaliert einzelne Trigger)

– housekeeper (kümmert sich darum, dass alte nicht mehr benötigte Daten aufgeräumt werden)

Standortübergreifendes Monitoring für über einen Zabbix Proxy realisiert, dieser entlastet den eigentlichen Zabbix Server und synchronisiert regelmäßig seine gesammelten Daten mit dem Main Server. Gehostet wird unser Zabbix Server auf einer Debian Linux Infrastruktur auch hier setzen wir wieder voll auf einen LAMP-Stack. Um ein effektives und aussagekräftiges Monitoring System aufzubauen, sollte besonders auf die ausfallsicherheit des Host Systems geachtet werden! Da sich unsere Techniker voll auf die Lösung verlassen, darf es nicht passieren, dass genau dieses System ausfällt – andere Systemfehler würden sonst nicht mehr protokolliert werden und der Kunde würde uns Ausfälle melden müssen. Das wäre nicht im Sinne unserer proaktiven Handlungsstrategie.

Um unsere Techniker nicht mit stetig auflaufenden E-Mails zu terrorisieren, bündeln wir automatisch von Zabbix generierte Warnungen an einer zentralen Analytics Stelle. Bei dieser zentralen Stelle handelt es sich um die Open Source Analytics Software Grafana. Durch Grafana ist es möglich ein übersichtliches, angepasstes und auch endlich schön anzusehendes Monitoring Dashboard zu erstellen. Mit Hilfe eines Zabbix Plugins stellt man eine Verbindung zur Zabbix Server Datenbank her, und kann so die dort eingegangen Daten frei auswerten (die Zabbix Server Datenbank dient als reine Datenquelle für Grafana). Wir stellen unsere eigens angepassten Dashboards mit Hilfe von Playlists (aufeinanderfolgende automatisierte Weiterschaltung von Dashboards) auf drei großen 49” Monitoren in den jeweilig zuständigen Abteilungen dar. Durch die zuHilfenahme einer drei Farb Kombination, werden Stati direkt zwischen Information (Grün), Warnung (Orange) und Kritisch (Rot) unterschieden. Wird nun ein in Zabbix definierter Schwellenwert überschritten springt die zugehörige Infobox im Grafana direkt von grün auf orange oder rot. Weiterhin wird ein Ticket in unserem osTicket generiert und ein Techniker kann sich direkt um das aufgetretene Problem kümmern.Die Namensnennung von Firmen oder Markennamen dient lediglich der redaktionellen Verwendung, zur Abgrenzung und zur Kenntlichmachung der Kompatibilität im Rahmen des jeweiligen Geschäftsumfanges. Die Zeichen, Begriffe und Namen sind gegebenenfalls geschützte Marken- und Warenzeichen der jeweiligen Rechteinhaber. Die angebotene Ware ist zu vielen Produkten namhafter Marken kompatibel, es handelt sich aber keinesfalls um Produkte der betreffenden Firmen und Marken!

Lucas Wirth-Bittner

Lucas Wirth-Bittner

Lucas Wirth-Bittner hat Wirtschaftsinformatik studiert und ist als Consultant bei K&K Software AG für das sichere Systemdesign und die Automatisierung der Wartungsprozesse verantwortlich.