top ten wordpress security tips for 2012

35
BY BRAD WILLIAMS

Upload: brad-williams

Post on 29-Jan-2015

105 views

Category:

Technology


0 download

DESCRIPTION

My list of the Top Ten W

TRANSCRIPT

Page 1: Top Ten WordPress Security Tips for 2012

BY BRAD WILLIAMS

Page 2: Top Ten WordPress Security Tips for 2012

Brad Williams

Co-Founder WebDevStudios.com Co-Author Professional WordPress & Professional WordPress Plugin Development Co-Organizer WordCamp Philly Co-Host WP Late Night

Page 3: Top Ten WordPress Security Tips for 2012

FOR WORDPRESS

Top Ten WordPress Security Tips

Page 4: Top Ten WordPress Security Tips for 2012

FOR WORDPRESS

1 Update Update Update

Keep WordPress Updated!

Minor WordPress versions ( ie 3.3.x ) do NOT add new features. They contain bug fixes and security patches

Page 5: Top Ten WordPress Security Tips for 2012

FOR WORDPRESS

1 Update Update Update

Update Those Plugins!

The plugin Changelog tab makes it very easy to view what has changed in a new plugin version

Page 6: Top Ten WordPress Security Tips for 2012

FOR WORDPRESS

1. Update Update Update

NO EXCUSES! UPDATE!

Page 7: Top Ten WordPress Security Tips for 2012

FOR WORDPRESS

2. Use Secret Keys

Some secrets should remain secrets

Page 8: Top Ten WordPress Security Tips for 2012

FOR WORDPRESS

2. Use Secret Keys

define('AUTH_KEY', 'put your unique phrase here'); define('SECURE_AUTH_KEY', 'put your unique phrase here'); define('LOGGED_IN_KEY', 'put your unique phrase here'); define('NONCE_KEY', 'put your unique phrase here'); define('AUTH_SALT', 'put your unique phrase here'); define('SECURE_AUTH_SALT', 'put your unique phrase here'); define('LOGGED_IN_SALT', 'put your unique phrase here'); define('NONCE_SALT', 'put your unique phrase here');

1. Edit wp-config.php

A secret key is a hashing salt which makes your site harder to hack by adding random elements to the cookies WordPress creates.

2. Visit this URL to get your secret keys: https://api.wordpress.org/secret-key/1.1/salt

BEFORE define('AUTH_KEY', '*8`:Balq!`,-j.JTl~sP%&>@ON,t(}S6)IG|nG1JIfY(,y=][-3$!N6be]-af|BD'); define('SECURE_AUTH_KEY', 'q+i-|3S~d?];6$[$!ZOXbw6c]0 !k/,UxOod>fqV!sWCkvBihF2#hI=CDt_}WaH1'); define('LOGGED_IN_KEY', 'D/QoRf{=&OC=CrT/^Zq}M9MPT&49^O}G+m2L{ItpX_jh(-I&-?pkeC_SaF0nw;m+'); define('NONCE_KEY', 'oJo8C&sc+ C7Yc,W1v o5}.FR,Zk!J<]vaCa%2D9nj8otj5z8UnJ_q.Q!hgpQ*-H'); define('AUTH_SALT', 'r>O/;U|xg~I5v.u(Nq+JMfYHk.*[p8!baAsb1DKa8.0}q/@V5snU1hV2eR!|whmt'); define('SECURE_AUTH_SALT', '3s1|cIj d7y<?]Z1n# i1^FQ *L(Kax)Y%r(mp[DUX.1a3!jv(;P_H6Q7|y.!7|-'); define('LOGGED_IN_SALT', '`@>+QdZhD!|AKk09*mr~-F]/F39Sxjl31FX8uw+wxUYI;U{NWx|y|+bKJ*4`uF`*'); define('NONCE_SALT', 'O+#iqcPw#]O4TcC%Kz_DAf:mK!Zy@Zt*Kmm^C25U|T!|?ldOf/l1TZ6Tw$9y[M/6');

AFTER

Page 9: Top Ten WordPress Security Tips for 2012

FOR WORDPRESS

Do you login with username admin?

Page 10: Top Ten WordPress Security Tips for 2012

FOR WORDPRESS

Page 11: Top Ten WordPress Security Tips for 2012

FOR WORDPRESS

3. Delete the Admin user account

UPDATE wp_users SET user_login='hulkster' WHERE user_login='admin';

