SlideShare a Scribd company logo
1 of 21
Download to read offline
WORDPRESS SECURITY
WORDCAMP NÜRNBERG 2016
Daniel Potthast

@d_potthast#wcnbg
WORDPRESS SECURITY
AGENDA WORDPRESS SECURITY
▸ Aktuelle Lage
▸ Automatische Updates
▸ Zugriffsbeschränkung
WORDPRESS SECURITY

AKTUELLE LAGE
WORDPRESS SECURITY: AKTUELLE LAGE
WORDPRESS AUF 26% ALLER INTERNETSEITEN1
▸ Oftmals …
▸ … kein HTTPS für Backend (WP-Admin)
▸ … Standardbenutzer und einfache Passwörter
▸ … (zu viel) Plug-Ins aktiviert
1 http://w3techs.com/technologies/details/cm-wordpress/all/all
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: AKTUELLE LAGE
DER FALL MOSSACK FONSECA
▸ WordPress auf der Hauptseite
▸ Revolution Slider (Version 2.1.7)

Zugriff auf Systemdateien und Zugangsdaten
▸ WP SMTP plugin

Zugangsdaten des Mail-Servers im Klartext gespeichert
→ Gefahr durch veraltete Plug-Ins

→ Regelmäßig Updates und Security-Fixes installieren

→ Nicht mehr gepflegte Plug-Ins ersetzen
https://www.wordfence.com/blog/2016/04/mossack-fonseca-breach-vulnerable-slider-revolution/
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

→ keinesfalls Lese- und Schreibrechte für „alle“ (777)

→ 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 755), 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	755	{}	;	
find	./wordpress		-type	f	-exec	chmod	444	{}	;	
find	./wordpress/wp-content/cache	-type	f	-exec	chmod	644	{}	;	
find	./wordpress/wp-content/uploads	-type	f	-exec	chmod	644	{}	;
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 wie WPScan suchen nach Schwachstellen

http://wpscan.org/
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][Aa])">	
		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
▸ Regelmäßig externe Backups erstellen
▸ Dateien: ohne Schreibrechte für Web-Server
▸ Datenbank: komplette Dumps
▸ Veraltete Plug-Ins entfernen / ersetzen
WORDPRESS SECURITY
DANKE FÜR DIE AUFMERKSAMKEIT
▸ Daniel Potthast

dp@sblum.de

@d_potthast
▸ Präsentation

! https://sblum.de/wordcamp

More Related Content

What's hot

Wordpress für Profis
Wordpress für ProfisWordpress für Profis
Wordpress für ProfisAnika Erdmann
 
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-Freaks
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
 
PhpStorm 6 Configuration for TYPO3
PhpStorm 6 Configuration for TYPO3PhpStorm 6 Configuration for TYPO3
PhpStorm 6 Configuration for TYPO3marco-huber
 
Was ist WordPress eigentlich?
Was ist WordPress eigentlich?Was ist WordPress eigentlich?
Was ist WordPress eigentlich?learnWP
 
WordPress für Einsteiger - Für wen eignet sich das CMS
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
 
Campixx 2012-ladezeit-extreme
Campixx 2012-ladezeit-extremeCampixx 2012-ladezeit-extreme
Campixx 2012-ladezeit-extremeAlexander Merkel
 
HTML5 und CSS3 - was jetzt schon möglich ist
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
 
WP-CLI - Das Kommandozeilen Interface für Wordpress
WP-CLI - Das Kommandozeilen Interface für WordpressWP-CLI - Das Kommandozeilen Interface für Wordpress
WP-CLI - Das Kommandozeilen Interface für Wordpressfrankstaude
 
MongoDB: Security-Tipps gegen Hacker
MongoDB: Security-Tipps gegen HackerMongoDB: Security-Tipps gegen Hacker
MongoDB: Security-Tipps gegen HackerGregor Biswanger
 
Blogwerk WordPress für die Corporate Website
Blogwerk WordPress für die Corporate WebsiteBlogwerk WordPress für die Corporate Website
Blogwerk WordPress für die Corporate WebsiteBlogwerk AG
 
Bidirektionale Verbindungen für Webanwendungen
Bidirektionale Verbindungen für WebanwendungenBidirektionale Verbindungen für Webanwendungen
Bidirektionale Verbindungen für WebanwendungenMarco Rico Gomez
 
