SlideShare ist ein Scribd-Unternehmen logo
1 von 55
Downloaden Sie, um offline zu lesen
#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/

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

WordPress Security : What We Learnt When We Were Hacked : WordCamp Mumbai 2017
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
 
Wordpress as a Backend
Wordpress as a BackendWordpress as a Backend
Wordpress as a Backend
 
The swiss knife of a word press developer
The swiss knife of a word press developerThe swiss knife of a word press developer
The swiss knife of a word press developer
 
Building the next generation of themes with WP Rig 2.0
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.0
 
Blazor v1.1
Blazor v1.1Blazor v1.1
Blazor v1.1
 
How to Build Custom WordPress Blocks
How to Build Custom WordPress BlocksHow to Build Custom WordPress Blocks
How to Build Custom WordPress Blocks
 
The Ultimate WordPress Development Environment
The Ultimate WordPress Development EnvironmentThe Ultimate WordPress Development Environment
The Ultimate WordPress Development Environment
 
Word press development for non developers
Word press development for non developers Word press development for non developers
Word press development for non developers
 
Making websites with WordPress
Making websites with WordPressMaking websites with WordPress
Making websites with WordPress
 
WordPress plugin development
WordPress plugin developmentWordPress plugin development
WordPress plugin development
 
Websites for Hackers
Websites for HackersWebsites for Hackers
Websites for Hackers
 
DevDay 2018 - Blazor
DevDay 2018 - BlazorDevDay 2018 - Blazor
DevDay 2018 - Blazor
 
Introduction to git & WordPress
Introduction to git & WordPressIntroduction to git & WordPress
Introduction to git & WordPress
 
WordPress Developer tools
WordPress Developer toolsWordPress Developer tools
WordPress Developer tools
 
WordCamp Birmingham 2015 - Theme building workshop
WordCamp Birmingham 2015 - Theme building workshopWordCamp Birmingham 2015 - Theme building workshop
WordCamp Birmingham 2015 - Theme building workshop
 
NodeSummit - MEAN Stack
NodeSummit - MEAN StackNodeSummit - MEAN Stack
NodeSummit - MEAN Stack
 
Automate your WordPress Workflow with Grunt.js
Automate your WordPress Workflow with Grunt.jsAutomate your WordPress Workflow with Grunt.js
Automate your WordPress Workflow with Grunt.js
 
Rapid WordPress theme development
Rapid WordPress theme developmentRapid WordPress theme development
Rapid WordPress theme development
 
The MEAN Stack
The MEAN StackThe MEAN Stack
The MEAN Stack
 
Blazor - An Introduction
Blazor - An IntroductionBlazor - An Introduction
Blazor - An Introduction
 

Ähnlich wie Ryan Markel - WordCamp US 2017

Put yourself in the #appsec pipeline
Put yourself in the #appsec pipelinePut yourself in the #appsec pipeline
Put yourself in the #appsec pipeline
Paolo Perego
 
The business case for contributing code
The business case for contributing codeThe business case for contributing code
The business case for contributing code
Zivtech, LLC
 

Ähnlich wie Ryan Markel - WordCamp US 2017 (20)

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 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
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
 
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...
How to Use WordPress in Unexpected Ways: Headless CMS, VR, and Augmented Real...
 
AppSec DC 2019 ASVS 4.0 Final.pptx
AppSec DC 2019 ASVS 4.0 Final.pptxAppSec DC 2019 ASVS 4.0 Final.pptx
AppSec DC 2019 ASVS 4.0 Final.pptx
 
AppSec DC 2019 ASVS 4.0 Final.pptx
AppSec DC 2019 ASVS 4.0 Final.pptxAppSec DC 2019 ASVS 4.0 Final.pptx
AppSec DC 2019 ASVS 4.0 Final.pptx
 
Webinar: Security Mindset for WordPress
Webinar: Security Mindset for WordPressWebinar: Security Mindset for WordPress
Webinar: Security Mindset for WordPress
 
WordPress Security and Best Practices
WordPress Security and Best PracticesWordPress Security and Best Practices
WordPress Security and Best Practices
 
Put yourself in the #appsec pipeline
Put yourself in the #appsec pipelinePut yourself in the #appsec pipeline
Put yourself in the #appsec pipeline
 
Demystifying Web Application Security - JSFoo 2018
Demystifying Web Application Security - JSFoo 2018Demystifying Web Application Security - JSFoo 2018
Demystifying Web Application Security - JSFoo 2018
 
My tryst with sourcecode review
My tryst with sourcecode reviewMy tryst with sourcecode review
My tryst with sourcecode review
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
 
Seven Jobs You Should Be Running #sqlsat126
Seven Jobs You Should Be Running #sqlsat126Seven Jobs You Should Be Running #sqlsat126
Seven Jobs You Should Be Running #sqlsat126
 
Quality code in wordpress
Quality code in wordpressQuality code in wordpress
Quality code in wordpress
 
Plugin Safety Check - How to Ensure Your Plugin Gets Approved
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
 
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 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
 
The business case for contributing code
The business case for contributing codeThe business case for contributing code
The business case for contributing code
 
Building Blocks of Secure Development: How to Make Open Source Work for You
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
 
Making DevSecOps a Reality in your Spring Applications
Making DevSecOps a Reality in your Spring ApplicationsMaking DevSecOps a Reality in your Spring Applications
Making DevSecOps a Reality in your Spring Applications
 
Microservices; A Quick Introduction
Microservices; A Quick IntroductionMicroservices; A Quick Introduction
Microservices; A Quick Introduction
 
eMusic: WordPress in the Enterprise
eMusic: WordPress in the EnterpriseeMusic: WordPress in the Enterprise
eMusic: WordPress in the Enterprise
 

Kürzlich hochgeladen

Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu DhabiAbu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Monica Sydney
 
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
JOHNBEBONYAP1
 
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsRussian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Monica Sydney
 
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
gajnagarg
 
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsRussian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Monica Sydney
 
Indian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi EscortsIndian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Monica Sydney
 
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
ydyuyu
 
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
pxcywzqs
 

Kürzlich hochgeladen (20)

Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac RoomVip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
 
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
 
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu DhabiAbu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
 
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
 
Mira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
Mira Road Housewife Call Girls 07506202331, Nalasopara Call GirlsMira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
Mira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
 
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime NagercoilNagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
 
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime BalliaBallia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
 
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
 
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsRussian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
 
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf
 
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsRussian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
 
Indian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi EscortsIndian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
 
Local Call Girls in Seoni 9332606886 HOT & SEXY Models beautiful and charmin...
Local Call Girls in Seoni  9332606886 HOT & SEXY Models beautiful and charmin...Local Call Girls in Seoni  9332606886 HOT & SEXY Models beautiful and charmin...
Local Call Girls in Seoni 9332606886 HOT & SEXY Models beautiful and charmin...
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirt
 
Call girls Service in Ajman 0505086370 Ajman call girls
Call girls Service in Ajman 0505086370 Ajman call girlsCall girls Service in Ajman 0505086370 Ajman call girls
Call girls Service in Ajman 0505086370 Ajman call girls
 
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
 
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
 

Ryan Markel - WordCamp US 2017