Ryan Markel - WordCamp US 2017

R
#wpvipsec
Security, The VIP Way
Practical Approaches to WordPress Security
#wpvipsec
Hi, I’m Ryan.
• Long-time WordPress user

• Automattician

• WordPress.com VIP’er

• Support Engineer

• Previous talk: WCUS 2016
#wpvipsec
Questions? Tweet them out!
#wpvipsec
#wpvipsec
Let’s talk about security today.
#wpvipsec
Let’s keep it in plain terms.
#wpvipsec
When we talk about security,
what do we really mean?
#wpvipsec
“Security”
• You have sites

• They have intended purposes

• We want them to focus on those purposes and not be co-opted for other
means

• Preventing this co-opting of your sites is the starting point of security
#wpvipsec
Trust.
#wpvipsec
Your sites need trust.
#wpvipsec
Security protects that trust.
#wpvipsec
What are we securing against?
• Physical intrusion

• Code vulnerabilities

• Server (stack), application, customization

• Vulnerabilities (XSS, SQLi, escalations)

• Bad actors

• Human and not so human
#wpvipsec
Physical Intrusion
#wpvipsec
Physical Intrusion
#wpvipsec
Why aren’t we talking about physical security?
• Very few of us are managing/running our own datacenter(s)

• Physical security is almost always out of your direct control

• Any reputable hosting solution will have this covered for you
#wpvipsec
Code Vulnerabilities
#wpvipsec
Protecting Against Code Vulnerabilities
• Ensuring trusted packages are up-to-date (security releases)

• Controlling code access

• Protecting against unsafe changes
#wpvipsec
Security Updates
#wpvipsec
SECURITY UPDATES
#wpvipsec
Keeping Trusted Packages Secure
• Be aware of security releases for important stack software, plugins,
themes

• mailing lists, alerts, regular update checks, etc.

• Have a regular update schedule, or use automated updates

• Use checksums/trusted package managers when applicable!

• Be vigilant - security patches happen for a reason
#wpvipsec
Controlling Code Access
#wpvipsec
Code Review!
#wpvipsec
WordCamp US 2016 Presentation
https://ryanmarkel.com/wcus2016/
#wpvipsec
What to Look For in Code Review
• Validation, sanitizing, escaping

• Cross-site scripting vulnerabilities

• Smart fetching of remote data

• Outright nasty code - did someone access code who shouldn’t have?
#wpvipsec
How to Do Code Review
• Refer to last year’s presentation

• Biggest recent improvement: code review on GitHub

• Protected branches

• Use continuous integration tools and tests!

• No-one merges their own changes?

• Single-dev is both more and less dangerous
#wpvipsec
A note on plugin security.
#wpvipsec
Tide
#wpvipsec
Protecting Against Unsafe
Changes
#wpvipsec
Protecting Against Unsafe Changes
• Code review 😆

• Limiting access to your codebase

• Source control

• Use SSH key pairs, not passwords

• User security!
#wpvipsec
That was a segue!
#wpvipsec
Bad Actors
#wpvipsec
User Security
#wpvipsec
HTTP/HTTPS Interactions
#wpvipsec
HTTP/HTTPS Interactions
#wpvipsec
Every site needs a certificate.
#wpvipsec
Let’s Encrypt
https://letsencrypt.org
#wpvipsec
User Security
• Interactions with your instance via browser (generally)

• Login security

• Credentials

• Access levels

• Data security
#wpvipsec
Login Security
#wpvipsec
Forced Login Protection
• Repeated attempts by bad actors to test logins to your site

• Several pre-packaged service solutions available to help with this

• Jetpack Protect

• Sucuri

• Wordfence
#wpvipsec
Passwords are horrible.
#wpvipsec
Two-Step Authentication
• Twice as many steps!

• Requires access to a physical device

• Lots of good solutions

• Jetpack/WordPress.com SSO

• Authy

• Duo

• Best to use an app, not SMS

• Remind users to have their backup codes!
#wpvipsec
WordPress User Roles
#wpvipsec
The Administrator Role
#wpvipsec
Don’t have a lot of
Administrators.
#wpvipsec
Reducing Your Administrators
• Only give admin access to people who absolutely need it