Ladezeiten Verbessern - Css Und JavaScript Komprimieren
Ladezeiten Verbessern - Css Und JavaScript KomprimierenLadezeiten Verbessern - Css Und JavaScript Komprimieren
Ladezeiten Verbessern - Css Und JavaScript KomprimierenJoomla! User Group Fulda
 
Performance Optimierung - Barrierefreiheit beginnt mit Ladezeiten
Performance Optimierung - Barrierefreiheit beginnt mit LadezeitenPerformance Optimierung - Barrierefreiheit beginnt mit Ladezeiten
Performance Optimierung - Barrierefreiheit beginnt mit LadezeitenDavid Maciejewski
 
Neos CMS - das Kompendium (Version 2.0.0)
Neos CMS - das Kompendium (Version 2.0.0)Neos CMS - das Kompendium (Version 2.0.0)
Neos CMS - das Kompendium (Version 2.0.0)die.agilen GmbH
 
WordPress- eine Einführung
WordPress- eine EinführungWordPress- eine Einführung
WordPress- eine EinführungJohannes Fruth
 
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
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 CoreGregor Biswanger
 
Varnish PHP Unconference Hamburg 2012
Varnish PHP Unconference Hamburg 2012Varnish PHP Unconference Hamburg 2012
Varnish PHP Unconference Hamburg 2012Florian Holzhauer
 

What's hot (20)

Wordpress für Profis
Wordpress für ProfisWordpress für Profis
Wordpress für Profis
 
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-Freaks
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
 
Baustein 07 grundlagen-html-css-php
Baustein 07 grundlagen-html-css-phpBaustein 07 grundlagen-html-css-php
Baustein 07 grundlagen-html-css-php
 
Typo3 und Varnish
Typo3 und VarnishTypo3 und Varnish
Typo3 und Varnish
 
PhpStorm 6 Configuration for TYPO3
PhpStorm 6 Configuration for TYPO3PhpStorm 6 Configuration for TYPO3
PhpStorm 6 Configuration for TYPO3
 
Was ist WordPress eigentlich?
Was ist WordPress eigentlich?Was ist WordPress eigentlich?
Was ist WordPress eigentlich?
 
WordPress für Einsteiger - Für wen eignet sich das CMS
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 CMS
 
Campixx 2012-ladezeit-extreme
Campixx 2012-ladezeit-extremeCampixx 2012-ladezeit-extreme
Campixx 2012-ladezeit-extreme
 
Dockerize It - Mit apex in die amazon cloud
Dockerize It - Mit apex in die amazon cloudDockerize It - Mit apex in die amazon cloud
Dockerize It - Mit apex in die amazon cloud
 
HTML5 und CSS3 - was jetzt schon möglich ist
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
 
WP-CLI - Das Kommandozeilen Interface für Wordpress
WP-CLI - Das Kommandozeilen Interface für WordpressWP-CLI - Das Kommandozeilen Interface für Wordpress
WP-CLI - Das Kommandozeilen Interface für Wordpress
 
MongoDB: Security-Tipps gegen Hacker
MongoDB: Security-Tipps gegen HackerMongoDB: Security-Tipps gegen Hacker
MongoDB: Security-Tipps gegen Hacker
 
Blogwerk WordPress für die Corporate Website
Blogwerk WordPress für die Corporate WebsiteBlogwerk WordPress für die Corporate Website
Blogwerk WordPress für die Corporate Website
 
Bidirektionale Verbindungen für Webanwendungen
Bidirektionale Verbindungen für WebanwendungenBidirektionale Verbindungen für Webanwendungen
Bidirektionale Verbindungen für Webanwendungen
 
Ladezeiten Verbessern - Css Und JavaScript Komprimieren
Ladezeiten Verbessern - Css Und JavaScript KomprimierenLadezeiten Verbessern - Css Und JavaScript Komprimieren
Ladezeiten Verbessern - Css Und JavaScript Komprimieren
 
Performance Optimierung - Barrierefreiheit beginnt mit Ladezeiten
Performance Optimierung - Barrierefreiheit beginnt mit LadezeitenPerformance Optimierung - Barrierefreiheit beginnt mit Ladezeiten
Performance Optimierung - Barrierefreiheit beginnt mit Ladezeiten
 
