An Introduction to WordPress          Security         WordCamp Detroit     November 12th - 13th, 2011
David Wilemski                @davidwilemskidavidwilemski.com        github.com/davidwilemski
The Goal: Staying Afloat                           photo by Flickr user davidesimonetti
WordPress Security● Raise the security bar● Plugins and services● Disaster recovery
Vulnerabilities                  photo by Flickr user misterbisson
Drive by exploits ● Most attacks arent targeted ● Little time per site ● Known exploits
timthumb.php exploit ● Common image library used in WP themes ● Exploited poor error checking ● Arbitrary code executionht...
Password Brute-forcing ● Automated attack on a user account ● Takes time, will show up in logs ● Some evidence of scripts ...
Raising The Bar                  photo by Flickr user Mike_tn
Change Database Table Prefix● Defaults to "wp_"● Use anything else● Makes SQL injection a little more difficult
Delete admin user● In WP Dashboard create a new administrative user● Log in as the new user, delete the original user● Som...
Use SSL (HTTPS) in wp-admin● Encrypts traffic to your site● Stops attackers from reading your traffic or stealing your  lo...
File Permissions ● Only as loose as required, NOT more ● Recommended 755 for directories and 644 for fileshttp://codex.wor...
Change wp-config.php secrets● Security keys used for setting various cookies and internal  crypto properties● Changing the...
● Bonus: IP restrict wp-admin ● Use .htaccess to restrict access to the dashboard ● If your public IP address changes you ...
Unlimited Power                  photo by Flickr user Frank.Li
Limit Login Attempts ● Rate limits failed login attempts ● Can hinder brute force attacks ● Notifies in case of too many f...
Duo WordPress● Two-factor authentication for your WordPress site●● Protects from account take over
Duo Push Notificationhttp://wordpress.org/extend/plugins/duo-wordpress/
Emergency Preparedness                     photo by Flickr user doisespressos
Backups!● Backup your WP database regularly (and the site files)!● Do them, test them!● Plugins: WP-DB-Backup or PressBack...
Disaster Recovery                    photo by Flickr user born1945
Restore your site● Dont just try to clean the site● You could miss hidden backdoors● Backup the infected site for later an...
Protect your online identity ● Change your passwords to your database and WP user   accounts ● Check your computer for mal...
Investigate the attack ● Consider checking up the backed up copy of your site ● If the attack is made via a flaw in WP, fi...
Overwhelmed yet?                   photo by Flickr user andresthor
VaultPress● Paid service offered by Automattic to backup, scan, and  protect your WordPress website● Makes it easy to rest...
Once more● Your site can be better protected with just a little effort● Its all about raising the bar!● Backups, backups, ...
Thank You!Questions? David Wilemski @davidwilemski
Upcoming SlideShare
Loading in...5
×

Word camp2011 introwordpresssecurity

1,487

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,487
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Word camp2011 introwordpresssecurity

  1. 1. An Introduction to WordPress Security WordCamp Detroit November 12th - 13th, 2011
  2. 2. David Wilemski @davidwilemskidavidwilemski.com github.com/davidwilemski
  3. 3. The Goal: Staying Afloat photo by Flickr user davidesimonetti
  4. 4. WordPress Security● Raise the security bar● Plugins and services● Disaster recovery
  5. 5. Vulnerabilities photo by Flickr user misterbisson
  6. 6. Drive by exploits ● Most attacks arent targeted ● Little time per site ● Known exploits
  7. 7. timthumb.php exploit ● Common image library used in WP themes ● Exploited poor error checking ● Arbitrary code executionhttp://markmaunder.com/2011/08/01/zero-day-vulnerability-in-many-wordpress-themes/
  8. 8. Password Brute-forcing ● Automated attack on a user account ● Takes time, will show up in logs ● Some evidence of scripts that are distributed across multiple nodeshttp://isc.sans.edu/diary.html?storyid=7663
  9. 9. Raising The Bar photo by Flickr user Mike_tn
  10. 10. Change Database Table Prefix● Defaults to "wp_"● Use anything else● Makes SQL injection a little more difficult
  11. 11. Delete admin user● In WP Dashboard create a new administrative user● Log in as the new user, delete the original user● Some scripts are programmed to target admin
  12. 12. Use SSL (HTTPS) in wp-admin● Encrypts traffic to your site● Stops attackers from reading your traffic or stealing your login cookies● Check with your hosting provider to see if you have support● Can be a self-signed certificate if you are the only one using wp-admin
  13. 13. File Permissions ● Only as loose as required, NOT more ● Recommended 755 for directories and 644 for fileshttp://codex.wordpress.org/Hardening_WordPress#File_Permissions
  14. 14. Change wp-config.php secrets● Security keys used for setting various cookies and internal crypto properties● Changing them will just cause any logged in user to need to re-authenticate● Use the generator: https://api.wordpress.org/secret-key/1.1/salt/
  15. 15. ● Bonus: IP restrict wp-admin ● Use .htaccess to restrict access to the dashboard ● If your public IP address changes you will get locked out of WP and need to edit the .htaccess via FTP or shell accesshttp://httpd.apache.org/docs/2.2/mod/mod_authz_host.html
  16. 16. Unlimited Power photo by Flickr user Frank.Li
  17. 17. Limit Login Attempts ● Rate limits failed login attempts ● Can hinder brute force attacks ● Notifies in case of too many failureshttp://wordpress.org/extend/plugins/limit-login-attempts/
  18. 18. Duo WordPress● Two-factor authentication for your WordPress site●● Protects from account take over
  19. 19. Duo Push Notificationhttp://wordpress.org/extend/plugins/duo-wordpress/
  20. 20. Emergency Preparedness photo by Flickr user doisespressos
  21. 21. Backups!● Backup your WP database regularly (and the site files)!● Do them, test them!● Plugins: WP-DB-Backup or PressBackup http://wordpress.org/extend/plugins/pressbackup/ http://wordpress.org/extend/plugins/wp-db-backup/
  22. 22. Disaster Recovery photo by Flickr user born1945
  23. 23. Restore your site● Dont just try to clean the site● You could miss hidden backdoors● Backup the infected site for later analysis● Restore from a known good backup
  24. 24. Protect your online identity ● Change your passwords to your database and WP user accounts ● Check your computer for malware ● Update your site and plugins
  25. 25. Investigate the attack ● Consider checking up the backed up copy of your site ● If the attack is made via a flaw in WP, file a bug or inform the mailing list http://ottopress.com/2011/how-to-cope-with-a-hacked-site/ http://codex.wordpress.org/FAQ_My_site_was_hacked
  26. 26. Overwhelmed yet? photo by Flickr user andresthor
  27. 27. VaultPress● Paid service offered by Automattic to backup, scan, and protect your WordPress website● Makes it easy to restore site backups● Worth it if you dont have the time or want to manage things yourself
  28. 28. Once more● Your site can be better protected with just a little effort● Its all about raising the bar!● Backups, backups, backups!
  29. 29. Thank You!Questions? David Wilemski @davidwilemski
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×