• If there is a feature non-admins cannot access and want to:

• Do they really need it?

• Will it give them access to other things they should not have?

• Are they using two-step authentication?

• Consider experimenting with and using custom roles
#wpvipsec
Reducing the Damage Users Can Do
• Remember that admins can do EVERYTHING

• Consider custom code restricting or disabling some features:

• Code editors

• Site settings

• Load and activate plugins via code, not UI

• The default user system is great for a large number of WordPress sites,
but it might need some tweaking for your sites or projects
#wpvipsec
Data Security
#wpvipsec
Data Security
• Limit access to datastores as much as possible

• Limit access to any credentials you need to store as well

• Code review! Again!

• Observe best practices for local security for any local copy of your data
#wpvipsec
Have a plan for backups.
#wpvipsec
Backing Up Your Sites
• Database dumps

• sqldump + scripting

• Various backup plugins

• Backup installations

• Hosting provider backups

• What does your host provide?

• Using a “cloud” backup solution

• VaultPress
#wpvipsec
Contingency Planning
#wpvipsec
Hope for the best.
#wpvipsec
Plan for the worst.
#wpvipsec
Questions?
#wpvipsec
Thank you.
https://ryanmarkel.com/wcus2017/
#wpvipsec
Say hi!
• I’m around all WCUS!

• @ryanmarkel

• https://ryanmarkel.com/
1 of 55

Recommended

Ryan Markel - WordCamp StL 2016 - Code Review by
Ryan Markel - WordCamp StL 2016 - Code ReviewRyan Markel - WordCamp StL 2016 - Code Review
Ryan Markel - WordCamp StL 2016 - Code Reviewryanmarkel
3.3K views55 slides
WordCamp US 2016 - Ryan Markel: Code Review by
WordCamp US 2016 - Ryan Markel: Code ReviewWordCamp US 2016 - Ryan Markel: Code Review
WordCamp US 2016 - Ryan Markel: Code Reviewthemarkel
1.2K views55 slides
Debugging WordPress Core and Plugins! by
Debugging WordPress Core and Plugins!Debugging WordPress Core and Plugins!
Debugging WordPress Core and Plugins!Bronson Quick
1.2K views22 slides
Create a newsletter in less than 17 minutes without writing a single word by
Create a newsletter in less than 17 minutes without writing a single wordCreate a newsletter in less than 17 minutes without writing a single word
Create a newsletter in less than 17 minutes without writing a single wordNik Cree
2.1K views27 slides
WordPress as a Headless CMS - Bronson Quick by
WordPress as a Headless CMS - Bronson QuickWordPress as a Headless CMS - Bronson Quick
WordPress as a Headless CMS - Bronson QuickWordCamp Sydney
5.2K views21 slides
wp cli- don’t fear the command line by
wp cli- don’t fear the command linewp cli- don’t fear the command line
wp cli- don’t fear the command lineDwayne McDaniel
1.7K views34 slides

More Related Content

What's hot

WordPress Security : What We Learnt When We Were Hacked : WordCamp Mumbai 2017 by
WordPress Security : What We Learnt When We Were Hacked : WordCamp Mumbai 2017WordPress Security : What We Learnt When We Were Hacked : WordCamp Mumbai 2017
WordPress Security : What We Learnt When We Were Hacked : WordCamp Mumbai 2017Bhushan Jawle
5.9K views17 slides
Wordpress as a Backend by
Wordpress as a BackendWordpress as a Backend
Wordpress as a BackendAndrew Duthie
1.8K views22 slides
The swiss knife of a word press developer by
The swiss knife of a word press developerThe swiss knife of a word press developer
The swiss knife of a word press developerIvelina Dimova
1.5K views42 slides
Building the next generation of themes with WP Rig 2.0 by
Building the next generation of themes with WP Rig 2.0Building the next generation of themes with WP Rig 2.0
Building the next generation of themes with WP Rig 2.0Morten Rand-Hendriksen
7.6K views96 slides
Blazor v1.1 by
Blazor v1.1Blazor v1.1
Blazor v1.1Juan Luis Guerrero Minero
3.1K views39 slides
How to Build Custom WordPress Blocks by
How to Build Custom WordPress BlocksHow to Build Custom WordPress Blocks
How to Build Custom WordPress BlocksMorten Rand-Hendriksen
1.7K views38 slides