Neos CMS - das Kompendium (Version 2.0.0)
Neos CMS - das Kompendium (Version 2.0.0)Neos CMS - das Kompendium (Version 2.0.0)
Neos CMS - das Kompendium (Version 2.0.0)
 
WordPress- eine Einführung
WordPress- eine EinführungWordPress- eine Einführung
WordPress- eine Einführung
 
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
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
 
Varnish PHP Unconference Hamburg 2012
Varnish PHP Unconference Hamburg 2012Varnish PHP Unconference Hamburg 2012
Varnish PHP Unconference Hamburg 2012
 

Viewers also liked

Der WordPress Wolpertinger
Der WordPress WolpertingerDer WordPress Wolpertinger
Der WordPress Wolpertingerfrankstaude
 
Weniger aus Bilder holen
Weniger aus Bilder holenWeniger aus Bilder holen
Weniger aus Bilder holenWalter Ebert
 
Why being hacked turned out to be the best thing that happened to me
Why being hacked turned out to be the best thing that happened to me Why being hacked turned out to be the best thing that happened to me
Why being hacked turned out to be the best thing that happened to me Valentin Vesa
 
IT Certifications: What Are They Good For?
IT Certifications: What Are They Good For?IT Certifications: What Are They Good For?
IT Certifications: What Are They Good For?Thorsten Frommen
 
How (Not) to Write Testable Code
How (Not) to Write Testable CodeHow (Not) to Write Testable Code
How (Not) to Write Testable CodeThorsten Frommen
 
Podcasten ist Bloggen, nur mit der Stimme, WordCamp Nürnberg 2016
Podcasten ist Bloggen, nur mit der Stimme, WordCamp Nürnberg 2016Podcasten ist Bloggen, nur mit der Stimme, WordCamp Nürnberg 2016
Podcasten ist Bloggen, nur mit der Stimme, WordCamp Nürnberg 2016djrewerb
 
Die Zeit der Passwörter ist abgelaufen
Die Zeit der Passwörter ist abgelaufenDie Zeit der Passwörter ist abgelaufen
Die Zeit der Passwörter ist abgelaufenJoachim Hummel
 
Mythen der WordPress-Sicherheit (Barcamp Koblenz 2015)
Mythen der WordPress-Sicherheit (Barcamp Koblenz 2015)Mythen der WordPress-Sicherheit (Barcamp Koblenz 2015)
Mythen der WordPress-Sicherheit (Barcamp Koblenz 2015)libertello GmbH
 
WordPress-Templates mit Twig erstellen - PHPUGFFM
WordPress-Templates mit Twig erstellen - PHPUGFFMWordPress-Templates mit Twig erstellen - PHPUGFFM
WordPress-Templates mit Twig erstellen - PHPUGFFMWalter Ebert
 
WordPress SEO | Campixx 2016 | Hans Jung
WordPress SEO | Campixx 2016 | Hans JungWordPress SEO | Campixx 2016 | Hans Jung
WordPress SEO | Campixx 2016 | Hans JungHans Jung
 
Sicher bloggen mit WordPresse - CMS absichern
Sicher bloggen mit WordPresse - CMS absichernSicher bloggen mit WordPresse - CMS absichern
Sicher bloggen mit WordPresse - CMS absichernSven Trautwein
 
Wie Printformate auch in einer digitalen Welt überzeugen
Wie Printformate auch in einer digitalen Welt überzeugenWie Printformate auch in einer digitalen Welt überzeugen
Wie Printformate auch in einer digitalen Welt überzeugenEhrhardt Heinold
 
The Secret Sauce For Writing Reusable Code
The Secret Sauce For Writing Reusable CodeThe Secret Sauce For Writing Reusable Code
The Secret Sauce For Writing Reusable CodeAlain Schlesser
 
7 SEO Einsteiger-Tipps [SEODAY 2014, Felix Beilharz]
7 SEO Einsteiger-Tipps [SEODAY 2014, Felix Beilharz]7 SEO Einsteiger-Tipps [SEODAY 2014, Felix Beilharz]
7 SEO Einsteiger-Tipps [SEODAY 2014, Felix Beilharz]Felix Beilharz ✓
 
