wordpress professional ii
TRANSCRIPT
![Page 1: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/1.jpg)
WORDPRESS PROFESSIONAL IISEBASTIAN BLUM
![Page 2: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/2.jpg)
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
![Page 3: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/3.jpg)
WORDPRESS SECURITYTEIL 1
!
![Page 4: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/4.jpg)
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
![Page 5: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/5.jpg)
WORDPRESS SECURITY AKTUELLE LAGE
![Page 6: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/6.jpg)
WORDPRESS SECURITY: AKTUELLE LAGE
RANSOMWARE BEFÄLLT NUTZER ÜBER EXPLOIT KITS
▸ TeslaCryptSchwachstellen in veralteten CMS / WordPress-Installation
▸ Befall des Besuchers über Exploit Kitsnutzt 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
![Page 7: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/7.jpg)
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
![Page 8: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/8.jpg)
WORDPRESS SECURITY: AKTUELLE LAGE
RANSOMWARE BEFÄLLT AUCH WEBSERVER
![Page 9: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/9.jpg)
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
![Page 10: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/10.jpg)
WORDPRESS SECURITY AUTOMATISCHE UPDATES
![Page 11: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/11.jpg)
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 PHPoder FTP-Zugang→ keine Absicherung bei Angriffen
![Page 12: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/12.jpg)
WORDPRESS SECURITY: AUTOMATISIERTE UPDATES
LÖSUNG
▸ Unix-Rechteverwaltung sinnvoll nutzenStandardwerte: Ordner = 755, Dateien = 644
▸ 7 6 4 rwx rwx rwxBesitzer Gruppe Sonstige
▸ Live-Modus
▸ Rechte Ordner (chmod 555), Rechte Dateien (444)→ PHP kann keine Dateien / Ordner schreiben
![Page 13: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/13.jpg)
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
![Page 14: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/14.jpg)
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)
![Page 15: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/15.jpg)
WORDPRESS SECURITY: AUTOMATISIERTE UPDATES
UMSETZUNG
▸ Update-Modus aktivieren
▸ Live-Modus aktivieren
cd/var/wwwchmod-R0777./wordpress
cd/var/wwwfind./wordpress-typed-execchmod0555{}\;find./wordpress-typef-execchmod0444{}\;find./wordpress/wp-content/cache-typed-execchmod0755{}\;find./wordpress/wp-content/cache-typef-execchmod0655{}\;find./wordpress/wp-content/uploads-typed-execchmod0755{}\;find./wordpress/wp-content/uploads-typef-execchmod0644{}\;
![Page 16: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/16.jpg)
WORDPRESS SECURITY: AUTOMATISIERTE UPDATES
UMSETZUNG
▸ WP-CLI herunterladen
▸ Updates installieren
cd~curl-Ohttps://raw.githubusercontent.com/wp-cli/builds/gh-pages⤸/phar/wp-cli.pharchmod+xwp-cli.phar
./wp-cli.pharcoreupdate--path=/var/www/wordpress(--debug)
./wp-cli.pharcoreupdate-db--path=/var/www/wordpress
./wp-cli.pharpluginupdate--all--path=/var/www/wordpress
./wp-cli.pharthemeupdate--all--path=/var/www/wordpress
![Page 17: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/17.jpg)
WORDPRESS SECURITY: AUTOMATISIERTE UPDATES
ÜBER DEN TELLERRAND
▸ Zusätzliche ÜberprüfungTools suchen nach SchwachstellenWPScan: http://wpscan.org/wprecon: http://wprecon.com/
▸ Jens Altmann Samstag Vortrag: Secure your company
![Page 18: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/18.jpg)
WORDPRESS SECURITY ZUGRIFFSBESCHRÄNKUNG
![Page 19: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/19.jpg)
WORDPRESS SECURITY: ZUGRIFFSBESCHRÄNKUNG
.HTACCESS-DATEIEN BEI APACHE-WEBSERVER
▸ Ordner-Auflistung deaktivieren
▸ Direktzugriff nur für bestimmte Dateitypen erlauben
OptionsAll-Indexes
Orderdeny,allowDenyfromall<Files~".(css|doc|docx|gif|jpe?g|js|odf|pdf|png|rar|rtf|xls|xlsx|⤸xml|zip)$">Allowfromall</Files>
![Page 20: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/20.jpg)
WORDPRESS SECURITY: ZUGRIFFSBESCHRÄNKUNG
.HTACCESS-DATEIEN BEI APACHE-WEBSERVER
▸ Login nur nach Passworteingabe
▸ Zugriff auf wp-includes Ordner blockieren
<Fileswp-login.php>AuthTypeBasicAuthName"RestrictedAdmin-Area"AuthUserFile/pfad/zur/.htpasswdRequirevalid-user</Files>
<IfModulemod_rewrite.c>RewriteEngineOnRewriteBase/RewriteRule^wp-admin/includes/-[F,L]RewriteRule!^wp-includes/-[S=3]RewriteRule^wp-includes/[^/]+\.php$-[F,L]</IfModule>
![Page 21: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/21.jpg)
WORDPRESS SECURITY: ZUGRIFFSBESCHRÄNKUNG
.HTACCESS-DATEIEN BEI APACHE-WEBSERVER
▸ Zugriff auf wp-config.php blockieren
▸ Zugriff auf .htaccess-Dateien blockieren<files~"^.*\.([Hh][Tt])">Orderallow,denyDenyfromallSatisfyall</files>
<fileswp-config.php>Orderallow,denyDenyfromall</files>
![Page 22: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/22.jpg)
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!
![Page 23: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/23.jpg)
WORDPRESS ENVIRONMENTTEIL 2
"
![Page 24: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/24.jpg)
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
![Page 25: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/25.jpg)
WORDPRESS ENVIRONMENTTHEMES
![Page 26: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/26.jpg)
VORTRAG 2015: WORDPRESS PROFESSIONAL I
RÜCKBLICK: LETZTES JAHR
▸ Unterscheidungen von
▸ Default-Themes ▸ Starter-Themes ▸ Child-Themes ▸ Vollwertige Themes
▸ Den jeweiligen Einsatzzweck
![Page 27: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/27.jpg)
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
![Page 28: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/28.jpg)
VERWENDUNG DER THEME OPTIONS
![Page 29: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/29.jpg)
VERWENDUNG EINES THEME PANELS
![Page 30: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/30.jpg)
THEME UNIT TESTSWORDPRESS ENVIRONMENT – THEMES
![Page 31: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/31.jpg)
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
![Page 32: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/32.jpg)
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
![Page 33: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/33.jpg)
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
![Page 34: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/34.jpg)
WORDPRESS ENVIRONMENTCUSTOM POST TYPE
![Page 35: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/35.jpg)
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
![Page 36: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/36.jpg)
BEISPIELBILDUNG FÜR FLÜCHTLINGE
![Page 37: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/37.jpg)
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
![Page 38: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/38.jpg)
WORDPRESS ENVIRONMENT: CUSTOM POST TYPE
BILDUNG-FUER-FLUECHTLINGE.DE: BACKEND
▸ Auswahl
▸ Textfeld
▸ Bild-Upload
▸ Standort (Google Maps)
![Page 39: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/39.jpg)
WORDPRESS ENVIRONMENT: CUSTOM POST TYPE
BILDUNG-FUER-FLUECHTLINGE.DE: FRONTEND
▸ Kontaktdaten
▸ Standort (Google Maps)
![Page 40: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/40.jpg)
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
![Page 41: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/41.jpg)
WORDPRESS ENVIRONMENT(MICRO-) PLUG-INS
![Page 42: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/42.jpg)
WORDPRESS ENVIRONMENT: (MICRO-) PLUG-INS
EINFACHE MICRO-PLUG-INS
▸ Beispiel: sblum-force-httpsAlle 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
![Page 43: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/43.jpg)
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
![Page 44: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/44.jpg)
WORDPRESS ENVIRONMENT: (MICRO-) PLUG-INS
SBLUM-FORCE-HTTPS PLUG-IN
![Page 45: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/45.jpg)
WORDPRESS ENVIRONMENT: (MICRO-) PLUG-INS
MUST-USE-PLUGIN: FINAL OUTPUT HOOK
![Page 46: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/46.jpg)
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
![Page 47: WordPress Professional II](https://reader031.vdocuments.pub/reader031/viewer/2022021921/58f9b365760da3da068bd5ba/html5/thumbnails/47.jpg)
WORDPRESS PROFESSIONAL II
DANKE FÜR DIE AUFMERKSAMKEIT
▸ Sebastian Blum [email protected]
▸ Präsentation auf unserer Webseite# https://www.sblum.de/seocampixx