What's hot(20)

WordPress Security : What We Learnt When We Were Hacked : WordCamp Mumbai 2017 by Bhushan Jawle
WordPress Security : What We Learnt When We Were Hacked : WordCamp Mumbai 2017WordPress Security : What We Learnt When We Were Hacked : WordCamp Mumbai 2017
WordPress Security : What We Learnt When We Were Hacked : WordCamp Mumbai 2017
Bhushan Jawle5.9K views
Wordpress as a Backend by Andrew Duthie
Wordpress as a BackendWordpress as a Backend
Wordpress as a Backend
Andrew Duthie1.8K views
The swiss knife of a word press developer by Ivelina Dimova
The swiss knife of a word press developerThe swiss knife of a word press developer
The swiss knife of a word press developer
Ivelina Dimova1.5K views
The Ultimate WordPress Development Environment by Matt Geri
The Ultimate WordPress Development EnvironmentThe Ultimate WordPress Development Environment
The Ultimate WordPress Development Environment
Matt Geri1.2K views
Word press development for non developers by Jessica C. Gardner
Word press development for non developers Word press development for non developers
Word press development for non developers
Jessica C. Gardner1.8K views
Making websites with WordPress by Josh Lee
Making websites with WordPressMaking websites with WordPress
Making websites with WordPress
Josh Lee1.2K views
WordPress plugin development by arryaas
WordPress plugin developmentWordPress plugin development
WordPress plugin development
arryaas2.2K views
Websites for Hackers by Chris Antes
Websites for HackersWebsites for Hackers
Websites for Hackers
Chris Antes384 views
Introduction to git & WordPress by Josh Lee
Introduction to git & WordPressIntroduction to git & WordPress
Introduction to git & WordPress
Josh Lee1.1K views
WordPress Developer tools by Sudar Muthu
WordPress Developer toolsWordPress Developer tools
WordPress Developer tools
Sudar Muthu9.1K views
WordCamp Birmingham 2015 - Theme building workshop by Jonny Allbut
WordCamp Birmingham 2015 - Theme building workshopWordCamp Birmingham 2015 - Theme building workshop
WordCamp Birmingham 2015 - Theme building workshop
Jonny Allbut1.5K views
NodeSummit - MEAN Stack by Valeri Karpov
NodeSummit - MEAN StackNodeSummit - MEAN Stack
NodeSummit - MEAN Stack
Valeri Karpov4.1K views
Automate your WordPress Workflow with Grunt.js by Josh Lee
Automate your WordPress Workflow with Grunt.jsAutomate your WordPress Workflow with Grunt.js
Automate your WordPress Workflow with Grunt.js
Josh Lee2.8K views
Rapid WordPress theme development by Jonny Allbut
Rapid WordPress theme developmentRapid WordPress theme development
Rapid WordPress theme development
Jonny Allbut1.6K views

Similar to Ryan Markel - WordCamp US 2017

DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools by
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsAmazon Web Services
715 views53 slides
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools by
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsAmazon Web Services
8.2K views52 slides
How to Use WordPress in Unexpected Ways: Headless CMS, VR, and Augmented Real... by
How to Use WordPress in Unexpected Ways: Headless CMS, VR, and Augmented Real...How to Use WordPress in Unexpected Ways: Headless CMS, VR, and Augmented Real...
How to Use WordPress in Unexpected Ways: Headless CMS, VR, and Augmented Real...WP Engine
1.5K views33 slides
AppSec DC 2019 ASVS 4.0 Final.pptx by
AppSec DC 2019 ASVS 4.0 Final.pptxAppSec DC 2019 ASVS 4.0 Final.pptx
AppSec DC 2019 ASVS 4.0 Final.pptxJosh Grossman
55 views312 slides
AppSec DC 2019 ASVS 4.0 Final.pptx by
AppSec DC 2019 ASVS 4.0 Final.pptxAppSec DC 2019 ASVS 4.0 Final.pptx
AppSec DC 2019 ASVS 4.0 Final.pptxTuynNguyn819213
19 views312 slides
Webinar: Security Mindset for WordPress by
Webinar: Security Mindset for WordPressWebinar: Security Mindset for WordPress
Webinar: Security Mindset for WordPressWP Engine
774 views16 slides

