Eine Anleitung zum Härten Ihres Webservers
Veröffentlicht: 2022-03-15Aufgrund ihrer Funktion unterscheiden sich Webserver von vielen anderen Geräten in einer typischen Netzwerkumgebung – sie sind nicht nur von Natur aus dem Internet ausgesetzt, sondern dienen wahrscheinlich auch dazu, den Webdatenverkehr für völlig Fremde bereitzustellen. Darüber hinaus dienen Webserver in vielen Situationen wahrscheinlich dynamischen Anwendungen wie WordPress-Websites oder fungieren als Proxys für andere interne Anwendungen. Kein Wunder also, dass Webserver interessante Ziele für Angreifer darstellen.
Das Härten eines Systems bezieht sich auf den Prozess der Verbesserung der Abwehr eines Systems, sodass es für einen böswilligen Hacker schwieriger wird, dieses System zu kompromittieren und in einem Netzwerk Fuß zu fassen.
Der Prozess der Härtung eines Webservers hängt natürlich von der Art des Webservers ab, den Sie verwenden (z. B. Apache HTTP Server, Nginx, Microsoft IIS …), es gibt jedoch eine Reihe von Grundprinzipien und Best Practices zur Verbesserung Ihres Servers Webserver-Sicherheit, die Sie beachten sollten, unabhängig davon, welchen Webserver Sie verwenden.
Dieser Artikel ist eine Anleitung zur Härtung von Webservern. Darin sehen wir uns eine Reihe von technologieunabhängigen Best Practices an, mit denen Sie die Sicherheit Ihres Webservers verbessern können. Informationen zur WordPress-Härtung finden Sie in unserem WordPress-Sicherheits- und Härtungsleitfaden.
1. Halten Sie Ihren Webserver auf dem neuesten Stand
Software auf dem neuesten Stand zu halten, klingt vielleicht nicht nach einer großen Sache, aber das rechtzeitige Einspielen von Sicherheitspatches ist wohl eine der wichtigsten Abwehrmaßnahmen, die Sie implementieren können. Abgesehen von Leistungs- und Stabilitätsverbesserungen enthalten Aktualisierungen von Webservern und Betriebssystemen häufig Korrekturen für Sicherheitslücken.
An der Oberfläche mag es trivial klingen, aber jeder Informationssicherheitsexperte wird Ihnen sagen, dass Patchen komplizierter ist, als es sich anhört – nicht, weil das Installieren der neuesten Version der meisten Software besonders schwierig ist, sondern weil Patchen immer als etwas angesehen wird, das es kann verschoben werden.
Der beste Ansatz, um sicherzustellen, dass Ihre Webserver-Software ständig aktualisiert wird, besteht darin, ein System oder eine Routine zu finden, die für Sie oder denjenigen, der mit der Aktualisierung Ihrer Webserver- und Betriebssystemsoftware beauftragt ist, funktioniert. Meistens läuft es auf eine regelmäßige Erinnerung hinaus (z. B. das Einrichten eines sich wiederholenden Kalenderereignisses), für die Sie sich Zeit nehmen werden.
2. Entfernen Sie unnötige Software und Module
Auch wenn es nicht immer so aussieht, sind Webserver komplexe Software. Einige Webserver, wie z. B. Apache HTTP Server, werden mit einer Reihe von „Modulen“ (ähnlich wie Plugins in WordPress) ausgeliefert, die Sie je nach Anwendungsfall aktivieren oder deaktivieren können. Es ist bekannt, dass böswillige Angreifer die Funktionen und Schwachstellen eines Webservermoduls nutzen, um mehr Informationen über Ihren Webserver zu sammeln. Auch wenn dies möglicherweise nicht der einzige Grund für einen erfolgreichen Angriff ist, besteht der ganze Sinn der Webserver-Härtung darin, einen tiefgehenden Verteidigungsansatz zu verfolgen und es böswilligen Akteuren schwer zu machen, auch nur die kleinsten Fuß zu fassen.
Ein praktisches Beispiel dafür sind Module wie mod_status von Apache HTTP Server. Dieses Modul soll einen Überblick über die Aktivität und Leistung des Servers (aktuelle Hosts, Anzahl der verarbeiteten Anfragen, Anzahl der untätigen Worker und CPU-Auslastung) über die URL /server-status erhalten. Eine solche Funktion kann einem Angreifer einen ziemlich guten Hinweis darauf geben, wie gut Ihr Webserver arbeitet – ein ziemlich nützliches Werkzeug im Falle eines Denial-of-Service-Angriffs (DoS).
Ebenso könnte andere ungenutzte Software, die auf Ihrem Webserver läuft, ein unnötiges Risiko darstellen. Zum Beispiel:
- Betreiben Sie einen FTP-Server wie vsftpd , den Sie nicht benötigen?
- Gibt es einen Mail Transfer Agent wie Sendmail oder Postfix, den Sie nicht mehr benötigen? Wenn Sie einen Drittanbieterdienst verwenden, um die E-Mail-Zustellbarkeit von WordPress zu verbessern, benötigen Sie einen solchen Dienst nicht.
Diese Anwendungen/Dienste und viele andere auf dem Server sind alle Komponenten, die ihre eigenen Sicherheitsmacken, Schwachstellen und Patch-Anforderungen haben.
Zusammenfassend: Führen Sie nach Möglichkeit weniger Software aus. Wenn Sie ein Modul oder einen Dienst nicht verwenden, sollten Sie versuchen, es zu deaktivieren oder zu entfernen. Deaktivieren Sie Module oder Anwendungen natürlich nicht einfach ohne gründliche Tests in einer Entwicklungs- oder Staging-Umgebung (manchmal ist möglicherweise nicht ganz klar, dass ein Webservermodul oder eine Anwendung verwendet wird).
3. Verschärfen Sie die Zugangskontrolle
Die Kontrolle des Zugriffs auf Ihren Webserver ist für die richtige Vorgehensweise unerlässlich. Schließlich möchten Sie das Risiko minimieren, dass der Zugriff auf Ihren Webserver in die falschen Hände gerät. Im Folgenden finden Sie eine Reihe von Best Practices, die Sie in Bezug auf die Aufrechterhaltung einer ordnungsgemäßen Zugriffskontrolle befolgen sollten.
- Verwenden Sie nicht den Root-Benutzer. Wenn Sie administrative Aufgaben erledigen müssen, verwenden Sie stattdessen sudo;
- Verwenden Sie starke System- (und WordPress-) Passwörter;
- Verwenden Sie SSH-Schlüssel anstelle von Passwörtern, wenn Sie SSH verwenden;
- Erwägen Sie, den SSH/RDP-Zugriff von bestimmten IP-Adressen einzuschränken;
- Aktivieren Sie die Zwei-Faktor-Authentifizierung (2FA) für alle Konten von Cloud-Anbietern;
- Stellen Sie sicher, dass jede Person, die auf den Webserver zugreift, einen eigenen Benutzer hat – teilen Sie Benutzerkonten nicht mit anderen Benutzern;
- Beschränken Sie den Shell-/SSH-/Remotedesktop-Zugriff ausdrücklich auf die Personen, die ihn benötigen.
4. Einrichten der Überwachung der Dateiintegrität (FIM)
File Integrity Monitoring (FIM) hilft Systemadministratoren zu erkennen, wenn sich Dateien auf einem Webserver ändern. Während sich einige Dateien im Rahmen des normalen Webserverbetriebs ziemlich häufig ändern, sollten sich Dateien wie eine WordPress-Installation niemals ändern, es sei denn, ein Administrator nimmt Änderungen vor (z. B. Aktualisierung der Datei wp-config.php) oder aktualisiert WordPress selbst.
Obwohl es eine Vielzahl von Optionen gibt, die Sie für die Überwachung der Dateiintegrität auswählen können, wird empfohlen, sich an etwas zu halten, das für die von Ihnen ausgeführte Anwendung spezifisch ist, einfach einzurichten und zu bedienen ist und keine erfordert viel Tuning. Andernfalls werden Sie in bedeutungslosen Benachrichtigungen ertrinken, und bevor Sie es wissen, setzt eine Alarmmüdigkeit ein, die Ihre Bemühungen zunichte macht. Kurz gesagt, mehr Warnungen und Funktionen sind nicht gleich besser, wenn es um FIM geht. Suchen Sie stattdessen nach einer Lösung, die den größten Nutzen mit dem geringsten Overhead bietet.
5. Verwenden Sie einen DDoS-Minderungs- und WAF-Dienst
Anstatt Ihren Webserver direkt dem Internet auszusetzen, sollten Sie einen Dienst wie Cloudflare, Fastly, Akamai oder ähnliches in Betracht ziehen, um sich vor einer Vielzahl von Angriffen zu schützen, einschließlich Distributed Denial of Service (DDoS)-Angriffen. Ein Denial-of-Service-Angriff (DoS) ist ein Angriffstyp, bei dem ein Angreifer darauf abzielt, eine Website mit Anfragen zu überfluten und dadurch zu verhindern, dass Ihr Webserver Anfragen an legitime Benutzer weiterleitet.
Neben der Abwehr von Denial of Service bieten solche Cloud-Dienste in der Regel auch Web Application Firewall (WAF)-Funktionen, mit denen viele gewöhnliche Angriffe auf Webanwendungen wie einfache SQL-Injection (SQLi) und einfaches Cross-Site gestoppt werden können Skripterstellung (XSS). WAFs sind zwar keine Lösung für Schwachstellen in Webanwendungen, bieten aber einen gewissen Schutz vor Ausnutzung – insbesondere mit WAF-Regeln, die für WordPress-Websites optimiert sind.
Was sind die nächsten Schritte?
Während dieser Artikel einige gängige Webserver-Härtungstechniken behandelt, ist nichts in der Sicherheit eine Wunderwaffe. Daher ist keine Methode zur Verteidigung eines Systems narrensicher, insbesondere angesichts eines entschlossenen Gegners. Aus diesem Grund müssen Sie jede Komponente sichern, aus der Ihre WordPress-Website besteht. Sie können Ihren Webserver nicht sichern und die WordPress-Sicherheit oder Ihren eigenen Computer ignorieren.
Ständiges Patchen und die Einhaltung guter Sicherheitspraktiken und Hygienemaßnahmen können jedoch den Aufwand, den ein Angreifer betreiben muss, um einen Angriff erfolgreich durchzuführen, drastisch erhöhen – was in den meisten Fällen bedeutet, den Angreifer zu frustrieren und ihn auf ein weicheres Ziel zu zwingen.