Steve Grunwell / @stevegrunwell
Play along at home! stevegrunwell.github.io/wordpress-security-basics
Major releases have version numbers like 4.1 and usually contain new features and functionality.
Point releases (4.0.1) fix bugs and patch security holes.
Remember: if core upgrades break your site, it's most likely the theme or plugin that's broken, not core!
Scripts and botnets normally target "admin" as it's a default user with full privileges
Removing the default username from your site drastically reduces your risk of "drive-by" attacks
Security through obscurity…
Your mileage with all-in-one plugins may vary
WordPress allows you to move your wp-content/ directory to another location
// Absolute server path define( 'WP_CONTENT_DIR', dirname( __FILE__ ) . '/content' ); // No trailing slash! define( 'WP_CONTENT_URL', 'http://example.com/content' );
Another example of security through obscurity
WordPress constant that will disable the plugin and theme editors
define( 'DISALLOW_FILE_EDIT', true );
…or disable everything, including the plugin installer
define( 'DISALLOW_FILE_MODS', true );
This will break automatic updates!
Force WordPress to serve login pages over SSL:
define( 'FORCE_SSL_LOGIN', true );
Serve all admin and login pages over SSL:
define( 'FORCE_SSL_ADMIN', true );
Of course, this requires that your site has SSL enabled
Steve GrunwellSenior Web Engineer, 10upstevegrunwell.com@stevegrunwell