8 Wichtige Tipps zum Sichern des Webanwendungsservers

In den meisten Fällen müssen Webanwendungsserver öffentlich zugänglich sein, was bedeutet, dass sie allen Arten von Bedrohungen ausgesetzt sind.


Viele dieser Bedrohungen sind vorhersehbar und leicht zu vermeiden, während andere unbekannt sind und Sie überraschen können. Um die Möglichkeit dieses letzteren Falls zu minimieren, bieten wir eine Liste wichtiger Tipps, um Webanwendungsserver so sicher wie möglich zu halten.

Bevor Sie mit der Tippliste beginnen, müssen Sie verstehen, dass ein Webanwendungsserver keine Insel ist. Der Server ist die zentrale Komponente in der Webanwendungsfarm, die das Hosting und den Betrieb einer Webanwendung ermöglicht. Um zu sichern, müssen Sie daher alle Komponenten berücksichtigen, die es umgeben, und die gesamte Webanwendungsumgebung sichern.

Eine grundlegende Umgebung zum Hosten und Ausführen von Webanwendungen umfasst das Betriebssystem (Linux, Windows), die Webserver-Software (Apache, Nginx) und einen Datenbankserver. Wenn in eine dieser Komponenten eingebrochen wird, können Angreifer Zugriff erhalten und alle gewünschten böswilligen Aktionen ausführen.

Ein erster und grundlegender Tipp zum Sichern einer Umgebung wie der oben beschriebenen ist das Lesen der Sicherheitsrichtlinien und der Best Practices-Liste für jede der Komponenten. Lassen Sie uns dennoch eine Reihe allgemeiner Sicherheitsrichtlinien überprüfen, die für fast jede Webanwendungsumgebung gelten.

Die Firewall entmystifiziert

Sie könnten versucht sein, dieses Element schnell zu überprüfen und denken: “Zum Glück habe ich bereits eine Firewall, die mein Netzwerk schützt.” Aber du hältst besser deine Pferde.

Ihre Firewall kümmert sich möglicherweise um die Grenzen Ihres Netzwerks, hält die Bösen und die Guten fern, lässt aber sicher eine Tür offen, damit Angreifer Ihren Webanwendungsserver einbrechen können.

Wie?

Einfach: Ihre Netzwerk-Firewall muss mindestens eingehenden Datenverkehr auf den Ports 80 und 443 (dh HTTP und HTTPS) zulassen und weiß nicht, wer oder was über diese Ports geleitet wird.

Zum Schutz Ihrer Anwendung benötigen Sie eine Webanwendungs-Firewall (WAF), die den Webverkehr speziell analysiert und jeden Versuch blockiert, Schwachstellen wie Cross-Site-Scripting oder Code-Injection auszunutzen. Eine WAF funktioniert wie ein typisches Antiviren- und Antimalwaremittel: Sie sucht nach bekannten Mustern im Datenstrom und blockiert sie, wenn sie eine böswillige Anforderung erkennt.

Um effektiv zu sein, muss die Datenbank der WAF ständig mit neuen Bedrohungsmustern aktualisiert werden, um sie blockieren zu können. Das Problem bei der musterbasierten Angriffsprävention besteht darin, dass Ihre Webanwendung eines der ersten Ziele einer neuen Bedrohung sein kann, die Ihrer WAF noch nicht bekannt ist.

Aus diesen Gründen benötigt Ihre Webanwendung neben der Netzwerk-Firewall zusätzliche Schutzschichten.

Suchen Sie nach webspezifischen Schwachstellen

Denken Sie auch hier nicht, dass Ihr Webanwendungsserver frei von Sicherheitslücken ist, nur weil Ihr Netzwerksicherheitsscanner dies sagt.

Netzwerkscanner können keine anwendungsspezifischen Schwachstellen erkennen. Um diese Sicherheitsanfälligkeiten zu erkennen und zu beseitigen, müssen Sie die Anwendungen einer Reihe von Tests und Audits unterziehen, z. B. Penetrationstests, Black-Box-Scannen und Quellcode-Audits. Keine dieser Methoden ist jedoch kugelsicher. Im Idealfall sollten Sie so viele wie möglich ausführen, um alle Schwachstellen zu beseitigen.

