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