WordPress Professional II

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
1 von 47

Recomendados

Wordpress Security von
Wordpress SecurityWordpress Security
Wordpress SecurityDaniel Potthast
1.9K views21 Folien
WordPress Professional III von
WordPress Professional IIIWordPress Professional III
WordPress Professional IIISebastian Blum
1.1K views49 Folien
WordPress Professional – SEO Campixx von
WordPress Professional – SEO CampixxWordPress Professional – SEO Campixx
WordPress Professional – SEO CampixxSebastian Blum
2.8K views78 Folien
WordPress absichern - WP Camp 2012 in Berlin von
WordPress absichern - WP Camp 2012 in BerlinWordPress absichern - WP Camp 2012 in Berlin
WordPress absichern - WP Camp 2012 in BerlinTorsten Landsiedel
3.3K views44 Folien
Startups in „Die Höhle der Löwen“ - SEODAY 2016 von
Startups in „Die Höhle der Löwen“ - SEODAY 2016Startups in „Die Höhle der Löwen“ - SEODAY 2016
Startups in „Die Höhle der Löwen“ - SEODAY 2016Dennis Oderwald
2.6K views29 Folien
WordPress Grundlagen Kurs von
WordPress Grundlagen KursWordPress Grundlagen Kurs
WordPress Grundlagen KursBenjamin Hartwich
8K views112 Folien

Más contenido relacionado

Was ist angesagt?

WordPress für Einsteiger - Für wen eignet sich das CMS von
WordPress für Einsteiger - Für wen eignet sich das CMSWordPress für Einsteiger - Für wen eignet sich das CMS
WordPress für Einsteiger - Für wen eignet sich das CMSEduPress / Inpsyde GmbH
2.6K views92 Folien
Was ist WordPress eigentlich? von
Was ist WordPress eigentlich?Was ist WordPress eigentlich?
Was ist WordPress eigentlich?learnWP
697 views10 Folien
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-Freaks von
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-FreaksSEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-Freaks
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-FreaksSEARCH ONE
5.3K views59 Folien
Baustein 07 grundlagen-html-css-php von
Baustein 07 grundlagen-html-css-phpBaustein 07 grundlagen-html-css-php
Baustein 07 grundlagen-html-css-phpMichael Kollmannsberger
2.8K views47 Folien
Node.js von
Node.jsNode.js
Node.jsSebastian Springer
681 views60 Folien
HTML5 und CSS3 - was jetzt schon möglich ist von
HTML5 und CSS3 - was jetzt schon möglich istHTML5 und CSS3 - was jetzt schon möglich ist
HTML5 und CSS3 - was jetzt schon möglich istRenate Hermanns
3.4K views41 Folien

Was ist angesagt?(20)

Was ist WordPress eigentlich? von learnWP
Was ist WordPress eigentlich?Was ist WordPress eigentlich?
Was ist WordPress eigentlich?
learnWP697 views
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-Freaks von SEARCH ONE
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-FreaksSEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-Freaks
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-Freaks
SEARCH ONE5.3K views
HTML5 und CSS3 - was jetzt schon möglich ist von Renate Hermanns
HTML5 und CSS3 - was jetzt schon möglich istHTML5 und CSS3 - was jetzt schon möglich ist
HTML5 und CSS3 - was jetzt schon möglich ist
Renate Hermanns3.4K views
PhpStorm 6 Configuration for TYPO3 von marco-huber
PhpStorm 6 Configuration for TYPO3PhpStorm 6 Configuration for TYPO3
PhpStorm 6 Configuration for TYPO3
marco-huber3.1K views
WordPress- eine Einführung von Johannes Fruth
WordPress- eine EinführungWordPress- eine Einführung
WordPress- eine Einführung
Johannes Fruth1.3K views
MongoDB: Security-Tipps gegen Hacker von Gregor Biswanger
MongoDB: Security-Tipps gegen HackerMongoDB: Security-Tipps gegen Hacker
MongoDB: Security-Tipps gegen Hacker
Gregor Biswanger1.2K views
Ein kurze Einführung in WordPress von Cathrin Tusche
Ein kurze Einführung in WordPressEin kurze Einführung in WordPress
Ein kurze Einführung in WordPress
Cathrin Tusche5.5K views
Performance Optimierung - Barrierefreiheit beginnt mit Ladezeiten von David Maciejewski
Performance Optimierung - Barrierefreiheit beginnt mit LadezeitenPerformance Optimierung - Barrierefreiheit beginnt mit Ladezeiten
Performance Optimierung - Barrierefreiheit beginnt mit Ladezeiten
David Maciejewski3.3K views
WP-CLI - Das Kommandozeilen Interface für Wordpress von frankstaude
WP-CLI - Das Kommandozeilen Interface für WordpressWP-CLI - Das Kommandozeilen Interface für Wordpress
WP-CLI - Das Kommandozeilen Interface für Wordpress
frankstaude2.1K views
Wordpress - Einführung und Überblick über die Kernfunktionen von Mario Fink
Wordpress - Einführung und Überblick über die KernfunktionenWordpress - Einführung und Überblick über die Kernfunktionen
Wordpress - Einführung und Überblick über die Kernfunktionen
Mario Fink2.9K views
SEODay 2011 - Seitennetzwerk mit WordPress effizient aufbauen und verwalten von get on top gmbh
SEODay 2011 - Seitennetzwerk mit WordPress effizient aufbauen und verwaltenSEODay 2011 - Seitennetzwerk mit WordPress effizient aufbauen und verwalten
SEODay 2011 - Seitennetzwerk mit WordPress effizient aufbauen und verwalten
get on top gmbh1.8K views
Sicherheit für WordPress von Walter Ebert
Sicherheit für WordPressSicherheit für WordPress
Sicherheit für WordPress
Walter Ebert630 views
Blogwerk WordPress für die Corporate Website von Blogwerk AG
Blogwerk WordPress für die Corporate WebsiteBlogwerk WordPress für die Corporate Website
Blogwerk WordPress für die Corporate Website
Blogwerk AG1.4K views
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core von Gregor Biswanger
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreHands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Gregor Biswanger212 views

