Geekflare wird von unserem Publikum unterstützt. Wir können Affiliate-Provisionen durch den Kauf von Links auf dieser Website verdienen.
Teilen:

8 Wichtige Tipps zum Sichern des Webanwendungsservers

Sicherheitstipps für Webserver
Invicti Web Application Security Scanner – die einzige Lösung, die eine automatische Verifizierung von Schwachstellen mit Proof-Based Scanning™ bietet.

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 ausführen böswillige Handlungen sie wollen.

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.

The firewall demystified

Sie könnten versucht sein, diesen Punkt 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 Vielleicht kümmern Sie sich um die Grenzen Ihres Netzwerks, halten die Bösen draußen und die Guten drinnen, aber es lässt 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 diese Ports durchläuft.

Was Sie zum Schutz Ihrer Anwendung benötigen, ist a Webanwendungs-Firewall (WAF), das speziell den Webverkehr 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.

Scan for web-specific vulnerabilities

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

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 InvictiStellen 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.

Educate your developers

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.

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.

Turn off unnecessary functionality

Angenommen, die Webanwendungen sind so fehlerfrei wie möglich und die Webfarm ist gesichert. Lassen Sie uns sehen, 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.

Erstellen Sie eine Liste aller offenen Ports und laufenden Dienste oder Daemons auf Ihrem Server und schließen, deaktivieren oder schalten Sie die unnötigen ab. Der Server sollte zu keinem anderen Zweck als zum Ausführen Ihrer Webanwendungen verwendet werden, ziehen Sie daher in Betracht, alle zusätzlichen Funktionen auf andere Server in Ihrem Netzwerk zu verlagern.

Use separate environments for development, testing, and production

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.

Keep your server software updated

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

Täglich treten neue Bedrohungen auf. Die einzige Möglichkeit, eine Gefährdung Ihres Servers zu verhindern, 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 z DDoS-Angriffe. Stellen Sie daher sicher, dass solche Anwendungen immer aktualisiert werden und dass sie Ihre Geschäftsanwendung effektiv schützen.

Restrict access and privileges

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 seitdem keine gute Praxis Angreifer können Schwachstellen nutzen in den Diensten, um den Server zu durchdringen. 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.

Keep an eye on server logs

Protokolldateien gibt es aus einem bestimmten Grund.

Administratoren sollten sie regelmäßig überwachen, um verdächtiges Verhalten zu erkennen, bevor es Schaden anrichtet. Durch Analysieren von Protokolldateienkö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 gibt es 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.

Danke an unsere Sponsoren
Weitere großartige Lektüre zum Thema Sicherheit
Treiben Sie Ihr Geschäft an
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti verwendet das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu verifizieren und innerhalb weniger Stunden umsetzbare Ergebnisse zu generieren.
    Versuchen Sie es mit Invicti
  • Web-Scraping, Wohn-Proxy, Proxy-Manager, Web-Unlocker, Suchmaschinen-Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie es mit Brightdata
  • Semrush ist eine All-in-One-Lösung für digitales Marketing mit mehr als 50 Tools in den Bereichen SEO, Social Media und Content-Marketing.
    Versuchen Sie es mit Semrush
  • Intruder ist ein Online-Schwachstellenscanner, der Cyber-Sicherheitslücken in Ihrer Infrastruktur findet, um kostspielige Datenschutzverletzungen zu vermeiden.
    MIT DER INTELLIGENTEN SCHADENKALKULATION VON Intruder