SlideShare ist ein Scribd-Unternehmen logo
WORDPRESS PROFESSIONAL II
SEBASTIAN BLUM
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
WORDPRESS SECURITY
TEIL 1
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
WORDPRESS SECURITY

AKTUELLE LAGE
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
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
WORDPRESS SECURITY: AKTUELLE LAGE
RANSOMWARE BEFÄLLT AUCH WEBSERVER
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
WORDPRESS SECURITY

AUTOMATISCHE UPDATES
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
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
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
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)
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	{}	;
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
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
WORDPRESS SECURITY

ZUGRIFFSBESCHRÄNKUNG
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>
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>
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>
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!
WORDPRESS ENVIRONMENT
TEIL 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
WORDPRESS ENVIRONMENT

THEMES
VORTRAG 2015: WORDPRESS PROFESSIONAL I
RÜCKBLICK: LETZTES JAHR
▸ Unterscheidungen von
▸ Default-Themes
▸ Starter-Themes
▸ Child-Themes
▸ Vollwertige Themes
▸ Den jeweiligen Einsatzzweck
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
VERWENDUNG DER THEME OPTIONS
VERWENDUNG EINES THEME PANELS
THEME UNIT TESTS
WORDPRESS ENVIRONMENT – THEMES
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
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
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
WORDPRESS ENVIRONMENT

CUSTOM POST TYPE
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
BEISPIEL

BILDUNG FÜR
FLÜCHTLINGE
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
WORDPRESS ENVIRONMENT: CUSTOM POST TYPE
BILDUNG-FUER-FLUECHTLINGE.DE: BACKEND
▸ Auswahl
▸ Textfeld
▸ Bild-Upload









▸ Standort (Google Maps)
WORDPRESS ENVIRONMENT: CUSTOM POST TYPE
BILDUNG-FUER-FLUECHTLINGE.DE: FRONTEND
▸ Kontaktdaten

▸ Standort (Google Maps)
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
WORDPRESS ENVIRONMENT

(MICRO-) PLUG-INS
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
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
WORDPRESS ENVIRONMENT: (MICRO-) PLUG-INS
SBLUM-FORCE-HTTPS PLUG-IN
WORDPRESS ENVIRONMENT: (MICRO-) PLUG-INS
MUST-USE-PLUGIN: FINAL OUTPUT HOOK
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
WORDPRESS PROFESSIONAL II
DANKE FÜR DIE AUFMERKSAMKEIT
▸ Sebastian Blum

sb@sblum.de
▸ Präsentation auf unserer Webseite

lj https://www.sblum.de/seocampixx

Weitere ähnliche Inhalte

PDF
Wordpress Security
PDF
WordPress Professional III
PDF
WordPress Professional – SEO Campixx
ODP
WordPress absichern - WP Camp 2012 in Berlin
PDF
Startups in „Die Höhle der Löwen“ - SEODAY 2016
PDF
WordPress Grundlagen Kurs
PDF
Wordpress für Profis
PDF
DDEV - Eine lokale Entwicklungsumgebung
Wordpress Security
WordPress Professional III
WordPress Professional – SEO Campixx
WordPress absichern - WP Camp 2012 in Berlin
Startups in „Die Höhle der Löwen“ - SEODAY 2016
WordPress Grundlagen Kurs
Wordpress für Profis
DDEV - Eine lokale Entwicklungsumgebung

Was ist angesagt? (20)

PDF
WordPress für Einsteiger - Für wen eignet sich das CMS
PDF
Was ist WordPress eigentlich?
PDF
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-Freaks
PDF
Baustein 07 grundlagen-html-css-php
PDF
PPTX
HTML5 und CSS3 - was jetzt schon möglich ist
PDF
Campixx 2012-ladezeit-extreme
PDF
Typo3 und Varnish
ODP
PhpStorm 6 Configuration for TYPO3
PDF
WordPress- eine Einführung
PDF
MongoDB: Security-Tipps gegen Hacker
PDF
Ein kurze Einführung in WordPress
PDF
Performance Optimierung - Barrierefreiheit beginnt mit Ladezeiten
PDF
WP-CLI - Das Kommandozeilen Interface für Wordpress
PDF
Wordpress - Einführung und Überblick über die Kernfunktionen
PPTX
SEODay 2011 - Seitennetzwerk mit WordPress effizient aufbauen und verwalten
PPTX
Dockerize It - Mit apex in die amazon cloud
PDF
Sicherheit für WordPress
PPTX
Blogwerk WordPress für die Corporate Website
PDF
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
WordPress für Einsteiger - Für wen eignet sich das CMS
Was ist WordPress eigentlich?
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-Freaks
Baustein 07 grundlagen-html-css-php
HTML5 und CSS3 - was jetzt schon möglich ist
Campixx 2012-ladezeit-extreme
Typo3 und Varnish
PhpStorm 6 Configuration for TYPO3
WordPress- eine Einführung
MongoDB: Security-Tipps gegen Hacker
Ein kurze Einführung in WordPress
Performance Optimierung - Barrierefreiheit beginnt mit Ladezeiten
WP-CLI - Das Kommandozeilen Interface für Wordpress
Wordpress - Einführung und Überblick über die Kernfunktionen
SEODay 2011 - Seitennetzwerk mit WordPress effizient aufbauen und verwalten
Dockerize It - Mit apex in die amazon cloud
Sicherheit für WordPress
Blogwerk WordPress für die Corporate Website
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Anzeige

Andere mochten auch (19)