Kevin Indig - SEO and Growth Hacking
Kevin Indig - SEO and Growth HackingKevin Indig - SEO and Growth Hacking
Kevin Indig - SEO and Growth HackingKevin Indig
 
WordPress Security - WP Meetup München 24.9.2015
WordPress Security - WP Meetup München 24.9.2015WordPress Security - WP Meetup München 24.9.2015
WordPress Security - WP Meetup München 24.9.2015stk_jj
 
We are WP, we are legion - WP Camp 2013 Berlin
We are WP, we are legion - WP Camp 2013 BerlinWe are WP, we are legion - WP Camp 2013 Berlin
We are WP, we are legion - WP Camp 2013 Berlinstk_jj
 

Viewers also liked (20)

Der WordPress Wolpertinger
Der WordPress WolpertingerDer WordPress Wolpertinger
Der WordPress Wolpertinger
 
Weniger aus Bilder holen
Weniger aus Bilder holenWeniger aus Bilder holen
Weniger aus Bilder holen
 
Why being hacked turned out to be the best thing that happened to me
Why being hacked turned out to be the best thing that happened to me Why being hacked turned out to be the best thing that happened to me
Why being hacked turned out to be the best thing that happened to me
 
IT Certifications: What Are They Good For?
IT Certifications: What Are They Good For?IT Certifications: What Are They Good For?
IT Certifications: What Are They Good For?
 
How (Not) to Write Testable Code
How (Not) to Write Testable CodeHow (Not) to Write Testable Code
How (Not) to Write Testable Code
 
Podcasten ist Bloggen, nur mit der Stimme, WordCamp Nürnberg 2016
Podcasten ist Bloggen, nur mit der Stimme, WordCamp Nürnberg 2016Podcasten ist Bloggen, nur mit der Stimme, WordCamp Nürnberg 2016
Podcasten ist Bloggen, nur mit der Stimme, WordCamp Nürnberg 2016
 
Die Zeit der Passwörter ist abgelaufen
Die Zeit der Passwörter ist abgelaufenDie Zeit der Passwörter ist abgelaufen
Die Zeit der Passwörter ist abgelaufen
 
Mythen der WordPress-Sicherheit (Barcamp Koblenz 2015)
Mythen der WordPress-Sicherheit (Barcamp Koblenz 2015)Mythen der WordPress-Sicherheit (Barcamp Koblenz 2015)
Mythen der WordPress-Sicherheit (Barcamp Koblenz 2015)
 
WordPress-Templates mit Twig erstellen - PHPUGFFM
WordPress-Templates mit Twig erstellen - PHPUGFFMWordPress-Templates mit Twig erstellen - PHPUGFFM
WordPress-Templates mit Twig erstellen - PHPUGFFM
 
WordPress SEO | Campixx 2016 | Hans Jung
WordPress SEO | Campixx 2016 | Hans JungWordPress SEO | Campixx 2016 | Hans Jung
WordPress SEO | Campixx 2016 | Hans Jung
 
Moderne Webentwicklung
Moderne WebentwicklungModerne Webentwicklung
Moderne Webentwicklung
 
Das Child-Theme-Dilemma
Das Child-Theme-DilemmaDas Child-Theme-Dilemma
Das Child-Theme-Dilemma
 
Sicher bloggen mit WordPresse - CMS absichern
Sicher bloggen mit WordPresse - CMS absichernSicher bloggen mit WordPresse - CMS absichern
Sicher bloggen mit WordPresse - CMS absichern
 
Wie Printformate auch in einer digitalen Welt überzeugen
Wie Printformate auch in einer digitalen Welt überzeugenWie Printformate auch in einer digitalen Welt überzeugen
Wie Printformate auch in einer digitalen Welt überzeugen
 
The Secret Sauce For Writing Reusable Code
The Secret Sauce For Writing Reusable CodeThe Secret Sauce For Writing Reusable Code
The Secret Sauce For Writing Reusable Code
 
7 SEO Einsteiger-Tipps [SEODAY 2014, Felix Beilharz]
7 SEO Einsteiger-Tipps [SEODAY 2014, Felix Beilharz]7 SEO Einsteiger-Tipps [SEODAY 2014, Felix Beilharz]
7 SEO Einsteiger-Tipps [SEODAY 2014, Felix Beilharz]
 