Change the admin username in MySQL:

Or create a new account with administrator privileges. 1. Create a new account. Make the username very unique 2. Set account to Administrator role 3. Log out and log back in with new account 4. Delete admin account

WordPress will allow you to reassign all content written by admin to an account of your choice.

Page 12: Top Ten WordPress Security Tips for 2012

FOR WORDPRESS

3. Delete the Admin user account

WordPress lets you set the username during the

installation process!

DON'T USE ADMIN!

Page 13: Top Ten WordPress Security Tips for 2012

FOR WORDPRESS

3. Delete the Admin user account Knowing your

username is half the battle.

Don't make it easy on the

hackers.

Page 14: Top Ten WordPress Security Tips for 2012

FOR WORDPRESS

4. File and Folder Permissions

What folder permissions should you use?

Good Rule of Thumb:

• Files should be set to 644 • Folders should be set to 755

Start with the default settings above

If your host requires 777…SWITCH HOSTS!

Page 15: Top Ten WordPress Security Tips for 2012

FOR WORDPRESS

4. File and Folder Permissions

find [your path here] -type d -exec chmod 755 {} \;

find [your path here] -type f -exec chmod 644 {} \;

Or via SSH with the following commands

Page 16: Top Ten WordPress Security Tips for 2012

FOR WORDPRESS

5. Move wp-config.php WordPress features the ability to move the wp-config.php

file one directory above your WordPress root

This makes it nearly impossible for anyone to access your wp-config.php file from a browser as it now resides outside of your website’s root directory

You can move your wp-config.php file to here

WordPress automatically checks the parent directory if a wp-config.php file is not found in your root directory

public_html/wordpress/wp-config.php

If WordPress is located here:

public_html/wp-config.php

Page 17: Top Ten WordPress Security Tips for 2012

FOR WORDPRESS

6. Lock Down WP Login and WP Admin

Page 18: Top Ten WordPress Security Tips for 2012

FOR WORDPRESS

6. Lock Down WP Login and WP Admin

define('FORCE_SSL_LOGIN', true);

Add the code below to wp-config.php to force SSL (https) on login

Add the code below to wp-config.php to force SSL (https) on all admin pages

define('FORCE_SSL_ADMIN', true);

Using SSL (https) on all admin screens in WordPress will encrypt all data transmitted with the same encryption as online shopping

Page 19: Top Ten WordPress Security Tips for 2012

FOR WORDPRESS

6. Lock Down WP Login and WP Admin

AuthUserFile /dev/null AuthGroupFile /dev/null AuthName "Access Control" AuthType Basic order deny,allow deny from all #IP address to Whitelist allow from 67.123.83.59 allow from 123.123.123.*

1. Create an .htaccess file in your wp-admin directory

Only a user with the IP 67.123.83.59 or 123.123.123.* can access wp-admin

2. Add the following lines of code:

Page 20: Top Ten WordPress Security Tips for 2012

FOR WORDPRESS

7. Use Trusted Sources for Themes & Plugins

WPMU.org reviewed the top 10 results for “free wordpress themes” on Google.

Out of the ten sites reviewed 1. Safe: 1 2. Iffy: 1 3. Avoid: 8

Source: http://wpmu.org/why-you-should-never-search-for-free-wordpress-themes-in-google-or-anywhere-else/

Page 21: Top Ten WordPress Security Tips for 2012

FOR WORDPRESS

7. Use Trusted Sources for Themes & Plugins

Source: http://wpmu.org/why-you-should-never-search-for-free-wordpress-themes-in-google-or-anywhere-else/

The only safe site reviewed was WordPress.org

Most themes included base64() encoded text links to promote various servies

Page 22: Top Ten WordPress Security Tips for 2012

FOR WORDPRESS

8. Be Secure Locally Think of your local environment as if it was a medieval castle and you’re the queen or king. Your kingdom must be protected!

Keep your computer up to date

• Ensure you’re patching or installing updates ASAP

• Automatic updates rock!

Install an anti-virus solution

• Ensure you’re keeping definitions current

• Automatic updates aren’t a bad idea here either!

Yes, personal firewalls still apply!

Page 23: Top Ten WordPress Security Tips for 2012

FOR WORDPRESS

8. Be Secure Locally It’s your information, but who’s watching & listening? You may be a network geek at home, but what happens at Starbucks?