Similar to Ryan Markel - WordCamp US 2017(20)

DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools by Amazon Web Services
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools by Amazon Web Services
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
Amazon Web Services8.2K views
How to Use WordPress in Unexpected Ways: Headless CMS, VR, and Augmented Real... by WP Engine
How to Use WordPress in Unexpected Ways: Headless CMS, VR, and Augmented Real...How to Use WordPress in Unexpected Ways: Headless CMS, VR, and Augmented Real...
How to Use WordPress in Unexpected Ways: Headless CMS, VR, and Augmented Real...
WP Engine1.5K views
AppSec DC 2019 ASVS 4.0 Final.pptx by Josh Grossman
AppSec DC 2019 ASVS 4.0 Final.pptxAppSec DC 2019 ASVS 4.0 Final.pptx
AppSec DC 2019 ASVS 4.0 Final.pptx
Josh Grossman55 views
Webinar: Security Mindset for WordPress by WP Engine
Webinar: Security Mindset for WordPressWebinar: Security Mindset for WordPress
Webinar: Security Mindset for WordPress
WP Engine774 views
WordPress Security and Best Practices by Robert Vidal
WordPress Security and Best PracticesWordPress Security and Best Practices
WordPress Security and Best Practices
Robert Vidal1.1K views
Put yourself in the #appsec pipeline by Paolo Perego
Put yourself in the #appsec pipelinePut yourself in the #appsec pipeline
Put yourself in the #appsec pipeline
Paolo Perego133 views
Demystifying Web Application Security - JSFoo 2018 by shyamsesh
Demystifying Web Application Security - JSFoo 2018Demystifying Web Application Security - JSFoo 2018
Demystifying Web Application Security - JSFoo 2018
shyamsesh161 views
Seven Jobs You Should Be Running #sqlsat126 by Mike Hillwig
Seven Jobs You Should Be Running #sqlsat126Seven Jobs You Should Be Running #sqlsat126
Seven Jobs You Should Be Running #sqlsat126
Mike Hillwig562 views
Quality code in wordpress by Ran Bar-Zik
Quality code in wordpressQuality code in wordpress
Quality code in wordpress
Ran Bar-Zik515 views
Plugin Safety Check - How to Ensure Your Plugin Gets Approved by Atlassian
Plugin Safety Check - How to Ensure Your Plugin Gets ApprovedPlugin Safety Check - How to Ensure Your Plugin Gets Approved
Plugin Safety Check - How to Ensure Your Plugin Gets Approved
Atlassian632 views
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools by Amazon Web Services
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
Amazon Web Services1.4K views
The business case for contributing code by Zivtech, LLC
The business case for contributing codeThe business case for contributing code
The business case for contributing code
Zivtech, LLC428 views
Building Blocks of Secure Development: How to Make Open Source Work for You by SBWebinars
Building Blocks of Secure Development: How to Make Open Source Work for YouBuilding Blocks of Secure Development: How to Make Open Source Work for You
Building Blocks of Secure Development: How to Make Open Source Work for You
SBWebinars53 views
Making DevSecOps a Reality in your Spring Applications by Hdiv Security
Making DevSecOps a Reality in your Spring ApplicationsMaking DevSecOps a Reality in your Spring Applications
Making DevSecOps a Reality in your Spring Applications
Hdiv Security234 views
Microservices; A Quick Introduction by Abouzar Noori
Microservices; A Quick IntroductionMicroservices; A Quick Introduction
Microservices; A Quick Introduction
Abouzar Noori112 views
eMusic: WordPress in the Enterprise by Scott Taylor
eMusic: WordPress in the EnterpriseeMusic: WordPress in the Enterprise
eMusic: WordPress in the Enterprise
Scott Taylor2K views