Vortrag hot spot
Vortrag hot spotVortrag hot spot
Vortrag hot spot
 
Kevin Indig - SEO and Growth Hacking
Kevin Indig - SEO and Growth HackingKevin Indig - SEO and Growth Hacking
Kevin Indig - SEO and Growth Hacking
 
WordPress Security - WP Meetup München 24.9.2015
WordPress Security - WP Meetup München 24.9.2015WordPress Security - WP Meetup München 24.9.2015
WordPress Security - WP Meetup München 24.9.2015
 
We are WP, we are legion - WP Camp 2013 Berlin
We are WP, we are legion - WP Camp 2013 BerlinWe are WP, we are legion - WP Camp 2013 Berlin
We are WP, we are legion - WP Camp 2013 Berlin
 

Similar to Wordpress Security

Bestehende WordPress-Seiten auf Multisite migrieren
Bestehende WordPress-Seiten auf Multisite migrierenBestehende WordPress-Seiten auf Multisite migrieren
Bestehende WordPress-Seiten auf Multisite migrierenWalter Ebert
 
WordPress sicherer machen - Basics
WordPress sicherer machen - BasicsWordPress sicherer machen - Basics
WordPress sicherer machen - BasicsAndreas Rudorfer
 
Webanwendungen - Installation, Konfiguration und Administration
Webanwendungen - Installation, Konfiguration und AdministrationWebanwendungen - Installation, Konfiguration und Administration
Webanwendungen - Installation, Konfiguration und AdministrationThomas Siegers
 
Vortrag WordPress absichern beim Webmontag Hannover am 16.01.2017
Vortrag WordPress absichern beim Webmontag Hannover am 16.01.2017Vortrag WordPress absichern beim Webmontag Hannover am 16.01.2017
Vortrag WordPress absichern beim Webmontag Hannover am 16.01.2017TRILOS new media
 
Cloud Provisioning mit Juju
Cloud Provisioning mit JujuCloud Provisioning mit Juju
Cloud Provisioning mit JujuFrank Müller
 
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit VagrantDeployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit VagrantChristoph Möller
 
ownCloud - Meine Daten gehören mir!
ownCloud - Meine Daten gehören mir!ownCloud - Meine Daten gehören mir!
ownCloud - Meine Daten gehören mir!Björn Schießle
 
WordPress CMS - WebMontag Chemnitz Oktober 2011
WordPress CMS - WebMontag Chemnitz Oktober 2011WordPress CMS - WebMontag Chemnitz Oktober 2011
WordPress CMS - WebMontag Chemnitz Oktober 2011David Decker
 
Dockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdf
Dockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdfDockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdf
Dockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdfSyahri Ramadhan
 
WebDevOps Samson deployment
WebDevOps Samson deploymentWebDevOps Samson deployment
WebDevOps Samson deploymentMarkus Blaschke
 
Disk und Tape treffen auf Cloud - Launch-Webinar NovaBACKUP DataCenter 5.5
Disk und Tape treffen auf Cloud - Launch-Webinar NovaBACKUP DataCenter 5.5Disk und Tape treffen auf Cloud - Launch-Webinar NovaBACKUP DataCenter 5.5
Disk und Tape treffen auf Cloud - Launch-Webinar NovaBACKUP DataCenter 5.5NovaStor GmbH
 
Vagrant - Einführung & Verwendung
Vagrant - Einführung & VerwendungVagrant - Einführung & Verwendung
Vagrant - Einführung & VerwendungTilo Baller
 
Word Press Als Blog Und Cms O
Word Press Als Blog Und Cms OWord Press Als Blog Und Cms O
Word Press Als Blog Und Cms Osol777
 
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...
Secure Linux Administration Conference 2006: Linux Disaster Recovery mit ReaR...Schlomo Schapiro
 
Speedup your site mit Caching
Speedup your site mit CachingSpeedup your site mit Caching
Speedup your site mit Cachingwpmeetupka
 
Automatisierte Linux Administration mit (R)?ex
Automatisierte Linux Administration mit (R)?ex Automatisierte Linux Administration mit (R)?ex
Automatisierte Linux Administration mit (R)?ex Jan Gehring
 
