Upgrade to Pro — share decks privately, control downloads, hide ads and more …

WordPress absichern (Meetup Version)

WordPress absichern (Meetup Version)

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

Torsten Landsiedel

November 27, 2012
Tweet

More Decks by Torsten Landsiedel

Other Decks in Technology

Transcript

  1. 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.“
  2. 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!
  3. Darum! ➔ Hosting für Phishing-Seiten ➔ Spam-Versand ➔ Vandalismus /

    Wettbewerb ➔ Link-Farming (Backlinks) ➔ Viren/Malware-Infektionen verbreiten ➔ Werbung (Pop-Ups, iFrames, Direktlinks, etc.)
  4. 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.ä.)
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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!
  10. 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
  11. 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
  12. 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/)
  13. 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
  14. 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!
  15. 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 – ???
  16. 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)
  17. 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/
  18. 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
  19. Monitoring ➔ Vorteil: Schnellere Reaktionszeit ➔ Alle Änderungen werden per

    Mail gemeldet – WordPress File Monitor Plus ➔ Nachteil: Serverbelastung