Ein Access-Log nach einem Angriff lesen Das Log enthält die ganze Geschichte bereits. Sechs einzeilige Befehle machen aus einer Million Zeilen: wer, woher, und ob er hereinkam. 5 min read Sicherungen sind eine Sicherheitsmaßnahme Eine Sicherung auf demselben Server, mit denselben Zugangsdaten, ist keine Sicherung. Sie ist eine zweite Kopie, die auf dasselbe Ereignis wartet. 4 min read CSRF: ein Formular, das von woanders abgeschickt wird Ihr Besucher ist angemeldet, und eine fremde Website bringt seinen Browser dazu, eine Anfrage an Ihre zu schicken. Ein Token pro Formular stoppt das. 4 min read Woran man erkennt, ob eine Website kompromittiert ist Die meisten kompromittierten Websites sehen für ihren Betreiber völlig normal aus. Die Signale, die eine Prüfung lohnen, und die vier Befehle, die sie finden. 5 min read fail2ban: was es aufhält und was nicht Es liest Logs und sperrt Adressen, die ein Muster wiederholen. Nützlich, eng begrenzt — und leicht so eingerichtet, dass es Ihr eigenes Büro sperrt. 5 min read Rechte, die richtig sind — nicht bloß funktionieren 777 lässt den Fehler verschwinden und öffnet die Website für jeden, der eine Datei schreiben kann. Was die Zahlen bedeuten und was eine Website wirklich braucht. 5 min read Eine übernommene Website säubern Die Reihenfolge, die eine gehackte Website sauber bekommt und sauber hält — und der Schritt, den fast alle auslassen. 8 min read SSH härten Sechs Konfigurationszeilen machen aus dem meistangegriffenen Dienst Ihres Servers einen, der sich gar nicht mehr erraten lässt. 4 min read Schadcode in der Datenbank, nicht in den Dateien Sie haben den Kern neu installiert, jedes Plugin ersetzt — und die Weiterleitung ist immer noch da. Sie steckt in einer Zeile, nicht in einer Datei. 4 min read Eigentümer, umask und die Gruppenfalle chmod 777 behebt das Symptom und öffnet die Tür. Eigentum und das Gruppenbit beheben die Ursache und halten neue Dateien richtig. 5 min read Brute Force gegen das Kontrollpanel Tausende Anmeldeversuche am Tag sind normales Hintergrundrauschen. Ein Einbruch wird daraus erst, wenn ein Passwort schwach ist und niemand mitzählt. 4 min read PHP gepatcht halten, ohne die Website zu zerlegen Auf einer nicht mehr unterstützten PHP-Version zu bleiben ist ein langsames Sicherheitsversagen. Patch-Releases sind unbedenklich; große Versionssprünge brauchen zwanzig Minuten Vorbereitung. 4 min read Warum eine Sicherung keine Sicherung ist Ransomware sucht zuerst die Sicherungen und findet die, die der Server erreichen kann. Genau deswegen gibt es die 3-2-1-Regel. 4 min read Eine Anmeldeseite in der Rate begrenzen Passwortraten sind Tausende Versuche pro Stunde. Eine Begrenzung macht das nutzlos, und sie kostet einen Block in der Serverkonfiguration. 4 min read SQL-Injection, in einfachen Worten Die Daten wurden als Teil der Frage gelesen. Eine Gewohnheit beseitigt die ganze Klasse - und Escaping ist es nicht. 5 min read SSH-Schlüssel statt Passwörter Ein Schlüssel beendet Brute-Force-Versuche vollständig. Erzeugen, einspielen, in einem zweiten Fenster testen - und erst dann Passwörter abschalten. 5 min read Zwei-Faktor, und wo die Wiederherstellungscodes hingehören Es sorgt dafür, dass ein gestohlenes Passwort nicht mehr genügt. Die Einrichtung dauert zwei Minuten; falsch gemacht wird der Teil, der davon handelt, was beim Verlust des Telefons passiert. 4 min read Das Upload-Verzeichnis darf niemals ausführen Die Dateiendung zu prüfen genügt nicht. Führt der Webserver PHP aus Ihrem Upload-Ordner aus, ist ein einziger schlechter Upload eine Shell. 4 min read Die vier Dinge, an denen WordPress-Seiten gehackt werden Keine obskuren Exploits. Vier gewöhnliche Versäumnisse erklären fast jede kompromittierte Seite, und jedes davon ist in Minuten geschlossen. 6 min read Cross-Site-Scripting, schlicht erklärt Fremder Code, der auf Ihrer Seite und in der Sitzung Ihres Besuchers läuft. Eine einzige Gewohnheit verhindert fast alles davon. 5 min read