WordPress Professional II

2.134 Aufrufe

Veröffentlicht am

Vortrag "WordPress Professional II" von Sebastian Blum

Vortrag WordPress Professional II
Seit Jahren betreiben wir eine große WordPress-Multi-Installation mit über 50 Domains, gehostet auf einem ausfallsicheren Server-Cluster mit vielen selbstentwickelten Plugins & Themes.

Dieses Know-How möchten wir mit Euch teilen und geben im Vortrag tiefe Einblicke in die folgenden zwei Themengebiete:

WordPress Sicherheit – Wie sichere ich meine Installation ab und was sollte ich beachten?
Learnings aus Themes & Plugins – Wie baue ich eine zukunftssichere und wartbare WordPress-Anwendung auf?

Veröffentlicht in: Internet
0 Kommentare
3 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
2.134
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
9
Aktionen
Geteilt
0
Downloads
33
Kommentare
0
Gefällt mir
3
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

WordPress Professional II

  1. 1. WORDPRESS PROFESSIONAL II SEBASTIAN BLUM
  2. 2. WORDPRESS PROFESSIONAL II AGENDA WORDPRESS PROFESSIONAL II ▸ Security ▸ Aktuelle Lage ▸ Best Practices
 Automatische Updates und Zugriffsbeschränkung ▸ Environment ▸ Themes ▸ Custom Post Types ▸ (Micro-) Plug-Ins
  3. 3. WORDPRESS SECURITY TEIL 1
  4. 4. IT macht Arbeit nicht billiger, sondern in der Regel nur schneller. Wenn man Geschwindigkeit nicht immer benötigt, sollte man auf IT auch mal verzichten können. Klemens Kowalski, kowabit.de WORDPRESS SECURITY
  5. 5. WORDPRESS SECURITY
 AKTUELLE LAGE
  6. 6. WORDPRESS SECURITY: AKTUELLE LAGE RANSOMWARE BEFÄLLT NUTZER ÜBER EXPLOIT KITS ▸ TeslaCrypt
 Schwachstellen in veralteten CMS / WordPress-Installation ▸ Befall des Besuchers über Exploit Kits
 nutzt Lücken in Adobe Flash Player, Internet Explorer und Adobe Acrobat (Reader) ▸ Verschlüsselt alle Dateien (lokale und in Netzwerkfreigaben)
 → Gefahr für Nutzer mit veralteter Software
 → Regelmäßig Updates und Security-Fixes installieren
  7. 7. WORDPRESS SECURITY: AKTUELLE LAGE WORDPRESS AUF 26% ALLER INTERNETSEITEN ▸ Oftmals … ▸ … kein HTTPS für Backend (WP-Admin) ▸ … Standardbenutzer und einfache Passwörter ▸ … (zu viele) Plug-Ins aktiviert
  8. 8. WORDPRESS SECURITY: AKTUELLE LAGE RANSOMWARE BEFÄLLT AUCH WEBSERVER
  9. 9. WORDPRESS SECURITY: AKTUELLE LAGE RANSOMWARE BEFÄLLT AUCH WEBSERVER ▸ CTB-Locker
 „Your personal files are encrypted by CTB-Locker. Your scripts, documents, photos, databases and other important files have been encrypted with strongest encryption algorithm AES-256 and unique key, generated for this site.“
 
 → Wiederherstellung (bisher) unmöglich
 → Externe Backups regelmäßig erstellen
  10. 10. WORDPRESS SECURITY
 AUTOMATISCHE UPDATES
  11. 11. WORDPRESS SECURITY: AUTOMATISIERTE UPDATES PROBLEM ▸ WordPress Core und Plug-Ins sollten regelmäßig aktualisiert werden ▸ Theoretisch kein Problem:
 WordPress kann automatisch aktualisieren ▸ Automatische Updates benötigen Schreibrechte für PHP
 oder FTP-Zugang
 → keine Absicherung bei Angriffen
  12. 12. WORDPRESS SECURITY: AUTOMATISIERTE UPDATES LÖSUNG ▸ Unix-Rechteverwaltung sinnvoll nutzen
 Standardwerte: Ordner = 755, Dateien = 644 ▸ 7 6 4
 rwx rwx rwx
 Besitzer Gruppe Sonstige ▸ Live-Modus ▸ Rechte Ordner (chmod 555), Rechte Dateien (444)
 → PHP kann keine Dateien / Ordner schreiben
  13. 13. WORDPRESS SECURITY: AUTOMATISIERTE UPDATES LÖSUNG ▸ Update-Modus ▸ Rechte Dateien / Ordner (777)
 → PHP kann Dateien / Ordner schreiben und ausführen ▸ Vorgehen ▸ Rechte werden nur für die Zeit der Updates gesetzt ▸ Benutzer können zusätzlich angepasst werden, jedoch ▸ Einschränkungen beim Shared Hosting ▸ PHP-CGI-Prozesse laufen oftmals mit Standardbenutzer
  14. 14. WORDPRESS SECURITY: AUTOMATISIERTE UPDATES UMSETZUNG ▸ Shared-Hosting mit Cronjobs und SSH ▸ all-inkl: ab Premium-Paket ▸ domainfactory: ab Professional-Paket ▸ STRATO: ab PowerWeb Plus ▸ Eigener Server ▸ Cronjobs über crontab ▸ Jobs mit Jenkins (continuous integration)
  15. 15. WORDPRESS SECURITY: AUTOMATISIERTE UPDATES UMSETZUNG ▸ Update-Modus aktivieren
 
 
 ▸ Live-Modus aktivieren cd /var/www chmod -R 0777 ./wordpress cd /var/www find ./wordpress -type d -exec chmod 0555 {} ; find ./wordpress -type f -exec chmod 0444 {} ; find ./wordpress/wp-content/cache -type d -exec chmod 0755 {} ; find ./wordpress/wp-content/cache -type f -exec chmod 0655 {} ; find ./wordpress/wp-content/uploads -type d -exec chmod 0755 {} ; find ./wordpress/wp-content/uploads -type f -exec chmod 0644 {} ;
  16. 16. WORDPRESS SECURITY: AUTOMATISIERTE UPDATES UMSETZUNG ▸ WP-CLI herunterladen ▸ Updates installieren cd ~ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages⤸ /phar/wp-cli.phar chmod +x wp-cli.phar ./wp-cli.phar core update --path=/var/www/wordpress (--debug) ./wp-cli.phar core update-db --path=/var/www/wordpress ./wp-cli.phar plugin update --all --path=/var/www/wordpress ./wp-cli.phar theme update --all--path=/var/www/wordpress
  17. 17. WORDPRESS SECURITY: AUTOMATISIERTE UPDATES ÜBER DEN TELLERRAND ▸ Zusätzliche Überprüfung
 Tools suchen nach Schwachstellen
 WPScan: http://wpscan.org/
 wprecon: http://wprecon.com/ ▸ Jens Altmann
 Samstag Vortrag: Secure your company
  18. 18. WORDPRESS SECURITY
 ZUGRIFFSBESCHRÄNKUNG
  19. 19. WORDPRESS SECURITY: ZUGRIFFSBESCHRÄNKUNG .HTACCESS-DATEIEN BEI APACHE-WEBSERVER ▸ Ordner-Auflistung deaktivieren ▸ Direktzugriff nur für bestimmte Dateitypen erlauben
 Options All -Indexes Order deny,allow Deny from all <Files ~ ".(css|doc|docx|gif|jpe?g|js|odf|pdf|png|rar|rtf|xls|xlsx|⤸ xml|zip)$"> Allow from all </Files>
  20. 20. WORDPRESS SECURITY: ZUGRIFFSBESCHRÄNKUNG .HTACCESS-DATEIEN BEI APACHE-WEBSERVER ▸ Login nur nach Passworteingabe ▸ Zugriff auf wp-includes Ordner blockieren
 <Files wp-login.php> AuthType Basic AuthName "Restricted Admin-Area" AuthUserFile /pfad/zur/.htpasswd Require valid-user </Files> <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^wp-admin/includes/ - [F,L] RewriteRule !^wp-includes/ - [S=3] RewriteRule ^wp-includes/[^/]+.php$ - [F,L] </IfModule>
  21. 21. WORDPRESS SECURITY: ZUGRIFFSBESCHRÄNKUNG .HTACCESS-DATEIEN BEI APACHE-WEBSERVER ▸ Zugriff auf wp-config.php blockieren
 
 
 
 ▸ Zugriff auf .htaccess-Dateien blockieren <files ~ "^.*.([Hh][Tt])"> Order allow,deny Deny from all Satisfy all </files> <files wp-config.php> Order allow,deny Deny from all </files>
  22. 22. WORDPRESS SECURITY: LEARNINGS ZUSAMMENFASSUNG ▸ Möglichst wenig (Schreib-) Rechte für Web-Server ▸ Updatebarkeit ist Schutz und Risiko gleichzeitig ▸ Externe Backups notwendig ▸ Dateien: ohne Schreibrechte für Web-Server ▸ Datenbank: komplette Dumps ▸ Schwächstes Glied in Kette beachten!
  23. 23. WORDPRESS ENVIRONMENT TEIL 2
  24. 24. WORDPRESS PROFESSIONAL II AGENDA WORDPRESS PROFESSIONAL II ▸ Security ▸ Aktuelle Lage ▸ Best Practices
 Automatische Updates und Zugriffsbeschränkung ▸ Environment ▸ Themes ▸ Custom Post Types ▸ (Micro-) Plug-Ins
  25. 25. WORDPRESS ENVIRONMENT
 THEMES
  26. 26. VORTRAG 2015: WORDPRESS PROFESSIONAL I RÜCKBLICK: LETZTES JAHR ▸ Unterscheidungen von ▸ Default-Themes ▸ Starter-Themes ▸ Child-Themes ▸ Vollwertige Themes ▸ Den jeweiligen Einsatzzweck
  27. 27. WORDPRESS ENVIRONMENT: THEMES - THEME OPTIONS THEME OPTIONS: DESIGN ANPASSEN ▸ Wechsel zwischen Themes, die alle Theme Options unterstützen, sollte möglich sein
 (Beispiel: Jedes Theme von wordpress.com) ▸ Ziel: Optionen Theme-übergreifend zu standardisieren ▸ Viele Themes verwenden eigenes Theme Panel
 → Theme-Wechsel nur schwer möglich
  28. 28. VERWENDUNG DER THEME OPTIONS
  29. 29. VERWENDUNG EINES THEME PANELS
  30. 30. THEME UNIT TESTS WORDPRESS ENVIRONMENT – THEMES
  31. 31. WORDPRESS ENVIRONMENT: THEMES - UNIT TESTS THEME UNIT TESTS ▸ Theme Unit Tests sind möglich ▸ Verbessern deutlich die Qualität von Themes ▸ Mehr Infos unter:
 https://codex.wordpress.org/Theme_Unit_Test
  32. 32. Theme Plug-In Vorteile ‣ Stabiler, dank getesten Versionen ‣ Schnellere Updates ‣ Theme-Wechsel Nachteile ‣ Abhängigkeit vom Theme ‣ Theme-Lock-In ‣ Updates ‣ Versionskonflikte ‣ Namenkonflikte WORDPRESS ENVIRONMENT: THEMES FUNKTIONALITÄT IN THEME ODER PLUG-IN
  33. 33. WORDPRESS ENVIRONMENT: FAZIT THEMES FAZIT: FUNKTIONALITÄT IN THEMES ▸ Elegant Themes bringen die Funktionalität im Theme mit ▸ Eigener Page-Builder: Divi Builder ▸ Verwendung der Theme Options
 → guter Lösungsansatz ▸ Präferieren selbst die Funktionalität in Plug-Ins ▸ Probleme mit Visual Composer Versionskonflikten ▸ Lock-In bei Custom-Post-Types im Theme
 → Trennung ermöglicht größere Flexibilität
  34. 34. WORDPRESS ENVIRONMENT
 CUSTOM POST TYPE
  35. 35. WORDPRESS ENVIRONMENT: CUSTOM POST TYPE CUSTOM POST TYPE ▸ Einfach selbst definieren mit Hilfe eines kleinen Plug-Ins ▸ Bringt zusätzliche Dokumentarten mit ▸ Im Child-Theme können Template-Dateien speziell für den Custom-Post-Type erstellt werden
  36. 36. BEISPIEL
 BILDUNG FÜR FLÜCHTLINGE
  37. 37. WORDPRESS ENVIRONMENT: CUSTOM POST TYPE BILDUNG-FUER-FLUECHTLINGE.DE ▸ Organisationen mit zusätzlichen Informationen speichern ▸ Kontaktdaten (Auswahl und Textfelder) ▸ Ansprechpartner (Foto) ▸ Standort (Google Maps Karte) ▸ Bereich (Kategorie) ▸ Ausgabe der (gefilterten) Inhalte im Frontend
  38. 38. WORDPRESS ENVIRONMENT: CUSTOM POST TYPE BILDUNG-FUER-FLUECHTLINGE.DE: BACKEND ▸ Auswahl ▸ Textfeld ▸ Bild-Upload
 
 
 
 
 ▸ Standort (Google Maps)
  39. 39. WORDPRESS ENVIRONMENT: CUSTOM POST TYPE BILDUNG-FUER-FLUECHTLINGE.DE: FRONTEND ▸ Kontaktdaten
 ▸ Standort (Google Maps)
  40. 40. WORDPRESS ENVIRONMENT: FAZIT CUSTOM POST TYPES FAZIT: CUSTOM POST TYPES ▸ Eigene „Dokument-Arten“ mit zusätzlichen Feldern ▸ Bessere semantische Datenspeicherung ▸ Updatebarkeit ohne Inhaltsanpassung ▸ Mit Shortcodes in Widgets platzierbar
 → guter Lösungsansatz ▸ Am besten Custom Post Types Definition & Custom Taxonomy selbst mit einem Plugin erstellen ▸ AdvancedCustomFields-Plugin für Verwaltung zusätzlicher Felder im Backend nutzen
  41. 41. WORDPRESS ENVIRONMENT
 (MICRO-) PLUG-INS
  42. 42. WORDPRESS ENVIRONMENT: (MICRO-) PLUG-INS EINFACHE MICRO-PLUG-INS ▸ Beispiel: sblum-force-https
 Alle verlinkten / verknüpften Inhalte über HTTPS abrufen ▸ Single Responsibility Pattern
 → Bietet exakt eine Funktionalität ▸ Einfache Unit-Tests ▸ Keine Konfiguration, keine eierlegende Wollmilchsau Quelle: Pixelrausch - Wikimedia Commons
  43. 43. WORDPRESS ENVIRONMENT: (MICRO-) PLUG-INS SBLUM-FORCE-HTTPS PLUG-IN ▸ Einsatz-Zweck: Umstellung auf HTTPS ▸ Problemstellung ▸ Im Theme / Plug-in werden http:// Assets eingebunden ▸ Interne http-Links in Artikeln ▸ Lösung: Interne Links, CSS, Javascript durch https ersetzen
 → Micro-Plug-in für genau diese Anforderung ausreichend
  44. 44. WORDPRESS ENVIRONMENT: (MICRO-) PLUG-INS SBLUM-FORCE-HTTPS PLUG-IN
  45. 45. WORDPRESS ENVIRONMENT: (MICRO-) PLUG-INS MUST-USE-PLUGIN: FINAL OUTPUT HOOK
  46. 46. WORDPRESS ENVIRONMENT: FAZIT PLUGINS FAZIT: PLUG-INS ▸ Einsatz von Micro-Plug-Ins, wenn… ▸ ein Problem zu 100% gelöst werden kann ▸ Performance wichtig (keine aufwendige Konfiguration) ▸ Einsatz von (umfangreichen) Plug-Ins, wenn… ▸ eine Vielzahl von Anforderungen erfüllt werden ▸ Yoast SEO Plug-In ▸ W3 Total Cache ▸ Konfiguration / Anpassung notwendig
  47. 47. WORDPRESS PROFESSIONAL II DANKE FÜR DIE AUFMERKSAMKEIT ▸ Sebastian Blum
 sb@sblum.de ▸ Präsentation auf unserer Webseite
 lj https://www.sblum.de/seocampixx

×