Book Image

WordPress 3 Ultimate Security

Book Image

WordPress 3 Ultimate Security

Overview of this book

Most likely – today – some hacker tried to crack your WordPress site, its data and content – maybe once but, with automated tools, very likely dozens or hundreds of times. There's no silver bullet but if you want to cut the odds of a successful attack from practically inevitable to practically zero, read this book. WordPress 3 Ultimate Security shows you how to hack your site before someone else does. You'll uncover its weaknesses before sealing them off, securing your content and your day-to-day local-to-remote editorial process. This is more than some "10 Tips ..." guide. It's ultimate protection – because that's what you need. Survey your network, using the insight from this book to scan for and seal the holes before galvanizing the network with a rack of cool tools. Solid! The WordPress platform is only as safe as the weakest network link, administrator discipline, and your security knowledge. We'll cover the bases, underpinning your working process from any location, containing content, locking down the platform, your web files, the database, and the server. With that done, your ongoing security is infinitely more manageable. Covering deep-set security yet enjoyable to read, WordPress 3 Ultimate Security will multiply your understanding and fortify your site.
Table of Contents (23 chapters)
WordPress 3 Ultimate Security
Credits
About the Author
Acknowledgement
About the Reviewers
www.PacktPub.com
Preface
Index

Containing MySQL databases


MySQL tends not to be the problem.

Take a malicious POST query in a form field. If the page has been properly coded it's blocked or, if not, then not. PHP is the firewall (scary thought!) and MySQL relies on it.

Nonetheless, there are some best practices and, if all else fails, containment strategies:

  • Give MySQL's root user a supreme unique passphrase

  • Have individual databases for individual WordPress installations

  • For WordPress Multisite, share the database, sites having their own tables

  • Give any db a unique administrator, not root, with a unique password

  • Grant database users the minimum possible privileges

Checking for empty passwords

Run this statement from your MySQL root account:

mysql > SELECT user, host, password FROM mysql.user;

If there are any gaps, create passwords for root and do the same, else delete other users.

Deleting the test database

MySQL comes shipped with a test database that poses a small risk. Remove like so:

mysql > DROP DATABASE test;

Remote db...