Zum Beispiel Sicherheitsscanner wie Netsparker, Stellen Sie sicher, dass kein ausnutzbarer Code in die Produktionsumgebung gelangt. Es kann jedoch logische Schwachstellen geben, die nur durch manuelle Codeüberwachung erkannt werden können. Die manuelle Prüfung kostet nicht nur viel, sondern ist auch eine menschliche und daher fehleranfällige Methode. Eine gute Idee, diese Art der Prüfung durchzuführen, ohne viel Geld zu verschwenden, besteht darin, sie in den Entwicklungsprozess einzubetten, hauptsächlich durch Schulung Ihrer Entwickler.

Bilden Sie Ihre Entwickler aus

Entwickler neigen dazu zu glauben, dass ihre Anwendungen in idealen Welten ausgeführt werden, in denen die Ressourcen unbegrenzt sind, Benutzer keine Fehler machen und es keine Menschen mit rücksichtslosen Absichten gibt. Leider müssen sie sich irgendwann mit realen Problemen auseinandersetzen, insbesondere mit Fragen der Informationssicherheit.

Bei der Entwicklung von Webanwendungen müssen Codierer Sicherheitsmechanismen kennen und implementieren, um sicherzustellen, dass sie frei von Sicherheitslücken sind. Diese Sicherheitsmechanismen sollten Teil des Best-Practice-Leitfadens sein, den das Entwicklungsteam einhalten muss.

Die Prüfung der Softwarequalität wird verwendet, um die Einhaltung der Best Practices sicherzustellen. Best Practices und Audits sind die einzigen Möglichkeiten, um logische Schwachstellen zu erkennen, z. B. die Übergabe unverschlüsselter und sichtbarer Parameter innerhalb einer URL, die ein Angreifer leicht ändern kann, um das zu tun, was er oder sie möchte.

Deaktivieren Sie unnötige Funktionen

Angenommen, die Webanwendungen sind so fehlerfrei wie möglich und die Webfarm ist gesichert. Sehen wir uns an, was auf dem Server selbst getan werden kann, um ihn vor Angriffen zu schützen.

Ein grundlegender Tipp für den gesunden Menschenverstand besteht darin, die Anzahl potenziell gefährdeter Einstiegspunkte zu verringern. Wenn Angreifer eine der Komponenten des Webservers ausnutzen können, ist möglicherweise der gesamte Webserver in Gefahr.

Machen Sie eine Liste aller offene Ports und Ausführen von Diensten oder Dämonen auf Ihrem Server und Schließen, Deaktivieren oder Ausschalten der unnötigen Dienste. Der Server sollte nur für die Ausführung Ihrer Webanwendungen verwendet werden. Verschieben Sie daher alle zusätzlichen Funktionen auf andere Server in Ihrem Netzwerk.

Verwenden Sie separate Umgebungen für Entwicklung, Test und Produktion

Entwickler und Tester benötigen Berechtigungen für die Umgebungen, in denen sie arbeiten, die sie auf dem Live-Anwendungsserver nicht haben sollten. Selbst wenn Sie ihnen blind vertrauen, können ihre Passwörter leicht auslaufen und in unerwünschte Hände geraten.

Neben Kennwörtern und Berechtigungen gibt es in Entwicklungs- und Testumgebungen normalerweise Hintertüren, Protokolldateien, Quellcode oder andere Debugging-Informationen, die vertrauliche Daten wie Datenbankbenutzernamen und Kennwörter offenlegen können. Der Bereitstellungsprozess für Webanwendungen sollte von einem Administrator durchgeführt werden, der sicherstellen muss, dass nach der Installation der Anwendung auf dem Live-Server keine vertraulichen Informationen verfügbar gemacht werden.

Das gleiche Segregationskonzept muss auf die Daten der Anwendung angewendet werden. Tester und Entwickler bevorzugen immer die Arbeit mit realen Daten, aber es ist keine gute Idee, ihnen Zugriff auf die Produktionsdatenbank oder sogar auf eine Kopie davon zu gewähren. Neben offensichtlichen Datenschutzbedenken kann die Datenbank Konfigurationsparameter enthalten, die interne Servereinstellungen wie Endpunktadressen oder Pfadnamen anzeigen, um nur einige zu nennen.

Halten Sie Ihre Serversoftware auf dem neuesten Stand

