WordPress absichern (Meetup Version)

WordPress absichern (Meetup Version)

WordPress absichern - Vortrag beim WP Meetup Hamburg vom 27. November 2012

Bcc2431139ac8babaa0f6ccf308713e0?s=128

Torsten Landsiedel

November 27, 2012
Tweet

Transcript

  1. WordPress absichern Torsten Landsiedel @zodiac1978

  2. Was ist Sicherheit? „Sicherheit ist ein relativer Zustand der Gefahrenfreiheit,

    der stets nur für einen bestimmten Zeitraum, eine bestimmte Umgebung oder unter bestimmten Bedingungen gegeben ist.“
  3. 100% Sicherheit gibt es nicht

  4. Spannungsfelder Sicherheit Benutzerfreundlichkeit

  5. None
  6. Wieso ich? ➔ Meine Webseite ist doch unwichtig! ➔ Wer

    hat denn Interesse an meinen Daten? ➔ Ich habe doch kaum Besucher! ➔ Ich habe doch ein „Sicherheits-Plugin“ installiert!
  7. Darum! ➔ Hosting für Phishing-Seiten ➔ Spam-Versand ➔ Vandalismus /

    Wettbewerb ➔ Link-Farming (Backlinks) ➔ Viren/Malware-Infektionen verbreiten ➔ Werbung (Pop-Ups, iFrames, Direktlinks, etc.)
  8. Sicherheit erreichen ➔ Updaten, Updaten, Updaten! – WordPress-Core, Themes und

    Plugins aktuell halten – Benachrichtigung per Plugin (Mail on Update) – Oder gleich Infinite WP oder Manage WP (o.ä.)
  9. Gute Passwörter ➔ Möglichst lang (>10 Zeichen) ➔ Mehrere Wörter

    hintereinander – Hutsahneregalhuepfburg ➔ Satz mit Regeln – Dieser Satz ist ein super Passwort, dass ich mir gerade ausdenke! – „DSi1sPdimga!“ ➔ Nicht aufschreiben, nicht teilen, regelmäßig ändern (Stichwort: Zahnbürste!) ➔ KeePass nutzen
  10. Schlechte Passwörter ➔ Vermeide bekannte Muster: ➔ Bernd1978 (Vorname +

    Geburtsjahr) ➔ P@ssw0rt (bekannte Ersetzungen) ➔ Wörterbuch-Wort ➔ Doppelt verwendete Passwörter ➔ Typische Tasten-Folgen oder Klassiker: ➔ Password, 123456, 12345678, qwerty, abc123
  11. Das schwächste Glied der Kette ...

  12. Der Weg muss sicher sein! ➔ Betriebssystem aktuell? Alle Sicherheitsupdates

    eingespielt? ➔ Virenscanner aktiv und aktuell? ➔ Wenn möglich SFTP statt FTP – http://de.wikipedia.org/wiki/Secure_File_Transfer_Protocol ➔ Alternativ FTP over TLS – http://de.wikipedia.org/wiki/FTP_über_TLS
  13. Aufräumen! + Ordnung! ➔ Unbenutzte Themes und Plugins löschen! –

    Nein, deaktivieren reicht nicht … ➔ Plugins und Themes nur aus vertrauenswürdigen Quellen beziehen! ➔ Verzeichnisse anzeigen verhindern – Options All -Indexes (in .htaccess) – Oder in jedem Ordner eine leere index.php
  14. Security-Basics ➔ Sicherheitsschlüssel in der wp-config.php setzen – http://codex.wordpress.org/Editing_wp-config.php#Security_Keys ➔

    Sollte das Blog gehackt werden, unbedingt diese Schlüssel erneuern! Damit werden die Cookies verschlüsselt und die bleiben sonst valide!
  15. Security through obscurity

  16. ➔ „Sicherheit durch Verschleierung“ ➔ Sinnvoll nur als Ergänzung! Security

    through obscurity
  17. Beispiele: ➔ Präfix ändern ($table_prefix = 'wp_deinpräfix_';) ➔ wp-config.php (sofern

    möglich) in den Ordner über dem öffentlichen Ordner verschieben ➔ wp-content-Ordner verschieben ➔ User-ID=1=“admin“=Administrator → OMG! ➔ User-ID und Usernamen ändern ➔ Versionsnummer verstecken
  18. Ist das (un)sicher? ➔ Ist der neue Username dann geheim?

    Eher nicht ... – Permalinkproblem: • /?author=1 → /author/admin – the_author_posts_link • Link zur Autoren-Übersichtsseite bei Multiautoren-Blogs – comment_class • Autor kommentiert in eigenem Blog – Login-Fehlermeldung
  19. Warum nur ...

  20. Kill PHP execution ➔ Im Ordner „/uploads/“ per htaccess die

    Ausführung von PHP verhindern: <FilesMatch *.php> Order Deny, Allow Deny from All </Files> (http://wp.smashingmagazine.com/2012/10/09/four-malware-infections-wordpress/)
  21. wp-config.php schützen ➔ Bei PHP-Problemen darf niemals diese Datei öffentlich

    werden, daher schützen! <FilesMatch "(wp-config.php|liesmich.html|readme.html)"> order deny,allow deny from all </FilesMatch> ➔ Zusatzfunktion: Versionsnummer verstecken
  22. Versionsnummer verstecken ➔ Generator-Eintrag aus Head entfernen: – <meta name="generator"

    content="WordPress <?php bloginfo('version'); ?>" /> – remove_action('wp_head', 'wp_generator'); ➔ Aber was ist mit den Feeds? – add_filter('the_generator', create_function('', 'return "";')); ➔ wp_enqueue_script()-Problem – Wenn keine Version angegeben wird WP-Version angehängt!
  23. SSL-Verschlüsselung ➔ Ab etwa 60 EUR / Jahr – SSL-Zertifikat

    – define('FORCE_SSL_LOGIN', true); – define('FORCE_SSL_ADMIN', true); ➔ Shared SSL-Lösung nur für den Login – Redirect 301 /ssl https://sslsites.de/example.de/wp-login.php – ???
  24. Zugriffsrechte ➔ Immer nur soviel Rechte einräumen wie nötig ➔

    Trennung Administration & Nutzung (Windows) – Editor/Redakteur zum Arbeiten – Admin extra sichern ➔ Was nicht da ist, kann nicht missbraucht werden (Editor ausblenden) – define('DISALLOW_FILE_EDIT',true); ➔ Dateirechte (Verzeichnisse: 755, Dateien: 644)
  25. Zwei mal abschließen … ➔ htaccess-Passwort-Sicherung des Logins (nur wp-login.php!)

    – Initiative WordPress-Sicherheit – Zugang nur bestimmten IPs oder IP-Bereichen erlauben/verbieten ➔ Adminkonto extra absichern – Google Authenticator oder Duo Two-Factor Authentication ➔ Blacklist – http://perishablepress.com/5g-blacklist-2012/
  26. Kinder & Brunnen ➔ Backups! – FTP & MySQL-Datenbank –

    SQL-Backup per Plugin: WP DB Backup – Oder direkt in die Dropbox – Bei vielen Datenbanken: MySQL-Dumper – Nicht auf dem Server speichern (nicht öffentlich, nicht online) ➔ Richtig reagieren – http://codex.wordpress.org/FAQ_My_site_was_hacked
  27. Monitoring ➔ Vorteil: Schnellere Reaktionszeit ➔ Alle Änderungen werden per

    Mail gemeldet – WordPress File Monitor Plus ➔ Nachteil: Serverbelastung
  28. Prüfen und informieren! ➔ Sicherheits-Blogs abonnieren ➔ Plugins checken ➔

    Themes checken ➔ Online-Scanner
  29. Danke für die Aufmerksamkeit! ➔ Fragen? ➔ http://torstenlandsiedel.de/kontakt/ ➔ https://twitter.com/zodiac1978/

    ➔ Google-Plus: http://torstenlandsiedel.de/+