Recently uploaded

40th TWNIC OPM: On LEOs (Low Earth Orbits) and Starlink Download by
40th TWNIC OPM: On LEOs (Low Earth Orbits) and Starlink Download40th TWNIC OPM: On LEOs (Low Earth Orbits) and Starlink Download
40th TWNIC OPM: On LEOs (Low Earth Orbits) and Starlink DownloadAPNIC
159 views30 slides
ARNAB12.pdf by
ARNAB12.pdfARNAB12.pdf
ARNAB12.pdfArnabChakraborty499766
5 views83 slides
the internet.pptx by
the internet.pptxthe internet.pptx
the internet.pptxSrihariJena
6 views9 slides
WITS Deck by
WITS DeckWITS Deck
WITS DeckW.I.T.S.
37 views22 slides
40th TWNIC Open Policy Meeting: A quick look at QUIC by
40th TWNIC Open Policy Meeting: A quick look at QUIC40th TWNIC Open Policy Meeting: A quick look at QUIC
40th TWNIC Open Policy Meeting: A quick look at QUICAPNIC
152 views20 slides
cis5-Project-11a-Harry Lai by
cis5-Project-11a-Harry Laicis5-Project-11a-Harry Lai
cis5-Project-11a-Harry Laiharrylai126
9 views11 slides

Recently uploaded(15)

40th TWNIC OPM: On LEOs (Low Earth Orbits) and Starlink Download by APNIC
40th TWNIC OPM: On LEOs (Low Earth Orbits) and Starlink Download40th TWNIC OPM: On LEOs (Low Earth Orbits) and Starlink Download
40th TWNIC OPM: On LEOs (Low Earth Orbits) and Starlink Download
APNIC159 views
WITS Deck by W.I.T.S.
WITS DeckWITS Deck
WITS Deck
W.I.T.S.37 views
40th TWNIC Open Policy Meeting: A quick look at QUIC by APNIC
40th TWNIC Open Policy Meeting: A quick look at QUIC40th TWNIC Open Policy Meeting: A quick look at QUIC
40th TWNIC Open Policy Meeting: A quick look at QUIC
APNIC152 views
cis5-Project-11a-Harry Lai by harrylai126
cis5-Project-11a-Harry Laicis5-Project-11a-Harry Lai
cis5-Project-11a-Harry Lai
harrylai1269 views
Liberando a produccion con confidencia.pdf by Andres Almiray
Liberando a produccion con confidencia.pdfLiberando a produccion con confidencia.pdf
Liberando a produccion con confidencia.pdf
Andres Almiray8 views
Cracking the Code Decoding Leased Line Quotes for Connectivity Excellence.pptx by LeasedLinesQuote
Cracking the Code Decoding Leased Line Quotes for Connectivity Excellence.pptxCracking the Code Decoding Leased Line Quotes for Connectivity Excellence.pptx
Cracking the Code Decoding Leased Line Quotes for Connectivity Excellence.pptx
40th TWNIC Open Policy Meeting: APNIC PDP update by APNIC
40th TWNIC Open Policy Meeting: APNIC PDP update40th TWNIC Open Policy Meeting: APNIC PDP update
40th TWNIC Open Policy Meeting: APNIC PDP update
APNIC151 views
ATPMOUSE_융합2조.pptx by kts120898
ATPMOUSE_융합2조.pptxATPMOUSE_융합2조.pptx
ATPMOUSE_융합2조.pptx
kts12089835 views
The Dark Web : Hidden Services by Anshu Singh
The Dark Web : Hidden ServicesThe Dark Web : Hidden Services
The Dark Web : Hidden Services
Anshu Singh23 views
Penetration Testing for Cybersecurity Professionals by 211 Check
Penetration Testing for Cybersecurity ProfessionalsPenetration Testing for Cybersecurity Professionals
Penetration Testing for Cybersecurity Professionals
211 Check52 views

Ryan Markel - WordCamp US 2017