Code, Kram und Kaffee aus Bonn
⚠ Kein Support. Kein Newsletter. Kein Bullshit.
🔒 Security – die meisten Lücken wären vermeidbar gewesen. Die meisten.
| SQL-Injection 2024 – ja, existiert noch. Nein, ich fass das nicht an.
| Passwort "123456": bitte nicht. Auch nicht "password1". Auch nicht "qwertz".
🔒
security.sh – Beiträge ohne Panikmache
_
□
✕
Security – was wirklich zählt
Security ist eines dieser Themen wo man schnell zwischen zwei falschen Extremen
landet: entweder völlig ignorieren ("wird schon niemand hacken") oder so
paranoid werden dass man am Ende nichts mehr deployt weil noch irgendein
theoretisches Angriffsszenario offen ist. Beides hilft nicht. Was hilft:
die häufigsten und kritischsten Lücken kennen, verstehen warum sie entstehen,
und sie systematisch schließen – ohne den ganzen Tag nur noch über Security
nachzudenken.
Ich bin kein Pentester und kein Security-Forscher. Ich bin ein Entwickler
aus Bonn der seit über zwanzig Jahren Webanwendungen baut und dabei gelernt
hat was schiefgehen kann – meistens weil er's selbst irgendwann falsch
gemacht hat oder weil er Fremdbode übernommen hat wo jemand anderes kreativ
falsch lag. Diese Beiträge sind aus dieser Perspektive geschrieben. Praxis,
keine Theorie.
Wer sich fragt was Backlinks überhaupt sind und wie die funktionieren –
das klingt erstmal nach reinem SEO-Thema, hat aber auch eine Security-Seite:
Spam-Backlinks, Negative SEO, Links auf kompromittierte Seiten.
Backlink einfach erklärt
gibt einen soliden Einstieg. Hier auf der Seite geht's aber ums Absichern.
🔒 Web-Security Checkliste – das Minimum das jeder umsetzen sollte
✓
HTTPS überall – kein HTTP mehr, nicht mal intern
Let's Encrypt ist kostenlos. Keine Ausreden.
✓
Prepared Statements – SQL-Injection ist kein Hexenwerk sondern Faulheit
PDO oder MySQLi mit Bindings. Immer. Ohne Ausnahme.
✓
SSH: Passwort-Auth deaktivieren, nur Keys erlauben
PasswordAuthentication no in sshd_config – ein Einzeiler.
✓
Passwörter hashen mit password_hash() – nicht md5(), nicht sha1()
bcrypt oder Argon2. Der Rest ist 2009.
!
Security Headers setzen – X-Frame-Options, CSP, HSTS
Fünf Zeilen .htaccess. Die meisten vergessen's trotzdem.
Nutzereingaben ohne Validierung in SQL oder HTML ausgeben
Classic. Immer noch passiert. Bitte nicht.
✗
Credentials in Git commiten – .env nicht in .gitignore
GitHub-Scanner finden das in Minuten. Wirklich.
// So nicht – und das meint wirklich niemand mehr ernst, oder?$hash = md5($passwort);$hash = sha1($passwort . "salz123");// So – password_hash() seit PHP 5.5, keine Ausreden mehr$hash = password_hash($passwort, PASSWORD_BCRYPT);$valid = password_verify($eingabe, $hash);// bcrypt kümmert sich selbst um Salt und Iterations. Fertig.
Aktuelle Security-Beiträge
SSH absichern – die Dinge die wirklich zählen
· schlabonskiNEU
SSH / SERVER
Den SSH-Port auf 2222 legen hilft kaum – Scanner probieren inzwischen
alle Ports durch. Was wirklich hilft: Passwort-Auth komplett
deaktivieren, nur noch Keys. Dazu Fail2ban, AllowUsers auf konkrete
Nutzer einschränken, Root-Login verbieten. Klingt nach viel, ist eine
halbe Stunde Arbeit. Danach schaut man sich die Auth-Logs an und
ist froh dass man's gemacht hat – da stehen nämlich Tausende
fehlgeschlagener Versuche. Täglich.
SQL-Injection 2024 – warum das immer noch passiert
· schlabonski
SQL / PHP
SQL-Injection steht seit über zwanzig Jahren auf der OWASP-Top-10-Liste.
Trotzdem taucht sie regelmäßig in Audits auf, in Legacy-Code, in schnell
hingeworfenen Projekten. Warum? Weil der falsche Weg schneller zu tippen
ist als der richtige, und weil man den Fehler nicht sofort sieht.
Konkrete Beispiele, wie eine Lücke aussieht, wie Prepared Statements
das Problem lösen – und warum es wirklich nur ein paar Zeilen Unterschied
sind.
Datenschutz und Tracking – was ich auf diesem Blog nicht mache
· schlabonski
DATENSCHUTZ / META
Kein Google Analytics. Kein Facebook Pixel. Kein Cookie-Banner der einen
fragt ob man getrackt werden will – weil die Antwort "nein" ist und ich
das direkt umsetze statt zu fragen. Der Beitrag erklärt wie Serverside-Logs
ausgewertet werden ohne personenbezogene Daten zu speichern, und warum
das sinnvoller ist als ein achtzehn-Buttons-Modal. Außerdem: was das
alles mit der DSGVO zu tun hat – ohne dabei Anwalt zu spielen,
das bin ich nämlich nicht.
Facebook, Google, GMX & Co – was die wirklich wissen
· schlabonski
DATENSCHUTZ / KLASSIKER
Den hab ich 2011 geschrieben. Manches ist veraltet, die grundsätzliche
Aussage nicht: wer kostenlose Dienste nutzt, zahlt mit Daten. Das war
2011 so, ist 2026 so, und wird 2030 so sein. Nur die Namen haben
sich verändert – von Facebook zu TikTok, von GMX zu Gmail.
Selbes Spiel, andere Logos.