Erweiterte Websicherheit: Über die Grundlagen hinaus
Erweiterte Websicherheit: Über die Grundlagen hinausgehen
Sobald Sie die Grundlagen der Websicherheit abgedeckt haben — Verwendung von HTTPS, Hashing von Passwörtern, Eingabevalidierung — gibt es fortgeschrittenere Tools, die Ihre Website vor ausgeklügelten Angriffen schützen können. Moderne Browser bieten leistungsstarke Sicherheitsfunktionen, die bei richtiger Konfiguration ganze Angriffskategorien verhindern können.
Content Security Policy: Ihre stärkste Verteidigung
Die Content Security Policy (CSP) ist die effektivste Verteidigung gegen Cross-Site-Scripting (XSS)-Angriffe. Sie funktioniert, indem sie dem Browser genau mitteilt, welche Quellen von Inhalten auf Ihrer Seite geladen werden dürfen. Sie können festlegen, welche Domains Skripte, Styles, Bilder, Schriftarten und andere Ressourcen bereitstellen dürfen.
Mit CSP verweigert der Browser das Laden eines Script-Tags, selbst wenn ein Angreifer es in Ihre Seite einschleusen kann, wenn es nicht von einer erlaubten Quelle stammt. Sie können auch Inline-Skripte vollständig verhindern, die Verwendung von eval() blockieren und einschränken, wohin Formulare gesendet werden können. CSP wird über den Content-Security-Policy HTTP-Header konfiguriert, und es erfordert einige Mühe, es richtig einzurichten, aber es lohnt sich.
Cross-Origin Resource Sharing (CORS)
CORS steuert, welche anderen Websites auf Ihre API zugreifen können. Standardmäßig blockieren Browser JavaScript von einer Domain, um Anfragen an eine andere Domain zu stellen. CORS-Header ermöglichen es Ihnen, selektiv bestimmte Ursprünge zuzulassen, die auf Ihre Ressourcen zugreifen dürfen. Dies ist für jede API unerlässlich, die von einer anderen Domain aufgerufen werden muss.
Konfigurieren Sie CORS sorgfältig — erlauben Sie nur die spezifischen Ursprünge, die Zugriff benötigen. Verwenden Sie niemals einen Platzhalter (*) mit Anmeldeinformationen. Verwenden Sie den Access-Control-Allow-Origin-Header, um genau anzugeben, welche Domains erlaubt sind, und validieren Sie den Origin-Header auf der Serverseite.
Cross-Origin Isolation
Cross-Origin Opener Policy (COOP) und Cross-Origin Embedder Policy (COEP) sind zwei Header, die zusammenarbeiten, um Ihre Website von anderen Ursprüngen zu isolieren. Wenn sie aktiviert sind, verhindern sie Cross-Origin-Angriffe wie Spectre und ermöglichen leistungsstarke Funktionen wie SharedArrayBuffer und hochauflösende Timer.
Der Nachteil ist, dass COEP erfordert, dass alle von Ihrer Seite geladenen Ressourcen entweder gleichartig oder explizit als Cross-Origin-zugänglich gekennzeichnet sind. Dies kann Skripte und Widgets von Drittanbietern beeinträchtigen. Es ist eine leistungsstarke Funktion, erfordert jedoch eine sorgfältige Implementierung.
Subresource Integrity
Wenn Sie ein Skript oder Stylesheet von einem CDN laden, woher wissen Sie, dass es nicht manipuliert wurde? Subresource Integrity (SRI) ermöglicht es Ihnen, einen kryptografischen Hash der Datei in das HTML-Tag aufzunehmen. Der Browser lädt die Datei herunter, berechnet ihren Hash und führt sie nur aus, wenn der Hash übereinstimmt. Dies schützt vor CDN-Kompromittierungen und Angriffen auf die Lieferkette.
Sicherheit der Lieferkette
Moderne Webanwendungen sind auf Hunderte von Abhängigkeiten angewiesen. Jede davon ist ein potenzieller Angriffsvektor. Sperren Sie Ihre Abhängigkeitsversionen mit package-lock.json oder yarn.lock. Überprüfen Sie Ihre Abhängigkeiten regelmäßig mit npm audit oder Tools wie Snyk und Dependabot. Signieren Sie Ihre Commits mit GPG oder SSH. Und minimieren Sie die Anzahl der von Ihnen verwendeten Abhängigkeiten — jede Bibliothek, die Sie hinzufügen, ist Code, dem Sie vertrauen.
Alles zusammensetzen
Beginnen Sie mit den Grundlagen: HTTPS überall, ordnungsgemäße Authentifizierung, Eingabevalidierung. Fügen Sie dann CSP hinzu, um XSS zu verhindern, CORS, um den API-Zugriff zu steuern, und HSTS, um HTTPS zu erzwingen. Verwenden Sie SRI für CDN-Ressourcen. Setzen Sie Permissions-Policy, um Funktionen zu deaktivieren, die Sie nicht benötigen. Und halten Sie Ihre Abhängigkeiten auf dem neuesten Stand. Sicherheit ist ein Prozess, kein Ziel — sie erfordert kontinuierliche Aufmerksamkeit und Wartung.
Lassen Sie uns zusammenarbeiten
Benötigen Sie weitere Informationen, Hilfe bei Ihrem Projekt oder zur Entwicklung einer Idee?
Ob einfache Frage, kurzer Zweifel oder ein 5-Minuten-Chat, schreib mir einfach—es kostet nichts und ich helfe immer gerne. Ich liebe es, Probleme zu verstehen, kreative Lösungen zu finden und mich auf einfache, zuverlässige und unkomplizierte Ideen zu konzentrieren, die sich schnell umsetzen lassen.
Kontaktiere mich →