SlideShare a Scribd company logo
1 of 42
Download to read offline
WORDPRESS
SECURITY 101
what is important
– and what is not
WordCamp Manchester 2016
Otto Kekäläinen
Seravo.com
@ottokekalainen
DEFINITION OF
INFORMATION SECURITY
1. Confidentiality
2. Integrity
3. Availability
You must keep your
WordPress site secure.
POTENTIAL CONSEQUENCES
● Corrupted orders database: webshop unable to ship anything or
resolve payments
● Leaked customer database: angry customers, lawsuit for neglect of
privacy laws
● Visitors get redirected to shady sites: lost reputation, marketing
budget goes in vain
● Site spreads malware: Google might detect and ban from showing up
in search results
● Site sends spam: could become blacklisted and legit email stops
working
“BUT MY SITE IS NOT IMPORTANT!”
Your site can be used to mount further attacks!
If you have clearly neglected the maintenance
of your own site, you could be held partly liable
for attacks on other sites.
What is REALLY important
in keeping your WordPress
site secure?
AVENUES OF
UNAUTHORISED ACCESS:
1. Leaked passwords
2. Software vulnerabilities
LEAKED PASSWORDS
Remember password hygiene
seravo.fi/2014/password-hygiene-every-mans-responsibility
HTTPS, SFTP, SSH
Never submit passwords over an unencrypted
connection!
Enforce HTTPS in WordPress
1. Your server needs to support HTTPS
2. Enforce in wp-config.php with:
define('FORCE_SSL_ADMIN', true);
Use captcha
to avoid robot users
Google reCaptcha recommended
SOFTWARE VULNERABILITIES
MINIMIZE VULNERABILITIES
1. Minimize the attack surface by minimizing the amount of
software you have
2. For the software you really need, make sure you have
updated to latest releases
HOW SECURE IS WORDPRESS CORE?
Security bugs per
1000 lines of code
written
All time: 0,1
(204 CVE entries per
2,1 million lines of
code)
In 2015: 0,05
(11 CVE entries per
236 000 lines of code)
WORDPRESS CORE
IS SECURE.
THE PROBLEM IS THE PLUGINS.
Combined
core, plugin
and theme
vulnerability
database:
wpvulndb.com
Example case: Mossack Fonseca aka Panama papers
● The site www.mossfon.com was running WordPress
● Unauthorized access of WP lead to unauthorized access of MS Exchange
email server on internal network and other sites at *.mossfon.com
● The intruders most likely came through an old and insecure version of the
Revolution Slider plugin.
○ Well known vulnerability, WordPress.org even has a patch as a separate plugin
(https://wordpress.org/plugins/patch-for-revolution-slider/) as Revolution Slider itself is not
available at WordPress.org.
Example case: Mossack Fonseca aka Panama papers
● Case analysis at
https://www.wordfence.com/blog/2016/04/mossack-fonseca-breach-vulner
able-slider-revolution/
WP PLUGIN REVIEW GUIDELINES FOR
CAPITALISTS*
If the logo is red and
name contains revolution,
don’t install it on your system!
* a small dose of parody can’t hurt?
PLUGIN SECURITY
1. Minimize the attack surface by minimizing the amount of
plugins (and themes) you have
2. For the plugins you really need, make sure you have
updated to latest releases
You will not minimize vulnerabilities
by installing more plugins!
WordPress is
insecure!
Quickly, install a
security plugin!
NO
DON’T WASTE TIME ON
● removing generator meta or hiding version numbers
● hiding login errors
● changing wp-admin location
● disabling xmlrpc
● removing readme.html or other files
Only for WP geeks who love to research the pros and cons.
For normal users WordPress default settings are secure.
FALSE SENSE
OF SECURITY
Feels like a lot has been done
when really very little has.
Example: useless readme.html blocking = don’t!
Example: useless readme.html blocking
Versions leak anyway
Example: useless readme.html blocking
Disclaimer:
WordFence was used just as an example. It still the best guy in town.
Many other security plugins are much worse.
..and other WordPress integrity checks trigger
SECURITY PLUGINS ARE NOT THE SOLUTION
Scan results require interpretation. Recommended only for professionals.
The only recommended ones:
WPScan and Google Webmaster Tools
Almost no false positives and no business model based on spreading fear.
IF YOU RUN YOUR OWN SERVER
Also remember to harden and keep updated
● operating system
● web server
● database server
● PHP environment
INSTALL ONLY FROM TRUSTED SOURCES
Avoid random 3rd party repositories that don’t have any maintenance policy.
PROTECTION AGAINST DDOS
What if the problem is not unauthorized access but the
lack of authorized access?
DENIAL OF SERVICE ATTACKS
Detect, withstand and block
● high performance servers and good caching
● detect repeated offenders and block at network level
○ e.g. failtoban + iptables
● detect and block at http level
○ e.g. Nginx rate limiting
● If you are trying to block at PHP/WordPress level, you’ve already lost
DDOS is a constant race of new techniques of attack and defence. Try to find a
good hosting provider that takes care of DDOS at least on the network level.
BACKUP AND RECOVERY
Because some day,
sooner or later,
everything else fails.
BACKUP GUIDELINES 1/2
Make sure your backup system meets these requirements
● automatic: not dependant on human action
● complete: both files and database
● incremental with a history: at least 30 days
● frequent: daily is good
BACKUP GUIDELINES 2/2
● offsite: in case access to the original site is lost
● pull, not push: original site should not have access to the backups,
otherwise an attacker can delete both the original site and all backups
Personal favourite: mysqldump + rdiff-backup over SSH
ONCE MORE WITH A FEELING
WORDPRESS SECURITY 101
1. Always follow password hygiene.
2. Use captchas to stall robot users.
3. Use HTTPS (and SFTP and SSH) – never submit passwords in plain
text on any network connection.
4. Remove unnecessary software to reduce attack surface.
5. Keep WordPress plugins and all other software too updated to have
all known vulnerability fixes installed.
6. Install software and update only from trusted sources.
7. Have a good backups system in place.
8. Choose a good service provider and trust them to take care of the
rest.
THANK YOU!
SERAVO.COM
wordpress@seravo.com
@Seravocom
@ottokekalainen

More Related Content

Viewers also liked

Koodikerho: ohjelmointia alakouluissa
Koodikerho: ohjelmointia alakouluissaKoodikerho: ohjelmointia alakouluissa
Koodikerho: ohjelmointia alakouluissaOtto Kekäläinen
 
Koodikerho PEPE Pajapäivä 6.9.2016
Koodikerho PEPE Pajapäivä 6.9.2016Koodikerho PEPE Pajapäivä 6.9.2016
Koodikerho PEPE Pajapäivä 6.9.2016Otto Kekäläinen
 
MariaDB Foundation presentation and membership info
MariaDB Foundation presentation and membership infoMariaDB Foundation presentation and membership info
MariaDB Foundation presentation and membership infoOtto Kekäläinen
 
WordPress Security 101 – WordCamp Finland 2016 presentation by Otto Kekäläine...
WordPress Security 101 – WordCamp Finland 2016 presentation by Otto Kekäläine...WordPress Security 101 – WordCamp Finland 2016 presentation by Otto Kekäläine...
WordPress Security 101 – WordCamp Finland 2016 presentation by Otto Kekäläine...Otto Kekäläinen
 
Find WordPress performance bottlenecks with XDebug PHP profiling
Find WordPress performance bottlenecks with XDebug PHP profilingFind WordPress performance bottlenecks with XDebug PHP profiling
Find WordPress performance bottlenecks with XDebug PHP profilingOtto Kekäläinen
 
Less passwords, more security: unix socket authentication and other MariaDB h...
Less passwords, more security: unix socket authentication and other MariaDB h...Less passwords, more security: unix socket authentication and other MariaDB h...
Less passwords, more security: unix socket authentication and other MariaDB h...Otto Kekäläinen
 
Koodikerho opettaa lapsille ohjelmointia (Virtuaaliopetuksen päivät 2015)
Koodikerho opettaa lapsille ohjelmointia (Virtuaaliopetuksen päivät 2015)Koodikerho opettaa lapsille ohjelmointia (Virtuaaliopetuksen päivät 2015)
Koodikerho opettaa lapsille ohjelmointia (Virtuaaliopetuksen päivät 2015)Otto Kekäläinen
 

Viewers also liked (8)

Koodikerho: ohjelmointia alakouluissa
Koodikerho: ohjelmointia alakouluissaKoodikerho: ohjelmointia alakouluissa
Koodikerho: ohjelmointia alakouluissa
 
Koodikerho PEPE Pajapäivä 6.9.2016
Koodikerho PEPE Pajapäivä 6.9.2016Koodikerho PEPE Pajapäivä 6.9.2016
Koodikerho PEPE Pajapäivä 6.9.2016
 
MariaDB Foundation presentation and membership info
MariaDB Foundation presentation and membership infoMariaDB Foundation presentation and membership info
MariaDB Foundation presentation and membership info
 
WordPress Security 101 – WordCamp Finland 2016 presentation by Otto Kekäläine...
WordPress Security 101 – WordCamp Finland 2016 presentation by Otto Kekäläine...WordPress Security 101 – WordCamp Finland 2016 presentation by Otto Kekäläine...
WordPress Security 101 – WordCamp Finland 2016 presentation by Otto Kekäläine...
 
Find WordPress performance bottlenecks with XDebug PHP profiling
Find WordPress performance bottlenecks with XDebug PHP profilingFind WordPress performance bottlenecks with XDebug PHP profiling
Find WordPress performance bottlenecks with XDebug PHP profiling
 
Less passwords, more security: unix socket authentication and other MariaDB h...
Less passwords, more security: unix socket authentication and other MariaDB h...Less passwords, more security: unix socket authentication and other MariaDB h...
Less passwords, more security: unix socket authentication and other MariaDB h...
 
Git best practices 2016
Git best practices 2016Git best practices 2016
Git best practices 2016
 
Koodikerho opettaa lapsille ohjelmointia (Virtuaaliopetuksen päivät 2015)
Koodikerho opettaa lapsille ohjelmointia (Virtuaaliopetuksen päivät 2015)Koodikerho opettaa lapsille ohjelmointia (Virtuaaliopetuksen päivät 2015)
Koodikerho opettaa lapsille ohjelmointia (Virtuaaliopetuksen päivät 2015)
 

More from Otto Kekäläinen

FOSDEM2021: MariaDB post-release quality assurance in Debian and Ubuntu
FOSDEM2021: MariaDB post-release quality assurance in Debian and UbuntuFOSDEM2021: MariaDB post-release quality assurance in Debian and Ubuntu
FOSDEM2021: MariaDB post-release quality assurance in Debian and UbuntuOtto Kekäläinen
 
Search in WordPress - how it works and howto customize it
Search in WordPress - how it works and howto customize itSearch in WordPress - how it works and howto customize it
Search in WordPress - how it works and howto customize itOtto Kekäläinen
 
MariaDB quality assurance in Debian and Ubuntu
MariaDB quality assurance in Debian and UbuntuMariaDB quality assurance in Debian and Ubuntu
MariaDB quality assurance in Debian and UbuntuOtto Kekäläinen
 
DebConf 2020: What’s New in MariaDB Server 10.5 and Galera 4?
DebConf 2020: What’s New in MariaDB Server 10.5 and Galera 4?DebConf 2020: What’s New in MariaDB Server 10.5 and Galera 4?
DebConf 2020: What’s New in MariaDB Server 10.5 and Galera 4?Otto Kekäläinen
 
Technical SEO for WordPress - 2019 edition
Technical SEO for WordPress - 2019 editionTechnical SEO for WordPress - 2019 edition
Technical SEO for WordPress - 2019 editionOtto Kekäläinen
 
The 5 most common reasons for a slow WordPress site and how to fix them – ext...
The 5 most common reasons for a slow WordPress site and how to fix them – ext...The 5 most common reasons for a slow WordPress site and how to fix them – ext...
The 5 most common reasons for a slow WordPress site and how to fix them – ext...Otto Kekäläinen
 
How MariaDB packaging uses Salsa-CI to ensure smooth upgrades and avoid regre...
How MariaDB packaging uses Salsa-CI to ensure smooth upgrades and avoid regre...How MariaDB packaging uses Salsa-CI to ensure smooth upgrades and avoid regre...
How MariaDB packaging uses Salsa-CI to ensure smooth upgrades and avoid regre...Otto Kekäläinen
 
DebConf 2019 MariaDB packaging in Debian BoF
DebConf 2019 MariaDB packaging in Debian BoFDebConf 2019 MariaDB packaging in Debian BoF
DebConf 2019 MariaDB packaging in Debian BoFOtto Kekäläinen
 
The 5 most common reasons for a slow WordPress site and how to fix them
The 5 most common reasons for a slow WordPress site and how to fix themThe 5 most common reasons for a slow WordPress site and how to fix them
The 5 most common reasons for a slow WordPress site and how to fix themOtto Kekäläinen
 
How to investigate and recover from a security breach in WordPress
How to investigate and recover from a security breach in WordPressHow to investigate and recover from a security breach in WordPress
How to investigate and recover from a security breach in WordPressOtto Kekäläinen
 
Automatic testing and quality assurance for WordPress plugins and themes
Automatic testing and quality assurance for WordPress plugins and themesAutomatic testing and quality assurance for WordPress plugins and themes
Automatic testing and quality assurance for WordPress plugins and themesOtto Kekäläinen
 
10 things every developer should know about their database to run word press ...
10 things every developer should know about their database to run word press ...10 things every developer should know about their database to run word press ...
10 things every developer should know about their database to run word press ...Otto Kekäläinen
 
Automatic testing and quality assurance for WordPress plugins
Automatic testing and quality assurance for WordPress pluginsAutomatic testing and quality assurance for WordPress plugins
Automatic testing and quality assurance for WordPress pluginsOtto Kekäläinen
 
Improving WordPress performance (xdebug and profiling)
Improving WordPress performance (xdebug and profiling)Improving WordPress performance (xdebug and profiling)
Improving WordPress performance (xdebug and profiling)Otto Kekäläinen
 
WordPress-tietoturvan perusteet
WordPress-tietoturvan perusteetWordPress-tietoturvan perusteet
WordPress-tietoturvan perusteetOtto Kekäläinen
 
Technical SEO for WordPress - 2017 edition
Technical SEO for WordPress - 2017 editionTechnical SEO for WordPress - 2017 edition
Technical SEO for WordPress - 2017 editionOtto Kekäläinen
 
Improving WordPress Performance with Xdebug and PHP Profiling
Improving WordPress Performance with Xdebug and PHP ProfilingImproving WordPress Performance with Xdebug and PHP Profiling
Improving WordPress Performance with Xdebug and PHP ProfilingOtto Kekäläinen
 
MariaDB adoption in Linux distributions and development environments
MariaDB adoption in Linux distributions and development environmentsMariaDB adoption in Linux distributions and development environments
MariaDB adoption in Linux distributions and development environmentsOtto Kekäläinen
 
DebConf16 BoF on MariaDB/MySQL packaging
DebConf16 BoF on MariaDB/MySQL packagingDebConf16 BoF on MariaDB/MySQL packaging
DebConf16 BoF on MariaDB/MySQL packagingOtto Kekäläinen
 

More from Otto Kekäläinen (20)

FOSDEM2021: MariaDB post-release quality assurance in Debian and Ubuntu
FOSDEM2021: MariaDB post-release quality assurance in Debian and UbuntuFOSDEM2021: MariaDB post-release quality assurance in Debian and Ubuntu
FOSDEM2021: MariaDB post-release quality assurance in Debian and Ubuntu
 
Search in WordPress - how it works and howto customize it
Search in WordPress - how it works and howto customize itSearch in WordPress - how it works and howto customize it
Search in WordPress - how it works and howto customize it
 
MariaDB quality assurance in Debian and Ubuntu
MariaDB quality assurance in Debian and UbuntuMariaDB quality assurance in Debian and Ubuntu
MariaDB quality assurance in Debian and Ubuntu
 
DebConf 2020: What’s New in MariaDB Server 10.5 and Galera 4?
DebConf 2020: What’s New in MariaDB Server 10.5 and Galera 4?DebConf 2020: What’s New in MariaDB Server 10.5 and Galera 4?
DebConf 2020: What’s New in MariaDB Server 10.5 and Galera 4?
 
Technical SEO for WordPress - 2019 edition
Technical SEO for WordPress - 2019 editionTechnical SEO for WordPress - 2019 edition
Technical SEO for WordPress - 2019 edition
 
The 5 most common reasons for a slow WordPress site and how to fix them – ext...
The 5 most common reasons for a slow WordPress site and how to fix them – ext...The 5 most common reasons for a slow WordPress site and how to fix them – ext...
The 5 most common reasons for a slow WordPress site and how to fix them – ext...
 
How MariaDB packaging uses Salsa-CI to ensure smooth upgrades and avoid regre...
How MariaDB packaging uses Salsa-CI to ensure smooth upgrades and avoid regre...How MariaDB packaging uses Salsa-CI to ensure smooth upgrades and avoid regre...
How MariaDB packaging uses Salsa-CI to ensure smooth upgrades and avoid regre...
 
DebConf 2019 MariaDB packaging in Debian BoF
DebConf 2019 MariaDB packaging in Debian BoFDebConf 2019 MariaDB packaging in Debian BoF
DebConf 2019 MariaDB packaging in Debian BoF
 
The 5 most common reasons for a slow WordPress site and how to fix them
The 5 most common reasons for a slow WordPress site and how to fix themThe 5 most common reasons for a slow WordPress site and how to fix them
The 5 most common reasons for a slow WordPress site and how to fix them
 
How to investigate and recover from a security breach in WordPress
How to investigate and recover from a security breach in WordPressHow to investigate and recover from a security breach in WordPress
How to investigate and recover from a security breach in WordPress
 
Technical SEO for WordPress
Technical SEO for WordPressTechnical SEO for WordPress
Technical SEO for WordPress
 
Automatic testing and quality assurance for WordPress plugins and themes
Automatic testing and quality assurance for WordPress plugins and themesAutomatic testing and quality assurance for WordPress plugins and themes
Automatic testing and quality assurance for WordPress plugins and themes
 
10 things every developer should know about their database to run word press ...
10 things every developer should know about their database to run word press ...10 things every developer should know about their database to run word press ...
10 things every developer should know about their database to run word press ...
 
Automatic testing and quality assurance for WordPress plugins
Automatic testing and quality assurance for WordPress pluginsAutomatic testing and quality assurance for WordPress plugins
Automatic testing and quality assurance for WordPress plugins
 
Improving WordPress performance (xdebug and profiling)
Improving WordPress performance (xdebug and profiling)Improving WordPress performance (xdebug and profiling)
Improving WordPress performance (xdebug and profiling)
 
WordPress-tietoturvan perusteet
WordPress-tietoturvan perusteetWordPress-tietoturvan perusteet
WordPress-tietoturvan perusteet
 
Technical SEO for WordPress - 2017 edition
Technical SEO for WordPress - 2017 editionTechnical SEO for WordPress - 2017 edition
Technical SEO for WordPress - 2017 edition
 
Improving WordPress Performance with Xdebug and PHP Profiling
Improving WordPress Performance with Xdebug and PHP ProfilingImproving WordPress Performance with Xdebug and PHP Profiling
Improving WordPress Performance with Xdebug and PHP Profiling
 
MariaDB adoption in Linux distributions and development environments
MariaDB adoption in Linux distributions and development environmentsMariaDB adoption in Linux distributions and development environments
MariaDB adoption in Linux distributions and development environments
 
DebConf16 BoF on MariaDB/MySQL packaging
DebConf16 BoF on MariaDB/MySQL packagingDebConf16 BoF on MariaDB/MySQL packaging
DebConf16 BoF on MariaDB/MySQL packaging
 

WordPress security 101 (WordCamp Manchester 2016)

  • 1. WORDPRESS SECURITY 101 what is important – and what is not WordCamp Manchester 2016 Otto Kekäläinen Seravo.com @ottokekalainen
  • 2. DEFINITION OF INFORMATION SECURITY 1. Confidentiality 2. Integrity 3. Availability
  • 3. You must keep your WordPress site secure.
  • 4. POTENTIAL CONSEQUENCES ● Corrupted orders database: webshop unable to ship anything or resolve payments ● Leaked customer database: angry customers, lawsuit for neglect of privacy laws ● Visitors get redirected to shady sites: lost reputation, marketing budget goes in vain ● Site spreads malware: Google might detect and ban from showing up in search results ● Site sends spam: could become blacklisted and legit email stops working
  • 5. “BUT MY SITE IS NOT IMPORTANT!” Your site can be used to mount further attacks! If you have clearly neglected the maintenance of your own site, you could be held partly liable for attacks on other sites.
  • 6. What is REALLY important in keeping your WordPress site secure?
  • 7. AVENUES OF UNAUTHORISED ACCESS: 1. Leaked passwords 2. Software vulnerabilities
  • 10. HTTPS, SFTP, SSH Never submit passwords over an unencrypted connection!
  • 11. Enforce HTTPS in WordPress 1. Your server needs to support HTTPS 2. Enforce in wp-config.php with: define('FORCE_SSL_ADMIN', true);
  • 12. Use captcha to avoid robot users Google reCaptcha recommended
  • 14. MINIMIZE VULNERABILITIES 1. Minimize the attack surface by minimizing the amount of software you have 2. For the software you really need, make sure you have updated to latest releases
  • 15. HOW SECURE IS WORDPRESS CORE? Security bugs per 1000 lines of code written All time: 0,1 (204 CVE entries per 2,1 million lines of code) In 2015: 0,05 (11 CVE entries per 236 000 lines of code)
  • 17. THE PROBLEM IS THE PLUGINS.
  • 19. Example case: Mossack Fonseca aka Panama papers ● The site www.mossfon.com was running WordPress ● Unauthorized access of WP lead to unauthorized access of MS Exchange email server on internal network and other sites at *.mossfon.com ● The intruders most likely came through an old and insecure version of the Revolution Slider plugin. ○ Well known vulnerability, WordPress.org even has a patch as a separate plugin (https://wordpress.org/plugins/patch-for-revolution-slider/) as Revolution Slider itself is not available at WordPress.org.
  • 20. Example case: Mossack Fonseca aka Panama papers ● Case analysis at https://www.wordfence.com/blog/2016/04/mossack-fonseca-breach-vulner able-slider-revolution/
  • 21. WP PLUGIN REVIEW GUIDELINES FOR CAPITALISTS* If the logo is red and name contains revolution, don’t install it on your system! * a small dose of parody can’t hurt?
  • 22. PLUGIN SECURITY 1. Minimize the attack surface by minimizing the amount of plugins (and themes) you have 2. For the plugins you really need, make sure you have updated to latest releases You will not minimize vulnerabilities by installing more plugins!
  • 24. NO
  • 25.
  • 26. DON’T WASTE TIME ON ● removing generator meta or hiding version numbers ● hiding login errors ● changing wp-admin location ● disabling xmlrpc ● removing readme.html or other files Only for WP geeks who love to research the pros and cons. For normal users WordPress default settings are secure.
  • 27. FALSE SENSE OF SECURITY Feels like a lot has been done when really very little has.
  • 28. Example: useless readme.html blocking = don’t!
  • 29. Example: useless readme.html blocking Versions leak anyway
  • 30. Example: useless readme.html blocking Disclaimer: WordFence was used just as an example. It still the best guy in town. Many other security plugins are much worse. ..and other WordPress integrity checks trigger
  • 31. SECURITY PLUGINS ARE NOT THE SOLUTION Scan results require interpretation. Recommended only for professionals.
  • 32. The only recommended ones: WPScan and Google Webmaster Tools Almost no false positives and no business model based on spreading fear.
  • 33. IF YOU RUN YOUR OWN SERVER Also remember to harden and keep updated ● operating system ● web server ● database server ● PHP environment
  • 34. INSTALL ONLY FROM TRUSTED SOURCES Avoid random 3rd party repositories that don’t have any maintenance policy.
  • 35. PROTECTION AGAINST DDOS What if the problem is not unauthorized access but the lack of authorized access?
  • 36. DENIAL OF SERVICE ATTACKS Detect, withstand and block ● high performance servers and good caching ● detect repeated offenders and block at network level ○ e.g. failtoban + iptables ● detect and block at http level ○ e.g. Nginx rate limiting ● If you are trying to block at PHP/WordPress level, you’ve already lost DDOS is a constant race of new techniques of attack and defence. Try to find a good hosting provider that takes care of DDOS at least on the network level.
  • 37. BACKUP AND RECOVERY Because some day, sooner or later, everything else fails.
  • 38. BACKUP GUIDELINES 1/2 Make sure your backup system meets these requirements ● automatic: not dependant on human action ● complete: both files and database ● incremental with a history: at least 30 days ● frequent: daily is good
  • 39. BACKUP GUIDELINES 2/2 ● offsite: in case access to the original site is lost ● pull, not push: original site should not have access to the backups, otherwise an attacker can delete both the original site and all backups Personal favourite: mysqldump + rdiff-backup over SSH
  • 40. ONCE MORE WITH A FEELING
  • 41. WORDPRESS SECURITY 101 1. Always follow password hygiene. 2. Use captchas to stall robot users. 3. Use HTTPS (and SFTP and SSH) – never submit passwords in plain text on any network connection. 4. Remove unnecessary software to reduce attack surface. 5. Keep WordPress plugins and all other software too updated to have all known vulnerability fixes installed. 6. Install software and update only from trusted sources. 7. Have a good backups system in place. 8. Choose a good service provider and trust them to take care of the rest.