Leitfaden zur Website-Sicherheit: Wo anfangen?
Website-Sicherheit ist keine einzelne Einstellung und kein einzelnes Plugin, sondern ein Zusammenspiel von Code, Server, Konten, Backups und Monitoring. Der Großteil der Angriffe richtet sich nicht gegen eine bestimmte Website: Automatisierte Werkzeuge durchsuchen das Internet und probieren jede Website aus, auf der sie veraltete Software, ein schwaches Passwort oder eine offen zugängliche Datei finden. Der Gedanke „Unsere Website ist klein, wer macht sich da schon die Mühe“ bietet deshalb keinen Schutz.
Diese Anleitung ist ein Fahrplan für Website-Betreiber und Entwickler: Welche Bedrohungen gibt es, aus welchen Schichten besteht die Verteidigung, in welcher Reihenfolge geht man vor? Die Einzelheiten zu jedem Thema stehen in einer eigenen Anleitung; die Links finden Sie weiter unten. Alle Anleitungen konzentrieren sich ausschließlich auf die Verteidigung.
Kurz gefasst
- Die meisten Angriffe laufen über automatisierte Scans; auch kleine Websites sind ein Ziel.
- Die Verteidigung besteht aus fünf Schichten: Code, Server, Zugriff, Backup und Monitoring.
- Zuerst Updates und Passwörter, dann Backup, HTTPS und Header, Aufräumen auf dem Server, Code-Review.
- Sicherheit wird durch kurze, regelmäßige Kontrollen aufrechterhalten.
Achtung
Diese Anleitungen vermitteln allgemeine Informationen und dienen dem Schutz Ihrer eigenen Website. Die Codebeispiele sind für PHP und Apache gedacht; übernehmen Sie sie nicht in den Live-Betrieb, ohne sie an Ihre Umgebung anzupassen und zu testen.
Auf dieser Seite
Der Rahmen in vier Schritten
-
Lernen Sie die Bedrohungen kennen
Die Bedrohungen für Websites lassen sich in einige Hauptgruppen einteilen: Benutzereingaben, die wie Code oder wie eine Abfrage verarbeitet werden (SQL-Injection, XSS), der Missbrauch der Sitzung eines Benutzers (CSRF, Sitzungsdiebstahl), das Einschleusen schädlicher Dateien auf den Server (Webshell), das Erraten von Passwörtern, bekannte Schwachstellen in veralteter Software, falsch konfigurierte Server sowie massenhafter Datenverkehr, der den Dienst unerreichbar macht (DDoS). Die OWASP Top 10 stellen diese Risiken regelmäßig zusammen; Injection und Fehler in der Zugriffskontrolle gehören zu den Dauerthemen der Liste.
: Vergrößern -
Bauen Sie eine mehrschichtige Verteidigung auf
Keine Maßnahme reicht für sich allein aus; wird eine Schicht überwunden, muss die nächste den Schaden begrenzen. Denken Sie in fünf Schichten: Code (Eingabevalidierung, Ausgabe-Escaping, Prepared Statements), Server (aktuelle Software, richtige Dateirechte, Sicherheitsheader), Zugriff (starke Passwörter, Zwei-Faktor-Authentifizierung, geringste Rechte), Backup (Kopien, deren Wiederherstellung erprobt ist) und Monitoring (Protokolle, Dateiänderungen, Benachrichtigungen).
: Vergrößern -
Gehen Sie nach Priorität vor
Sie können nicht alles gleichzeitig erledigen. Beginnen Sie mit den Aufgaben, die mit dem geringsten Aufwand das größte Risiko beseitigen: zuerst Updates und Passwörter, dann das Backup, danach HTTPS und Sicherheitsheader, das Entfernen überflüssiger Dateien vom Server und zuletzt die Durchsicht des Codes sowie ein geregeltes Monitoring. Das Code-Review macht die meiste Arbeit, bringt bei individuell entwickelter Software aber das nachhaltigste Ergebnis.
: Vergrößern -
Prüfen Sie regelmäßig
Sicherheit ist keine Aufgabe, die man einmal erledigt und dann abhakt. Neue Plugins werden installiert, Mitarbeitende wechseln, Software veraltet. Halten Sie die Ordnung mit kurzen wöchentlichen, monatlichen und jährlichen Kontrollen aufrecht; eine fertige Liste finden Sie in der Anleitung Checkliste zur Website-Sicherheit.
: Vergrößern
Bedrohungsarten und die passenden Anleitungen
- SQL-Injection: Eine Benutzereingabe wird Teil der Datenbankabfrage; das kann zu Datenabfluss und zur Veränderung von Daten führen. SQL-Injection: Was ist das und wie verhindern Sie sie?
- XSS: In die Seite gelangt ein unerwünschtes Skript, das im Browser der Besucher ausgeführt wird. XSS: Was ist das und wie verhindern Sie es?
- CSRF: Der Browser eines angemeldeten Benutzers wird ohne dessen Wissen dazu gebracht, eine Aktion auszuführen. CSRF: Was ist das und wie verhindern Sie es?
- Schädliche Datei-Uploads und Webshells: Auf dem Server wird eine ausführbare Datei platziert. Datei-Upload-Sicherheit und Webshells
- Passwort-Raten und Sitzungsprobleme: Login- und Sitzungssicherheit
- Fehlende Schutzfunktionen des Browsers: Sicherheitsheader und HTTPS
- Massenhafter Datenverkehr und Bots: DDoS- und Bot-Angriffe
- Veraltete Software und Plugins: Software-Updates und Plugin-Sicherheit; wenn Sie WordPress einsetzen, zusätzlich WordPress-Sicherheit
- Falsch konfigurierter Server: Server- und Hosting-Sicherheit
- Datenverlust und spätes Bemerken: Website-Backup und Monitoring
- Wenn der Angriff bereits passiert ist: Website gehackt: Was tun?
Die Schichten im Einzelnen
Code
Die Grundregel lautet: Vertrauen Sie keinen Daten, die vom Benutzer, aus der Adresszeile, aus einem Cookie, aus einer Datei oder aus einem anderen System stammen. Validieren Sie die Daten bei der Annahme (entsprechen sie dem erwarteten Typ und Format?), verwenden Sie beim Senden an die Datenbank Prepared Statements und escapen Sie die Daten bei der Ausgabe passend zu dem Kontext, in dem sie stehen. Prüfen Sie die Berechtigung bei jeder Anfrage auf dem Server; einen Link im Menü auszublenden ist keine Berechtigungsprüfung.
Server
Betriebssystem, Webserver, PHP und Datenbank müssen in aktuellen und unterstützten Versionen laufen. Die Verzeichnisauflistung und die Fehlerausgabe auf dem Bildschirm gehören abgeschaltet, Backup- und Konfigurationsdateien dürfen nicht im Web-Root liegen, und die Dateirechte dürfen nicht weiter gefasst sein als nötig. Der folgende kleine .htaccess-Block bringt einige schnelle Erfolge; die Einzelheiten finden Sie in den Anleitungen zu Server und Headern.
# Verzeichnisauflistung abschalten
Options -Indexes
# Zugriff von außen auf Dateien, die mit einem Punkt beginnen (.env, .git, .htpasswd),
# und auf Backup-/Dump-Endungen sperren
<FilesMatch "(^\.|\.(sql|bak|old|orig|log|ini|sh|swp)$)">
Require all denied
</FilesMatch>
# Grundlegende Sicherheitsheader
<IfModule mod_headers.c>
Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
</IfModule>Zugriff
Die Konten für Hosting-Panel, FTP/SFTP, Datenbank und Administrationsbereich müssen jeweils ein eigenes, langes und einzigartiges Passwort haben. Aktivieren Sie die Zwei-Faktor-Authentifizierung überall, wo es möglich ist. Geben Sie jeder Person ein eigenes Konto, verwenden Sie keine gemeinsamen Konten und sperren Sie den Zugang ausgeschiedener Mitarbeitender noch am selben Tag. Zur Kontosicherheit siehe die Anleitungen Starke Passwörter und Passwortmanager und Zwei-Faktor-Authentifizierung.
Backup
Von Dateien und Datenbank muss es ein regelmäßiges, automatisches Backup geben, das außerhalb des Servers aufbewahrt wird. Ein Backup, das nie zurückgespielt wurde, ist ein Backup, von dem niemand weiß, ob es funktioniert; testen Sie die Wiederherstellung in festen Abständen.
Monitoring
Je früher Sie einen Angriff bemerken, desto kleiner bleibt der Schaden. Werfen Sie gelegentlich einen Blick in die Zugriffs- und Fehlerprotokolle, beobachten Sie unerwartete Dateiänderungen, richten Sie ein Monitoring ein, das die Erreichbarkeit der Website von außen prüft, und verfolgen Sie den Bericht zu Sicherheitsproblemen in der Google Search Console.
Die ersten zehn Aufgaben für eine kleine Website
- Aktualisieren Sie das Content-Management-System, die Plugins, die Themes und die PHP-Version; entfernen Sie, was nicht genutzt wird.
- Ersetzen Sie die Passwörter für Hosting-Panel, FTP, Datenbank und Administratorkonten durch lange, einzigartige Passwörter.
- Aktivieren Sie die Zwei-Faktor-Authentifizierung für die Administratorkonten.
- Richten Sie ein automatisches Backup für Dateien und Datenbank außerhalb des Servers ein; testen Sie die Wiederherstellung einmal.
- Leiten Sie die gesamte Website auf HTTPS um; vergewissern Sie sich, dass das Zertifikat automatisch erneuert wird.
- Verwenden Sie SFTP oder FTPS statt unverschlüsseltem FTP.
- Entfernen Sie Backups, Archive,
.sql-,.env-,phpinfo- und ähnliche Dateien aus dem Web-Root; schalten Sie die Verzeichnisauflistung ab. - Unterbinden Sie die Ausführung von Skripten in Upload-Verzeichnissen.
- Setzen Sie die grundlegenden Sicherheitsheader.
- Aktivieren Sie ein Uptime-Monitoring und die Benachrichtigungen der Search Console.
Fragen, die Sie stellen sollten, wenn jemand anderes die Software entwickelt
Wurde Ihre Website von einer Agentur oder von einem freiberuflichen Entwickler programmiert, sollten Sie die Antworten auf folgende Fragen kennen:
- Sind sämtliche Datenbankabfragen mit Prepared Statements geschrieben?
- Mit welchem Verfahren werden Passwörter gespeichert? (Erwartete Antwort:
password_hashoder ein gleichwertiges Verfahren; MD5 und SHA-1 sind nicht akzeptabel.) - Haben die Formulare einen CSRF-Schutz?
- Falls es einen Datei-Upload gibt: Welche Dateitypen sind erlaubt, und wo werden die Dateien gespeichert?
- Welche Bibliotheken werden in welchen Versionen eingesetzt, und wer behält deren Updates im Blick?
- Wo liegt das Backup, wie oft wird es erstellt, und wann wurde zuletzt eine Wiederherstellung getestet?
- Wer hat Zugang zum Server und zum Administrationsbereich? Besitzen Sie eine aktuelle Kopie des Quellcodes?
- Wen erreichen Sie bei einem Sicherheitsproblem auf welchem Weg, und wie schnell erhalten Sie eine Rückmeldung?
Häufige Fehler
- „Wir haben SSL, die Website ist sicher“: SSL verschlüsselt lediglich die Verbindung; Schwachstellen in Code und Server schließt es nicht. Siehe Was ist SSL?
- Sicherheit durch Verstecken: Die Adresse des Administrationsbereichs zu ändern oder eine Datei unter einem schwer zu erratenden Namen abzulegen, kann eine zusätzliche Maßnahme sein, ist aber nicht der eigentliche Schutz.
- Sich auf ein einzelnes Plugin verlassen: Sicherheits-Plugins und Firewalls sind nützlich, gleichen veraltete Software und schwache Passwörter aber nicht aus.
- Das Backup auf demselben Server aufbewahren: Wird der Server übernommen, ist auch das Backup verloren.
- Test- und Altversionen offen lassen: Vergessene Kopien in Verzeichnissen wie
/alt,/testoder/backupwerden nicht aktualisiert und sind dann das schwächste Glied. - Nach der Bereinigung das Einfallstor nicht schließen: Nach einem Angriff genügt es nicht, nur die schädlichen Dateien zu löschen; wird die Schwachstelle nicht geschlossen, wird die Website erneut übernommen.
Die große Checkliste
Code
- Alle Abfragen mit Prepared Statements; Sortierung und Spaltennamen aus einer Positivliste.
- Alle Ausgaben werden kontextgerecht escapt.
- CSRF-Token und POST bei jeder Anfrage, die einen Zustand ändert.
- Sitzungs- und Berechtigungsprüfung auf dem Server bei jeder Anfrage.
- Passwörter mit
password_hash; Anmeldeversuche sind begrenzt. - Beim Datei-Upload werden Typ, Größe und Name geprüft; Verzeichnis ohne Skriptausführung.
Server und Konfiguration
- Unterstützte PHP-Version; CMS, Plugins und Bibliotheken aktuell.
- HTTPS erzwungen; Sicherheitsheader gesetzt.
- Verzeichnisauflistung und Fehlerausgabe auf dem Bildschirm abgeschaltet.
- Im Web-Root liegen kein Backup, kein
.git, keine.env, keinphpinfound keine Installationsdatei. - Dateirechte 644, Verzeichnisse 755; Konfigurationsdateien restriktiver.
- Die Datenbank ist von außen nicht erreichbar; der Benutzer der Anwendung hat nur die geringsten Rechte.
Zugriff
- Für jedes Konto ein eigenes, starkes Passwort; Zwei-Faktor-Authentifizierung.
- Persönliche Konten; der Zugang ausgeschiedener Personen ist gesperrt.
- SFTP oder FTPS; unverschlüsseltes FTP ist abgeschaltet.
Backup und Monitoring
- Automatisches Backup von Dateien und Datenbank; Kopie außerhalb des Servers; Wiederherstellung getestet.
- Protokolle werden geführt und gelegentlich ausgewertet.
- Erreichbarkeit und Dateiänderungen werden überwacht; die Benachrichtigungen der Search Console sind aktiv.
- Es ist schriftlich festgelegt, wer im Ernstfall was tut.
Häufige Fragen
Kann auch eine kleine Website angegriffen werden?
Ja. Die meisten Angriffe laufen über automatisierte Scans und achten nicht auf die Größe der Website; jede Website mit veralteter Software oder einem schwachen Passwort kann zum Ziel werden. Übernommene kleine Websites werden meist für unerwünschte Weiterleitungen, Spam-Inhalte oder weitere Angriffe missbraucht.
Reicht es aus, ein Sicherheits-Plugin oder eine Firewall einzurichten?
Das ist eine nützliche Schicht, reicht für sich allein aber nicht aus. Sinnvoll wird sie erst zusammen mit aktueller Software, starken Passwörtern, einer richtigen Serverkonfiguration und einem Backup.
Woran erkenne ich, ob meine Website sicher ist?
Einen endgültigen Zustand „sicher“ gibt es nicht; das Risiko wird verringert. Die Checkliste auf dieser Seite umzusetzen, die Software aktuell zu halten und bei wichtigen Websites einen unabhängigen Sicherheitstest durchführen zu lassen, ist ein guter Anfang.
Ich nutze eine fertige Website (Baukasten oder Paket); wofür bin ich selbst verantwortlich?
Die Sicherheit von Code und Server liegt weitgehend beim Anbieter. In Ihrer Verantwortung liegen die Kontopasswörter, die Zwei-Faktor-Authentifizierung, die Personen, denen Sie Zugriff geben, die von Ihnen eingebundenen Komponenten von Drittanbietern und das Backup der Inhalte.
BYK Yazılım Support-Team
Diese Anleitung wird vom Support-Team von BYK Yazılım erstellt und regelmäßig überprüft. Letzte Aktualisierung: 04.10.2026.
Verwandte Anleitungen
- Checkliste für die Website-SicherheitWöchentliche, monatliche und jährliche Aufgaben; jeder Punkt verweist auf die passende Anleitung, druckbar.
- Server- und Hosting-SicherheitSFTP/FTPS, Dateirechte, Verzeichnisauflistung, Fehleranzeige, sensible Dateien und Datenbankzugriff.
- Software-Updates und Plugin-SicherheitCMS, Plugins, Themes und Bibliotheken aktuell halten, Ungenutztes entfernen und Lieferkettenrisiken begrenzen.
- Website gehackt: Was tun?Vorfallsreaktion Schritt für Schritt: Wartungsmodus, Beweise, Passwörter, Bereinigung, Einfallstor, Wiederherstellung und Meldungen.
Sehen wir uns Ihre Website gemeinsam an
BYK Yazılım entwickelt Unternehmenswebsites. Schreiben Sie uns, wenn Sie Fragen zu Ihrer Website haben.
Kontakt aufnehmen Unsere Leistung: Unternehmenswebsite