Destacado

Pagespeed Learnings aus mehreren Relaunches (SEO Campixx 2017) von
Pagespeed Learnings aus mehreren Relaunches (SEO Campixx 2017)Pagespeed Learnings aus mehreren Relaunches (SEO Campixx 2017)
Pagespeed Learnings aus mehreren Relaunches (SEO Campixx 2017)SEO & UX München
1.3K views106 Folien
Campixx 2017 SEO für KMU von
Campixx 2017 SEO für KMUCampixx 2017 SEO für KMU
Campixx 2017 SEO für KMUHeiko Hoehn
2.4K views45 Folien
Content-Produktion aus der Praxis – Von der Idee zum Inhalt – SEO Campixx 2017 von
Content-Produktion aus der Praxis – Von der Idee zum Inhalt – SEO Campixx 2017Content-Produktion aus der Praxis – Von der Idee zum Inhalt – SEO Campixx 2017
Content-Produktion aus der Praxis – Von der Idee zum Inhalt – SEO Campixx 2017Niels Dahnke
3.5K views48 Folien
Google Analytics fürs Content-Marketing von
Google Analytics fürs Content-MarketingGoogle Analytics fürs Content-Marketing
Google Analytics fürs Content-Marketingdskom digital.marketing.agentur
1K views50 Folien
ADO.NET von
ADO.NETADO.NET
ADO.NETLeonardo Lourenço Silva
1.3K views16 Folien
Excel Based IP Functions von
Excel Based IP FunctionsExcel Based IP Functions
Excel Based IP FunctionsRajiv Bhardwaj
24.4K views33 Folien

Destacado(20)

Pagespeed Learnings aus mehreren Relaunches (SEO Campixx 2017) von SEO & UX München
Pagespeed Learnings aus mehreren Relaunches (SEO Campixx 2017)Pagespeed Learnings aus mehreren Relaunches (SEO Campixx 2017)
Pagespeed Learnings aus mehreren Relaunches (SEO Campixx 2017)
SEO & UX München1.3K views
Campixx 2017 SEO für KMU von Heiko Hoehn
Campixx 2017 SEO für KMUCampixx 2017 SEO für KMU
Campixx 2017 SEO für KMU
Heiko Hoehn2.4K views
Content-Produktion aus der Praxis – Von der Idee zum Inhalt – SEO Campixx 2017 von Niels Dahnke
Content-Produktion aus der Praxis – Von der Idee zum Inhalt – SEO Campixx 2017Content-Produktion aus der Praxis – Von der Idee zum Inhalt – SEO Campixx 2017
Content-Produktion aus der Praxis – Von der Idee zum Inhalt – SEO Campixx 2017
Niels Dahnke3.5K views
Excel Based IP Functions von Rajiv Bhardwaj
Excel Based IP FunctionsExcel Based IP Functions
Excel Based IP Functions
Rajiv Bhardwaj24.4K views
Lecture#5 Operators in C++ von NUST Stuff
Lecture#5 Operators in C++Lecture#5 Operators in C++
Lecture#5 Operators in C++
NUST Stuff314 views
Java Concurrency Idioms von Alex Miller
Java Concurrency IdiomsJava Concurrency Idioms
Java Concurrency Idioms
Alex Miller3.1K views
Operators in c language von Amit Singh
Operators in c languageOperators in c language
Operators in c language
Amit Singh5.6K views
2017 Info Night Presentation - TIF bond von F. X. Flinn
2017 Info Night Presentation - TIF bond2017 Info Night Presentation - TIF bond
2017 Info Night Presentation - TIF bond
F. X. Flinn208 views
Replicacao Object Sistemas von taniamaciel
Replicacao Object SistemasReplicacao Object Sistemas
Replicacao Object Sistemas
taniamaciel1.3K views

Similar a WordPress Professional II