Your Internet Connection Use SSL whenever possible, especially on an unverified connection.

• HTTPS is a great way to ensure your transactions & traffic are traveling with security in mind.

Connecting To Your Site(s)

Consider using sFTP or SSH vs. FTP

•Still widely marketed, but did you know your credentials are passed unencrypted when using FTP?

•If unavoidable, do not allow anonymous logins, limit connections, practice least privilege.

•Don’t store your credentials in your FTP client.

Page 24: Top Ten WordPress Security Tips for 2012

FOR WORDPRESS

9. Use a Trusted Host

You get what you pay for…

Page 25: Top Ten WordPress Security Tips for 2012

FOR WORDPRESS

9. Use a Trusted Host

At the end of the day, hosting providers market the world. You in turn, should

have opportunity to know how they’re going to protect you.

Your Lovely Host

• Cheap doesn’t always mean best, or

safe!

• How many sites on their network are

blacklisted for malware reasons?

• What version of software do they run and

how often do they update?

• How are account credentials stored &

who has access?

Page 26: Top Ten WordPress Security Tips for 2012

FOR WORDPRESS

9. Use a Trusted Host

Only use a trusted host that clearly states their security policies.

Bonus points if they specialize in WordPress specific hosting!

Page 27: Top Ten WordPress Security Tips for 2012

FOR WORDPRESS

10. Use Common Sense

• Use a strong password

• BAD: bradisawesome

• GOOD: SCrEE79joLly$

• A=@, E=3, S=$, O=0 (This is not unique, they know this)

• Update passwords regularly (Monthly, make a schedule)

• Know your admins, limit number of accounts (WP, FTP, Hosting, etc)

• Backup, Backup, Backup (Use BackupBuddy for scheduled backups)

Page 28: Top Ten WordPress Security Tips for 2012

FOR WORDPRESS

Plugins & Services

Page 29: Top Ten WordPress Security Tips for 2012

FOR WORDPRESS

Login Lockdown

http://wordpress.org/extend/plugins/login-lockdown/

Page 30: Top Ten WordPress Security Tips for 2012

FOR WORDPRESS

BulletProof Security

http://wordpress.org/extend/plugins/bulletproof-security/

• .htaccess lockdown rules for various directories (root, wp-admin, etc)

• Security status scanner for folder/file permissions and file checks

• Very well documented

Page 31: Top Ten WordPress Security Tips for 2012

FOR WORDPRESS

Secure WordPress

http://wordpress.org/extend/plugins/secure-wordpress/

• Hides login error messages

• Adds index.php to /themes and /plugins to prevent directory listing

• Removes WP, plugin, and theme update notices for non-admins

• and more!

Page 32: Top Ten WordPress Security Tips for 2012

FOR WORDPRESS

Exploit Scanner

http://wordpress.org/extend/plugins/exploit-scanner/

• Scans your files and database for potentially malicious code

• Does not remove code, only detects it

Page 33: Top Ten WordPress Security Tips for 2012

FOR WORDPRESS

http://Sucuri.net

• Free Website Malware Scanner: http://sitecheck.sucuri.net/scanner/ • Website monitoring • Hack cleanup services • Sucuri Security Plugin

• Free to clients • Web Application Firewall • Integrity Monitoring • Auditing • Hardening

http://Sucuri.net

Page 34: Top Ten WordPress Security Tips for 2012

FOR WORDPRESS

• Security Related Articles • http://codex.wordpress.org/Hardening_WordPress • http://blog.sucuri.net/2012/04/lockdown-wordpress-a-security-webinar-with-dre-armeda.html • http://blog.sucuri.net/2012/04/ask-sucuri-how-to-stop-the-hacker-and-ensure-your-site-is-

locked.html • http://blog.sucuri.net/2012/04/ask-sucuri-what-should-i-know-when-engaging-a-web-

malware-company.html

• Clean a Hacked Site

• http://codex.wordpress.org/FAQ_My_site_was_hacked • http://www.marketingtechblog.com/wordpress-hacked/

• Support Forums

• Hacked: http://wordpress.org/tags/hacked • Malware: http://wordpress.org/tags/malware

Page 35: Top Ten WordPress Security Tips for 2012

Brad Williams [email protected] Blog: strangework.com Twitter: @williamsba IRC: WDS-Brad

Professional WordPress Second Edition coming December 2012!