Sicheres Root-Server Hosting mit Linux
Sicheres Root-Server Hosting mit LinuxSicheres Root-Server Hosting mit Linux
Sicheres Root-Server Hosting mit Linuxmarkusmarkert
 
MK2014 FileMaker Server 13 by Thomas Hahn
MK2014 FileMaker Server 13 by Thomas HahnMK2014 FileMaker Server 13 by Thomas Hahn
MK2014 FileMaker Server 13 by Thomas HahnVerein FM Konferenz
 
Ausrollen von Multi-Tier-Applikationen mit Docker
Ausrollen von Multi-Tier-Applikationen mit DockerAusrollen von Multi-Tier-Applikationen mit Docker
Ausrollen von Multi-Tier-Applikationen mit DockerB1 Systems GmbH
 

Similar to Wordpress Security (20)

Bestehende WordPress-Seiten auf Multisite migrieren
Bestehende WordPress-Seiten auf Multisite migrierenBestehende WordPress-Seiten auf Multisite migrieren
Bestehende WordPress-Seiten auf Multisite migrieren
 
WordPress sicherer machen - Basics
WordPress sicherer machen - BasicsWordPress sicherer machen - Basics
WordPress sicherer machen - Basics
 
Einführung in Docker
Einführung in DockerEinführung in Docker
Einführung in Docker
 
Webanwendungen - Installation, Konfiguration und Administration
Webanwendungen - Installation, Konfiguration und AdministrationWebanwendungen - Installation, Konfiguration und Administration
Webanwendungen - Installation, Konfiguration und Administration
 
Vortrag WordPress absichern beim Webmontag Hannover am 16.01.2017
Vortrag WordPress absichern beim Webmontag Hannover am 16.01.2017Vortrag WordPress absichern beim Webmontag Hannover am 16.01.2017
Vortrag WordPress absichern beim Webmontag Hannover am 16.01.2017
 
Cloud Provisioning mit Juju
Cloud Provisioning mit JujuCloud Provisioning mit Juju
Cloud Provisioning mit Juju
 
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit VagrantDeployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
 
ownCloud - Meine Daten gehören mir!
ownCloud - Meine Daten gehören mir!ownCloud - Meine Daten gehören mir!
ownCloud - Meine Daten gehören mir!
 
WordPress CMS - WebMontag Chemnitz Oktober 2011
WordPress CMS - WebMontag Chemnitz Oktober 2011WordPress CMS - WebMontag Chemnitz Oktober 2011
WordPress CMS - WebMontag Chemnitz Oktober 2011
 
Dockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdf
Dockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdfDockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdf
Dockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdf
 
WebDevOps Samson deployment
WebDevOps Samson deploymentWebDevOps Samson deployment
WebDevOps Samson deployment
 
Disk und Tape treffen auf Cloud - Launch-Webinar NovaBACKUP DataCenter 5.5
Disk und Tape treffen auf Cloud - Launch-Webinar NovaBACKUP DataCenter 5.5Disk und Tape treffen auf Cloud - Launch-Webinar NovaBACKUP DataCenter 5.5
Disk und Tape treffen auf Cloud - Launch-Webinar NovaBACKUP DataCenter 5.5
 
Vagrant - Einführung & Verwendung
Vagrant - Einführung & VerwendungVagrant - Einführung & Verwendung
Vagrant - Einführung & Verwendung
 
Word Press Als Blog Und Cms O
Word Press Als Blog Und Cms OWord Press Als Blog Und Cms O
Word Press Als Blog Und Cms O
 
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...
Secure Linux Administration Conference 2006: Linux Disaster Recovery mit ReaR...
 
Speedup your site mit Caching
Speedup your site mit CachingSpeedup your site mit Caching
Speedup your site mit Caching
 
Automatisierte Linux Administration mit (R)?ex
Automatisierte Linux Administration mit (R)?ex Automatisierte Linux Administration mit (R)?ex
Automatisierte Linux Administration mit (R)?ex
 
Sicheres Root-Server Hosting mit Linux
Sicheres Root-Server Hosting mit LinuxSicheres Root-Server Hosting mit Linux
Sicheres Root-Server Hosting mit Linux
 