Meine ersten 12 Monate als Plugin-Entwickler für WordPress - WP Camp 2012 Berlin von
Meine ersten 12 Monate als Plugin-Entwickler für WordPress - WP Camp 2012 BerlinMeine ersten 12 Monate als Plugin-Entwickler für WordPress - WP Camp 2012 Berlin
Meine ersten 12 Monate als Plugin-Entwickler für WordPress - WP Camp 2012 BerlinDavid Decker
2.6K views26 Folien
Tag Manager Professional von
Tag Manager ProfessionalTag Manager Professional
Tag Manager ProfessionalSebastian Blum
124 views40 Folien
WordPress CMS - WebMontag Chemnitz Oktober 2011 von
WordPress CMS - WebMontag Chemnitz Oktober 2011WordPress CMS - WebMontag Chemnitz Oktober 2011
WordPress CMS - WebMontag Chemnitz Oktober 2011David Decker
1.3K views17 Folien
Bestehende WordPress-Seiten auf Multisite migrieren von
Bestehende WordPress-Seiten auf Multisite migrierenBestehende WordPress-Seiten auf Multisite migrieren
Bestehende WordPress-Seiten auf Multisite migrierenWalter Ebert
4.7K views48 Folien
Word Press Als Blog Und Cms O von
Word Press Als Blog Und Cms OWord Press Als Blog Und Cms O
Word Press Als Blog Und Cms Osol777
902 views11 Folien
Einführung in Docker von
Einführung in DockerEinführung in Docker
Einführung in DockerChristian Colbach
109 views32 Folien

Similar a WordPress Professional II(20)

Meine ersten 12 Monate als Plugin-Entwickler für WordPress - WP Camp 2012 Berlin von David Decker
Meine ersten 12 Monate als Plugin-Entwickler für WordPress - WP Camp 2012 BerlinMeine ersten 12 Monate als Plugin-Entwickler für WordPress - WP Camp 2012 Berlin
Meine ersten 12 Monate als Plugin-Entwickler für WordPress - WP Camp 2012 Berlin
David Decker2.6K views
WordPress CMS - WebMontag Chemnitz Oktober 2011 von David Decker
WordPress CMS - WebMontag Chemnitz Oktober 2011WordPress CMS - WebMontag Chemnitz Oktober 2011
WordPress CMS - WebMontag Chemnitz Oktober 2011
David Decker1.3K views
Bestehende WordPress-Seiten auf Multisite migrieren von Walter Ebert
Bestehende WordPress-Seiten auf Multisite migrierenBestehende WordPress-Seiten auf Multisite migrieren
Bestehende WordPress-Seiten auf Multisite migrieren
Walter Ebert4.7K views
Word Press Als Blog Und Cms O von sol777
Word Press Als Blog Und Cms OWord Press Als Blog Und Cms O
Word Press Als Blog Und Cms O
sol777902 views
Cloud Provisioning mit Juju von Frank Müller
Cloud Provisioning mit JujuCloud Provisioning mit Juju
Cloud Provisioning mit Juju
Frank Müller757 views
WordPress vs. TYPO3 von webpard UG
WordPress vs. TYPO3WordPress vs. TYPO3
WordPress vs. TYPO3
webpard UG2.4K views
Ausrollen von Multi-Tier-Applikationen mit Docker von B1 Systems GmbH
Ausrollen von Multi-Tier-Applikationen mit DockerAusrollen von Multi-Tier-Applikationen mit Docker
Ausrollen von Multi-Tier-Applikationen mit Docker
B1 Systems GmbH246 views
Secure Linux Administration Conference 2006: Linux Disaster Recovery mit ReaR... von Schlomo Schapiro
Secure Linux Administration Conference 2006: Linux Disaster Recovery mit ReaR...Secure Linux Administration Conference 2006: Linux Disaster Recovery mit ReaR...
Secure Linux Administration Conference 2006: Linux Disaster Recovery mit ReaR...
Schlomo Schapiro811 views
Synology DSM 6.0 - Features und Erfahrungsbericht von Thomas-Krenn.AG
Synology DSM 6.0 - Features und ErfahrungsberichtSynology DSM 6.0 - Features und Erfahrungsbericht
Synology DSM 6.0 - Features und Erfahrungsbericht
Thomas-Krenn.AG449 views
Der Datenbank-Backup ist gemacht - was nun? von FromDual GmbH
Der Datenbank-Backup ist gemacht - was nun?Der Datenbank-Backup ist gemacht - was nun?
Der Datenbank-Backup ist gemacht - was nun?
FromDual GmbH751 views
Dockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdf von Syahri Ramadhan
Dockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdfDockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdf
Dockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdf
Syahri Ramadhan4 views
USPs (Alleinstellungsmerkmale) zum Company-Messenger von Thomas Teufel
USPs (Alleinstellungsmerkmale) zum Company-MessengerUSPs (Alleinstellungsmerkmale) zum Company-Messenger
USPs (Alleinstellungsmerkmale) zum Company-Messenger
Thomas Teufel72 views
Compact, Compress, De-DUplicate von Ulrich Krause
Compact, Compress, De-DUplicateCompact, Compress, De-DUplicate
Compact, Compress, De-DUplicate
Ulrich Krause1.2K views

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