Server Security Checkliste für mehr Serversicherheit

Fünfpunkteplan zur Serversicherheit
Kommentare

Stabile Sicherheitsvorkehrungen für Webseite und API sind Kernbestandteile eines umfassenden Schutzsystems gegen Hackerangriffe. Sie entfalten ihre Wirkung aber nur dann, wenn sie auf eine Infrastruktur bauen können, die im Sicherheitsbereich mindestens das gleiche Niveau aufweist. Schlechte Server Security nämlich kann mitunter alle anderen Sicherheitsvorkehrungen konterkarieren.

Auf den im ganzen Oktober stattfindenden Security Month von Server Density hatten wir auf entwickler.de bereits vor einiger Zeit kurz hingewiesen. Im Zuge dieser Kampagne für mehr Onlinesicherheit hat David Mytton, Mitbegründer von Server Density, eine fünf Punkte umfassende Checkliste erstellt, die abarbeiten sollte, wem etwas an Server Security liegt – und das sollte eigentlich jeder sein.

5 Tipps für mehr Serversicherheit

Für mehr Server Security zu sorgen, muss nicht zwingend schwierig sein. Wie wir sehen werden, kommt es dabei vor allen Dingen darauf an, im Bewusstsein der eigenen Verteidigerposition zu agieren.

1. Updates, Updates, Updates

Onlinesecurity ist in gewisser Hinsicht ein Wettrennen. Sobald eine Schwachstelle entdeckt wird, muss der Patch so schnell wie möglich rausgehen, bevor ein automatisierter Exploit massiven Schaden anrichten kann. Eine Lösung könnte es sein, durch automatische Updates stets auf dem neuesten Stand zu bleiben. Dabei besteht aber die Gefahr, dass diese zur Unzeit passieren und bspw. Neustartroutinen triggern oder Kompatibilitätsproblem verursachen. Ein sinnvoller Kompromiss ist es daher, den automatischen Download der aktuellsten Updates zuzulassen, die Installation aber zu festgelegten Terminen – z.B. an einem bestimmten Tag in der Woche – manuell durchzuführen.

Go for PHP Developers

mit Terrence Ryan (google)

Everything you need to know about PHP 7.2

mit Sebastian Bergmann (thePHP.cc)

2. Zugriffsrechte verwalten

Eine vernünftige Verwaltung von Zugriffsrechten ist entscheidend für die Sicherheit des Servers, denn sie hilft, den menschlichen Faktor so weit wie möglich aus dem Spiel zu nehmen. Die Gefahr, durch unbeabsichtigte Handlungen Schaden anrichten zu können, wird so minimiert. Eine Überlegung wäre, den Root-Account unter Benutzung von SSH zu entfernen oder Maßnahmen zu ergreifen, um nur bestimmten Nutzern den Zugang zu Cronjobs zu gewähren. Fragen sollte man sich außerdem, ob privilegierte Aktionen über sudo ausgeführt werden können oder ob PostgreSQL wirklich /bin/bash benötigt.

3. SSH-Brute Force-Attacken standhalten

Von Bots ausgeführte Brute Force-Angriffe auf Accounts durch SSH sind immer noch verbreitet. Dagegen kann man Folgendes unternehmen: den Remote Login für den Root-Account deaktivieren, da dieser Account am ehesten angegriffen wird; da Bots bevorzugt Passwörter zu knacken versuchen, kann man diese durch Public/Private-Schlüsselpaare ersetzen; darüber hinaus können oberflächlich agierende Bots durch Änderung des SSH-Ports (weg vom Standardport 22) pariert werden; schließlich kann man auch ganz drastisch den gesamten Traffic blocken und Positivlisten einführen.

4. Freigaben im Dateisystem begrenzen

Ein weiterer einfacher Security-Trick besteht darin, Dateiberechtigungen möglichst niedrigschwellig zu halten. Auf diese Weise kann z.B. verhindert werden, dass jemand, der sich unbefugt Zugang zum System verschafft hat, schadhafte Codes in einem Skript versteckt oder Dateien an der Root der Webseite anbringt, etwa um sich dauerhaft ein Hintertürchen offenzuhalten. Am Besten wendet man hier das Principle of Least Privilege an. Es besagt, dass jeder Account nur Zugang zu Bereichen und Informationen auf dem Server bekommt, die für ihn relevant sind. Dadurch können kompromittierte Accounts zumindest keinen größeren Schaden anrichten.

5. Server-Monitoring

Dass Schnelligkeit eine Tugend in Sachen Serversicherheit ist, wurde schon erwähnt. Vor der Schnelligkeit steht noch die Wachsamkeit. Man sollte immer ein Auge auf die Serveraktivitäten haben, um Anomalien feststellen zu können, die möglicherweise auf einen Sicherheitsverstoß hindeuten. So kann eine Häufung von Einträgen in einem error_log ein Anzeichen dafür sein, dass ein Angreifer das System auf Schwachstellen untersucht, während ein Zuwachs beim Traffic vielleicht auf eine DDoS-Attacke zurückführbar ist. Steigende CPU-Belastung dagegen zeigt unter Umständen einen gerade vonstattengehenden Datendiebstahl an und erhöhte Disk-Nutzung einen Missbrauch als IRC- oder Torrent-Server. Diese Auffälligkeiten sind leicht zu entdecken, jedenfalls wenn man darauf achtet. Immerhin ist dann aber die Möglichkeit gegeben, die Angriffe mit schnell eingeleiteten Gegenmaßnahmen zu kontern.

Stellen Sie Ihre Fragen zu diesen oder anderen Themen unseren entwickler.de-Lesern oder beantworten Sie Fragen der anderen Leser.

Fazit

Eine vollständige Sicherheit wird auch im Bereich Server Security wohl niemals dauerhaft herstellbar sein. Das liegt nicht zuletzt daran, dass man in der Perspektive des Verteidigers immer zur Passivität verurteilt ist und höchstens auf Prävention setzen kann, was sich auch in den hier aufgeführten Punkten spiegelt. Es gilt, ständig auf der Hut und auf Höhe der Zeit zu sein, eben weil man sich den Grenzen seiner Position als Abwehrinstanz bewusst ist. Da man unmöglich wissen kann, wer gerade was für eine (neue?) Sorte Angriff von wo aus plant, muss man für alle Eventualitäten gerüstet sein. Wer die Tipps von David Mytton befolgt, sollte aber einen großen Schritt in die richtige Richtung getan haben.

Aufmacherbild: Ice Hockey Goalie von Shutterstock / Urheberrecht: Robert Nyholm

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -