Sicherer Betrieb von Serversystemen
Dieses Dokument gibt eine kurze Übersicht, was beim sicheren Betrieb von Serversystemen zu beachten ist.
Prinzipiell empfehlen wir den Betrieb von Serversystemen auf Instituten nicht, da für einen geregelten und sicheren Betrieb ein recht hoher Ressourcenaufwand (Kosten und Personal) notwendig sind. Sie sollten jedenfalls überprüfen, ob der ZID einen vergleichbaren Dienst anbietet, den Sie verwenden können. Damit sparen Sie sich viel Arbeit und Geld.
Wenn Sie sich nicht sicher sind, ob der ZID einen ähnlichen Dienst anbietet, sollten Sie sich beim ZID erkundigen. Es kann auch der Fall sein, dass der ZID noch keine Dienstleistung in dieser Form anbietet, dies jedoch unmittelbar plant. Eine Anfrage Ihrerseits kann auch am ZID zum Anlass genommen werden, die Implementierung eines Dienstes in Erwägung zu ziehen. Sie sollten sich also auf jeden Fall erkundigen. Kann der ZID die gewünschte Funktionalität nicht anbieten, ist mit Ihrer Anfrage zumindest Ihre Anforderung dokumentiert, sollte das Thema wieder einmal aktuell werden. Außerdem kann der ZID Ihnen bei der Auswahl eines geeigneten Dienstleisters helfen.
Wird ein System vom ZID betrieben, so haben Sie dadurch viele Vorteile. Der ZID bietet durchgehend einen professionellen Betrieb von Servern. Dies beginnt mit der Wahl geeigneter Server-Hardware und deren Betrieb in einer geeigneten Umgebung (zum Beispiel Klimatisierung oder Anschluss an eine unterbrechungfreie Stromversorgung) und reicht von einem sicheren Setup über Backups und die Gewährleistung der Verfügbarkeit und der Systemsicherheit bis hin zu einer kontinuierlichen langfristigen Verfügbarkeit. Da der ZID auf den Betrieb von Systemen und Diensten spezialisiert ist, kann er einen professionellen Betrieb gewährleisten, der auf einem Institut selbst bei hohem Personalaufwand kaum erreichbar ist.
Ein Problem, das wir an Instituten immer wieder sehen, ist, dass der Serverbetrieb von einer einzelnen Person abhängig ist. Das schafft eine Reihe von Problemen:
- Eine Person kann kaum einen ständigen Betrieb garantieren. Am ZID existieren dafür Vertretungen und Überprüfung der Systeme durch dediziertes Operating-Personal.
- Ist die Person nicht greifbar, können Probleme mit dem System nicht behoben werden.
- Ist die Person nicht anwesend oder anderweitig beschäftigt, werden notwendige Sicherheitsupdates nicht eingespielt.
- Kommt es zu Sicherheitsproblemen, ist diese Person oft nicht erreichbar.
- Besonders schlimm ist die Situation in Urlaubszeiten. Auch recht einfache Probleme können dann zu einem Totalausfall des Systems führen.
- Eines der Probleme, die selten bedacht werden, ist, dass der Betreuer eines Systems nicht unbedingt langfristig an dem Institut beschäftigt ist. Oft genug haben wir erlebt, dass ein Systembetreuer das Institut verlässt. Die Folge ist, dass das System dann aus verschiedensten Gründen nicht mehr betreut wird (es existiert keine Dokumentation, es ist keine Person vorhanden, die das System kompetent betreuen könnte, etc.). Eine Zeit lang funktioniert das System noch - aber irgendeinmal passiert etwas: aufgrund von fehlenden Sicherheitsupdates wird das System kompromitiert oder es tritt ein Software- oder Hardware-Fehler auf. Das kann zu einem Totalversagen des Systems führen.
Selbst wenn dies (mit dem nötigen Glück) nicht eintritt: Irgendwann kommt der Zeitpunkt, an dem es notwendig wäre, eine neue Version der Software einzuspielen. Spätestens nun steht das Institut vor Problemen. Wollen Sie derartige Szenarien vermeiden, können Sie entweder Dienste des ZID in Anspruch nehmen, oder aber Sie vermeiden diese durch entsprechende Planung. Dies ist aber auch mit einem erhöhten Aufwand verbunden.
Sollten Sie immer noch nicht davon abzuhalten sein, einen eigenen Server zu betreiben, kann Ihnen die folgende kurze Kontrollliste weiterhelfen.
- Was wollen Sie?
Die Frage ist nicht so einfach, wie sie sich anhört. Viele verfallen in den Fehler, beispielsweise zu sagen: "Wir wollen einen Exchange (oder Lotus Notes) Server". Die richtigere Formulierung ist:
"Wir wollen ein Groupware-Produkt, das folgenden Anforderungen genügt: ...". Dies ist oft der wichtigste Teil eines Projektes. Es sollte zuerst eine Anforderungsliste erstellt werden. Anhand dieser werden dann verschiedene Produkte überprüft. Bei der Auswahl spielen dann sehr wohl die Erfahrungen (und Präferenzen) des Betreuers oder das bevorzugte Betriebssystem eine Rolle. Man sollte sich aber nie von Beginn an auf ein Produkt versteifen. Es kann sein, dass ein anderes Produkt für Ihre Umgebung besser geeignet ist oder bei weniger Komplexität die gewünschte Funktionalität zu einem deutlich besseren Preis bietet. Eine geeignete Dokumentation der Anforderungen hilft auch bei der späteren Implementierung des Systems. Damit kann überprüft werden, ob auch alle Anforderungen erfüllt wurden.
- Mit welchem Personal können Sie das erreichen?
Sie sollten abschätzen, welcher Aufwand mit dem Betrieb des Systems verbunden ist (Tipp: verdoppeln Sie zumindest die übliche optimistische Schätzung ...).
Zuvor wurde bereits beschrieben, wieso Sie ein System nie von einer einzigen Person abhängig gemacht werden soll. Sie brauchen also auch eine Vertretung. Diese hat zwar nicht die tägliche Arbeit zu erledigen, muss aber so eingeschult sein, dass sie diese sehr wohl durchführen kann. Außerdem sollte sie so eingeschult sein, dass sie das System in Abwesenheit des primären Betreuers (mit einer gewissen Einarbeitungsphase, die ebenfalls zu kalkulieren ist) übernehmen und notfalls auch neu implementieren kann.
Stellen Sie dann fest, ob Sie überhaupt das notwendige Personal haben, um den Betrieb des Systems gewährleisten können.
- Welche Verfügbarkeit ist notwendig?
Ein wesentlicher Punkt bei der Planung ist, welche Verfügbarkeit für das System angestrebt wird. Eine 99%-ige Verfügbarkeit ist recht einfach zu erreichen. Dies bedeutet, dass das System 3.65 Tage im Jahr nicht verfügbar ist. Für jede "9" hinter dem Komma gilt, dass der Aufwand exponentiell steigt. Eine 99.9%-ige Verfügbarkeit (mit nur wenigen Stunden Aufall pro Jahr) ist schon recht schwer zu erreichen. Entsprechend steigt der Aufwand für die Betreuung und für die benötigte technische Infrastruktur.
- Welche Hardware soll dafür eingesetzt werden?
Oft neigen Institute dazu, normale Desktop-PC-Hardware einzusetzen. Diese ist jedoch nicht für einen durchgehenden Betrieb geeignet. Bei Serversystemen sollte Serverhardware eingesetzt werden. Dies beinhaltet beispielsweise SCSI statt IDE Festplatten (die performanter sind und eine höhere Lebensdauer aufweisen), redundante Netzteile und geeignete Support-Verträge (sodass beispielsweise defekte Komponenten über 3 Jahre hinweg am nächsten Arbeitstag vor Ort ausgetauscht werden).
- Wo kann der Server untergebracht werden?
Wenn Sie Serverhardware betreiben, wollen Sie diese sicher nicht in Ihrem Büro betreiben (sie ist schlichtweg zu laut ...). Der Raum sollte auch nicht allgemein zugänglich sein. Außerdem sollte er so klimatisiert werden, dass es auch im Sommer zu keiner Überhitzung kommt. Die Server sollten auch durch eine unterbrechungsfreie Stromversorgung (USV) vor Stromschwankungen und kurzen Stromausfällen gesichert sein.
- Wurde das System auch ausreichend verstanden?
Viele Softwareprodukte funktionieren mittlerweile so, dass die Inbetriebnahme und Wartung recht einfach ist. Diese verleiten dazu, das System sehr schnell in einen Produktionsbetrieb überzuführen. Tritt dann aber ein Problem auf, steht der Betreuer vor einem Problem, weil er die grundlegende Funktionsweise nicht verstanden hat. In vielen Fällen hätte es genügt, rechtzeitig die (gesamte) Dokumentation des Produktes zu lesen. In anderen Fällen (bei der in vielen Fällen leider immer schlechter werdenden Qualität der Dokumentation) ist dies über "trial and error" herauszufinden (die oft durch geeignete Suchen im Internet ersetzt werden können). Je nach Art der Software können unterschiedliche Punkte relevant sein. Einige Beispiele dazu:- Wo werden die Daten abgelegt, in welchem Format?
- Wie können nur die Daten der Software wiederhergestellt werden?
- Welche Schritte sind notwendig, um die Daten der Software auf einem neu installierten System einzubringen (zum Beispiel bei einem Hardwaredefekt und nachfolgender Systemwiederherstellung)?
- Welche Dateien oder Registry-Einträge werden für die Konfiguration der Software verwenden?
- Welche IP Ports werden für die Kommunikation zwische Klient und Server benötigt? Auf welchem Port läuft der Server?
- Welche Punkte sind bei der Verwendung von Firewalls zu beachten (am Server, am Klienten oder in Form einer netzwerkbasierten Firewall).
- Über welchen weg erhält man (Sicherheits)updates für die Software, ist eine automatische Benachrichtigung möglich, wenn solche vorliegen (über die Software selbst, über Mail Verteilerlisten etc.)
- Wie kann das System abgesichert werden?
Wenn Sie ein System implementieren, sollten Sie sich auch über dessen Sicherheit Gedanken machen. Sicherheitsupdates sind regelmäßig einzuspielen. Die Log-Dateien müssen täglich auf ungewöhnliche Vorfälle kontrolliert werden. Zu vielen Systemen existieren Anleitungen, wie diese abgesichert werden können.
- Wer übernimmt die tägliche Wartung des Systems?
Die Arbeit an einem System endet nicht mit der Implementation des Systems (auch wenn dies gerne behauptet wird).
Wichtige Routineaufgaben wurden bereits erwähnt: Sicherheitsupdates und die Überprüfung der Log-Dateien. Mit Hilfe der Log-Dateien oder spezieller Software, die mit dem Server geliefert wird, kann auch die Funktionsfähigkeit der Hardware kontrolliert werden.
Je nach System werden auch andere Arbeiten anfallen, beispielsweise die Einbringung und das Löschen von Benutzern und Zugriffsberechtigungen, die Bearbeitung von Benutzeranfragen oder die Behebung auftretender Probleme. Für diese Aufgaben muss entsprechende Arbeitszeit veranschlagt werden. Wie beschrieben sollten diese Arbeiten von zumindest zwei Personen durchgeführt werden können.
- Wer dokumentiert das System?
Jedes System sollte geeignet dokumentiert werden. Dies ist nicht nur dann sinnvoll, wenn jemand anderer die Arbeiten am System nachvollziehen muss. Man unterschätzt, wie schnell auch eigene Aktionen nicht mehr nachvollziehbar werden. Spätestens, wenn Sie ein neues System aufsetzen, werden Sie feststellen, wieviele kleine Aktionen notwendig sind, um das System wie gewünscht zu konfigurieren.
- Wie werden Backups des Systems erstellt?
Irgendwann passiert es fast jedem Systembetreuer, dass ein System aufgrund eines Defektes nicht mehr funktioniert. Darauf sollten Sie vorbereitet sein. Sichern Sie das System so, dass Sie es möglichst einfach wiederherstellen können. Bevor Sie das System in Betrieb nehmen, sollten Sie ein solches "Desaster Recovery" tatsächlich einmal durchspielen. Wenn ein Defekt auftritt, haben Sie genügend andere Probleme. Sie sollten nicht erst dann die Systemwiederherstellung erlernen müssen.
- Soll das System dem ZID gemeldet werden?
Die kurze Antwort: Ja. Sie sollten jedes Serversystem, seine Funktionalität und die Ansprechpartner dem ZID melden. Nur so kann sichergestellt werden, dass Ihr System nicht durch zentrale Maßnahmen (etwa im Bereich der Netzwerksicherheit) beeinträchtigt wird. Außerdem stellen Sie durch Benennung der Betreuer sicher, dass der ZID bei Problemen möglichst schnell jemanden erreicht, mit dem das Problem besprochen werden kann.