So offensichtlich es auch scheinen mag, dies ist eine der am meisten übersehenen Aufgaben. SUCURI stellte fest, dass 59% der CMS-Anwendungen veraltet waren, was ein Risiko darstellt.

Täglich treten neue Bedrohungen auf. Die einzige Möglichkeit, zu verhindern, dass sie Ihren Server gefährden, besteht darin, immer die neuesten Sicherheitspatches zu installieren.

Wir haben bereits erwähnt, dass Netzwerkfirewalls und Netzwerksicherheitsscanner nicht ausreichen, um Angriffe auf Webanwendungen zu verhindern. Sie sind jedoch erforderlich, um Ihren Server vor allgemeinen Cybersicherheitsbedrohungen wie DDoS-Angriffen zu schützen. Stellen Sie daher sicher, dass solche Anwendungen immer aktualisiert werden und dass sie Ihre Geschäftsanwendung effektiv schützen.

Beschränken Sie den Zugriff und die Berechtigungen

Eine grundlegende Sicherheitsmaßnahme besteht darin, den Fernzugriffsverkehr – wie RDP und SSH – verschlüsselt und getunnelt zu halten. Es ist auch eine gute Idee, eine reduzierte Liste von IP-Adressen zu führen, von denen aus der Remotezugriff zulässig ist, und sicherzustellen, dass jeder Versuch, sich von einer anderen IP-Adresse aus remote zu protokollieren, blockiert wird.

Administratoren gewähren Dienstkonten gelegentlich alle möglichen Berechtigungen, weil sie wissen, dass auf diese Weise „alles funktioniert“. Dies ist jedoch keine gute Vorgehensweise, da Angreifer Schwachstellen in den Diensten verwenden können, um in den Server einzudringen. Wenn diese Dienste mit Administratorrechten ausgeführt werden, können sie den gesamten Server belegen.

Ein ausgewogenes Verhältnis zwischen Sicherheit und Praktikabilität erfordert, dass jedes Konto – sowohl Anmeldekonten als auch Dienstkonten – über die Berechtigungen verfügt, die es zur Ausführung seiner Aufgabe benötigt, und sonst nichts.

Sie können beispielsweise verschiedene Konten für einen Administrator definieren, um verschiedene Aufgaben auszuführen: eines zum Erstellen von Sicherungen, das andere zum Bereinigen von Protokolldateien, andere zum Ändern der Konfiguration von Diensten usw. Gleiches gilt für Datenbankkonten: Eine Anwendung benötigt normalerweise nur die Berechtigungen zum Lesen und Schreiben von Daten und nicht zum Erstellen oder Löschen von Tabellen. Daher sollte es mit einem Konto mit eingeschränkten Berechtigungen ausgeführt werden, um die Aufgaben auszuführen, die es ausführen muss.

Behalten Sie die Serverprotokolle im Auge

Protokolldateien gibt es aus einem bestimmten Grund.

Administratoren sollten sie regelmäßig überwachen, um verdächtiges Verhalten zu erkennen, bevor es Schaden anrichtet. Durch die Analyse von Protokolldateien können Sie viele Informationen aufdecken, um die Anwendung besser zu schützen. Sollte ein Angriff stattfinden, können Protokolldateien Ihnen zeigen, wann und wie er gestartet wurde, und so zu einer besseren Schadenskontrolle beitragen.

Sie müssen außerdem über ein automatisiertes Verfahren verfügen, um alte Protokolldateien zu löschen oder veraltete Informationen zu bereinigen, damit sie nicht den gesamten verfügbaren Speicherplatz auf dem Server belegen.

Bonus-Tipp: Halten Sie sich auf dem Laufenden

Im Internet finden Sie viele kostenlose und nützliche Informationen, die Sie zum Nutzen Ihrer Webanwendung verwenden können. Verpassen Sie keinen neuen Beitrag in seriösen Sicherheitsblogs (wie diesem) und bleiben Sie über die Entwicklungen in der Sicherheits- und Webbranche auf dem Laufenden.

Tutorials, Kurse, Videos und Bücher sind ebenfalls Quellen nützlichen Wissens. Üben Sie, ein oder zwei Stunden pro Woche zu verbringen, um über Neuigkeiten aus der Branche auf dem Laufenden zu bleiben. So können Sie sicher sein, dass Sie das Richtige tun, um Ihre Anwendungen zu schützen.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map