PPTX
Pagespeed Learnings aus mehreren Relaunches (SEO Campixx 2017)
PDF
Campixx 2017 SEO für KMU
PDF
Content-Produktion aus der Praxis – Von der Idee zum Inhalt – SEO Campixx 2017
PPTX
Excel Based IP Functions
PPT
Lecture#5 Operators in C++
PDF
Java Concurrency Idioms
PPT
Operators in c language
PPTX
2017 Info Night Presentation - TIF bond
PPT
Slides chapter 16
PDF
Disruptor tools in action
PDF
Java - Introdução a banco de dados
PPT
PPS
Control statements
PDF
5 retro pay_methods_i___ii_part_5
PDF
Manual de Usuário - TCC André Luiz Jamarino Abekawa
PPT
Replicacao Object Sistemas
ODP
Minicurso de Cakephp
Pagespeed Learnings aus mehreren Relaunches (SEO Campixx 2017)
Campixx 2017 SEO für KMU
Content-Produktion aus der Praxis – Von der Idee zum Inhalt – SEO Campixx 2017
Excel Based IP Functions
Lecture#5 Operators in C++
Java Concurrency Idioms
Operators in c language
2017 Info Night Presentation - TIF bond
Slides chapter 16
Disruptor tools in action
Java - Introdução a banco de dados
Control statements
5 retro pay_methods_i___ii_part_5
Manual de Usuário - TCC André Luiz Jamarino Abekawa
Replicacao Object Sistemas
Minicurso de Cakephp
Anzeige

Ähnlich wie WordPress Professional II (20)

PDF
Meine ersten 12 Monate als Plugin-Entwickler für WordPress - WP Camp 2012 Berlin
PDF
Tag Manager Professional
PDF
WordPress CMS - WebMontag Chemnitz Oktober 2011
PDF
Bestehende WordPress-Seiten auf Multisite migrieren
PPTX
Word Press Als Blog Und Cms O
PDF
Einführung in Docker
PDF
WordPress sicherer machen - Basics
PPTX
Vagrant, Puppet, Docker für Entwickler und Architekten
PDF
Cloud Provisioning mit Juju
PDF
WordPress vs. TYPO3
PDF
Sicherheit von Webanwendungen
PDF
Ausrollen von Multi-Tier-Applikationen mit Docker
PDF
Secure Linux Administration Conference 2006: Linux Disaster Recovery mit ReaR...
PDF
Infrastructure as Code - BaselOne 17
PDF
Synology DSM 6.0 - Features und Erfahrungsbericht
PDF
Der Datenbank-Backup ist gemacht - was nun?
PPTX
Web460 ppt-de-jul-wi-web-all-2020
PDF
Dockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdf
PDF
USPs (Alleinstellungsmerkmale) zum Company-Messenger
PPT
Compact, Compress, De-DUplicate
Meine ersten 12 Monate als Plugin-Entwickler für WordPress - WP Camp 2012 Berlin
Tag Manager Professional
WordPress CMS - WebMontag Chemnitz Oktober 2011
Bestehende WordPress-Seiten auf Multisite migrieren
Word Press Als Blog Und Cms O
Einführung in Docker
WordPress sicherer machen - Basics
Vagrant, Puppet, Docker für Entwickler und Architekten
Cloud Provisioning mit Juju
WordPress vs. TYPO3
Sicherheit von Webanwendungen
Ausrollen von Multi-Tier-Applikationen mit Docker
Secure Linux Administration Conference 2006: Linux Disaster Recovery mit ReaR...
Infrastructure as Code - BaselOne 17
Synology DSM 6.0 - Features und Erfahrungsbericht
Der Datenbank-Backup ist gemacht - was nun?
Web460 ppt-de-jul-wi-web-all-2020
Dockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdf
USPs (Alleinstellungsmerkmale) zum Company-Messenger
Compact, Compress, De-DUplicate

WordPress Professional II

  • 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
  • 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
  • 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. 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. WORDPRESS SECURITY: AKTUELLE LAGE RANSOMWARE BEFÄLLT AUCH WEBSERVER
  • 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
  • 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. 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. 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. 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. 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. 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. 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
  • 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. 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. 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. 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!
  • 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
  • 26. VORTRAG 2015: WORDPRESS PROFESSIONAL I RÜCKBLICK: LETZTES JAHR ▸ Unterscheidungen von ▸ Default-Themes ▸ Starter-Themes ▸ Child-Themes ▸ Vollwertige Themes ▸ Den jeweiligen Einsatzzweck
  • 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
  • 30. THEME UNIT TESTS WORDPRESS ENVIRONMENT – THEMES
  • 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. 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. 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
  • 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
  • 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. WORDPRESS ENVIRONMENT: CUSTOM POST TYPE BILDUNG-FUER-FLUECHTLINGE.DE: BACKEND ▸ Auswahl ▸ Textfeld ▸ Bild-Upload
 
 
 
 
 ▸ Standort (Google Maps)
  • 39. WORDPRESS ENVIRONMENT: CUSTOM POST TYPE BILDUNG-FUER-FLUECHTLINGE.DE: FRONTEND ▸ Kontaktdaten
 ▸ Standort (Google Maps)
  • 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
  • 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. 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. WORDPRESS ENVIRONMENT: (MICRO-) PLUG-INS SBLUM-FORCE-HTTPS PLUG-IN
  • 45. WORDPRESS ENVIRONMENT: (MICRO-) PLUG-INS MUST-USE-PLUGIN: FINAL OUTPUT HOOK
  • 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. WORDPRESS PROFESSIONAL II DANKE FÜR DIE AUFMERKSAMKEIT ▸ Sebastian Blum
 sb@sblum.de ▸ Präsentation auf unserer Webseite
 lj https://www.sblum.de/seocampixx