MK2014 FileMaker Server 13 by Thomas Hahn
MK2014 FileMaker Server 13 by Thomas HahnMK2014 FileMaker Server 13 by Thomas Hahn
MK2014 FileMaker Server 13 by Thomas Hahn
 
Ausrollen von Multi-Tier-Applikationen mit Docker
Ausrollen von Multi-Tier-Applikationen mit DockerAusrollen von Multi-Tier-Applikationen mit Docker
Ausrollen von Multi-Tier-Applikationen mit Docker
 

Wordpress Security

  • 1. WORDPRESS SECURITY WORDCAMP NÜRNBERG 2016 Daniel Potthast
 @d_potthast#wcnbg
  • 2. WORDPRESS SECURITY AGENDA WORDPRESS SECURITY ▸ Aktuelle Lage ▸ Automatische Updates ▸ Zugriffsbeschränkung
  • 4. WORDPRESS SECURITY: AKTUELLE LAGE WORDPRESS AUF 26% ALLER INTERNETSEITEN1 ▸ Oftmals … ▸ … kein HTTPS für Backend (WP-Admin) ▸ … Standardbenutzer und einfache Passwörter ▸ … (zu viel) Plug-Ins aktiviert 1 http://w3techs.com/technologies/details/cm-wordpress/all/all
  • 5. WORDPRESS SECURITY: AKTUELLE LAGE RANSOMWARE BEFÄLLT AUCH WEBSERVER
  • 6. 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
  • 7. WORDPRESS SECURITY: AKTUELLE LAGE DER FALL MOSSACK FONSECA ▸ WordPress auf der Hauptseite ▸ Revolution Slider (Version 2.1.7)
 Zugriff auf Systemdateien und Zugangsdaten ▸ WP SMTP plugin
 Zugangsdaten des Mail-Servers im Klartext gespeichert → Gefahr durch veraltete Plug-Ins
 → Regelmäßig Updates und Security-Fixes installieren
 → Nicht mehr gepflegte Plug-Ins ersetzen https://www.wordfence.com/blog/2016/04/mossack-fonseca-breach-vulnerable-slider-revolution/
  • 9. 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
 → keinesfalls Lese- und Schreibrechte für „alle“ (777)
 → keine Absicherung bei Angriffen
  • 10. 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 755), Rechte Dateien (444)
 → PHP kann keine Dateien / Ordner schreiben
  • 11. 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
  • 12. 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)
  • 13. 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 755 {} ; find ./wordpress -type f -exec chmod 444 {} ; find ./wordpress/wp-content/cache -type f -exec chmod 644 {} ; find ./wordpress/wp-content/uploads -type f -exec chmod 644 {} ;
  • 14. 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
  • 15. WORDPRESS SECURITY: AUTOMATISIERTE UPDATES ÜBER DEN TELLERRAND ▸ Zusätzliche Überprüfung ▸ Tools wie WPScan suchen nach Schwachstellen
 http://wpscan.org/
  • 17. 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>
  • 18. 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>
  • 19. WORDPRESS SECURITY: ZUGRIFFSBESCHRÄNKUNG .HTACCESS-DATEIEN BEI APACHE-WEBSERVER ▸ Zugriff auf wp-config.php blockieren
 
 
 
 ▸ Zugriff auf .htaccess-Dateien blockieren <files ~ "^.*.([Hh][Tt][Aa])"> Order allow,deny Deny from all Satisfy all </files> <files wp-config.php> Order allow,deny Deny from all </files>
  • 20. WORDPRESS SECURITY: LEARNINGS ZUSAMMENFASSUNG ▸ Möglichst wenig (Schreib-) Rechte für Web-Server ▸ Updatebarkeit ist Schutz und Risiko gleichzeitig ▸ Regelmäßig externe Backups erstellen ▸ Dateien: ohne Schreibrechte für Web-Server ▸ Datenbank: komplette Dumps ▸ Veraltete Plug-Ins entfernen / ersetzen
  • 21. WORDPRESS SECURITY DANKE FÜR DIE AUFMERKSAMKEIT ▸ Daniel Potthast
 dp@sblum.de
 @d_potthast ▸ Präsentation
 ! https://sblum.de/wordcamp