2 Killer WordPress Security Plugins You Probably Don’t Know About

Sun, Oct 18, 2009

WordPress

If you’ve been following my blog for awhile I’m sure it’s clear to you that I like toying with WordPress; unfortunately, there are those out there who like toying with other people’s WordPress as well.

People’s blogs get hacked on a daily basis. A simple Google search for my blog was hacked returns 2,620,000 results.

I tend to think of blog security like the progression of driving a car through the years.

At 16 when you’re new to driving a car, you know driving a car safely is good, but you don’t do it. Instead, teens tend to drive more carelessly than older more seasoned drivers. However, the one time one of these teens get in a serious car accident, all of a sudden a light bulb turns on and they realize just how dangerous it is to drive carelessly.

The problem is, the process keeps washing its hands and repeating itself. As that teen ages, new teens begin driving and take to the roads, and can you guess how they drive?

The same holds for blogging. When newbies begin blogging either they don’t know the statistics of blog security or they don’t think it’ll ever happen to them. Then one day if they do get hacked, all of a sudden blog security becomes an issue. If, however, they are lucky enough to not get hacked early on (i.e. as they age), they begin to realize blog security is becoming more and more important since they have a lot more to lose (posts, comments, design, etc.).

2 WordPress Security Plugins You Should Consider

1. Chap Secure Login

In order to log into WordPress, you need to enter in a username and password. The problem is, unless you log in through a SSL connection (tutorial post coming soon), this information is sent through the Internet unprotected and can be seen by snooping eyes.

That’s where the Chap Secure Login plugin comes in.

Chap stands for Challenge Handshake Authentication Protocol and what it does is encrypt your password through the use of the MD5 hashing algorithm in JavaScript so that it is sent to your web host in a secured manner.

Whenever possible, I suggest logging into your WordPress blog through SSL, but if that’s not an option for you, I highly suggest using this plugin; and the best part is, there’s no configuring, just upload and install the plugin and you’re all set.

2. WordPress File Monitor

Securing WordPress is great, but as I’ve mentioned before it’s impossible to completely secure WordPress 100%. Just as important as securing your WordPress from being hacked in the first place is knowing when your blog has been hacked.

Matt Walters developed an excellent file monitoring plugin, called WordPress File Monitor, which will monitor all your files for any alterations made to them.

Many times WordPress crackers will attempt to insert vicious viruses or spam links directly into your WordPress files. These viruses can be designed to do just about anything they want, including downloading viruses to your website’s visitor’s computers.

The WordPress File Monitor plugin monitors each of your files for changes that occur inside them. So, say for example, someone uploads malicious code to your footer.php file, the WordPress File Monitor plugin would capture that change and email you that a change has occurred. There’s also notification in your Dashboard.

Once notified, you can head over to that file and check for anything suspicious.

As a bonus, this plugin can also be configured to monitor and report changes to files outside of your WordPress directory. This is a huge bonus for those of you who run a static HTML website for your home page and have WordPress installed in a separate directory, like /blog.

Here’s a couple screen shots from this plugin:

file-monitor-dashboard-warning

wordpress-file-monitor

Have you thought about blog security lately?

How would you feel if one day you found your blog has been cracked into?

Would you be prepared to deal with the problem and make your blog right?

If you’re interested in keeping up to date with the latest in blog security, WordPress, and my own personal blogging tips, you can subscribe to my RSS feed here. Also, if you’re interested in locking down your WordPress blog and add some security features to it, I can do that for you.

Related posts:
  1. 50+ Wordpress Plugins & Hacks Candy Store
  2. WordPress Security: The First Thing You Should Understand
  3. Increase Your WordPress Blog’s Security By Running It Through SSL
  4. 2 Easy Ways To Set Up A WordPress Firewall
  5. How To Fully Backup WordPress Anytime With Just A Few Clicks

, , ,

Want to say thank you? View my Wish List...

17 Responses to “2 Killer WordPress Security Plugins You Probably Don’t Know About”

  1. Betsy Wuebker Says:

    Hi John – Are these two plug-ins part of the security features you typically install for your clients? It seems they cover the most vulnerable points of entry (the WP login and the file/database system). Are there any others we should guard? Thanks.
    Betsy Wuebker´s last blog ..LOCAVORES, MORE AND MORE My ComLuv Profile

  2. John Hoff Says:

    Hi Betsy, I’ve recently discovered these plugins so I don’t think these were installed on your blog. If you like, I’ll plug ‘em in for you. Just let me know. In fact, your comment has inspired me to email other clients to inform them as well, too.

    As far as other guards, even better than the Chaps plugin is if you login and connect to your Dashboard through SSL, that way your entire session is encrypted. Areas which you might want to include are the login page, users and profile page, where a user will change a password. I’ll talk more about that soon.

    As I recall, you have these set up, but it’s important to have the WordPress Security Keys set up as well. Those basically help to encrypt passwords stored in session “cookies” so people who intercept them on the Internet can’t see your password.

  3. vered | blogger for hire Says:

    Useful. Thanks!
    vered | blogger for hire´s last blog ..A Beautiful Winter Poem, and a Rant on SEO My ComLuv Profile

  4. John Hoff Says:

    Hi Vered, no problem.

    Also I wanted to say that was a beautiful poem on your latest blog post. I’m not all that much into poems, but that one was real good.

  5. Keith Davis Says:

    Hi John
    I think that you may have scared me into looking at security.
    As you say it is the newbies like me who are easy prey.

    The Chap Secure Login plugin looks about right for me…. if all you have to do is upload and activate.

    P.S. Good to see that you are fully up to date with the “MD5 hashing algorithm”!
    Keith Davis´s last blog ..easy peasy! My ComLuv Profile

  6. John Hoff Says:

    Hi Keith, didn’t mean to scare you – but I’m glad I did. It is a big issue and I don’t think enough people worry about it until it’s too late. The risk for me is that by blogging about this stuff it might make people actually “try” to hack my site.

    Oh well, what are you gonna do? People need to know about this stuff, right? You don’t even want to know how many backups and protected/restricted mirror sites I have for my blog LOL.

  7. Hunter Nuttall Says:

    Great analogy with the car accidents. Unfortunately, most people are teen drivers on the information superhighway. (Do they still call it that?)

    These look like terrific plugins. I’m telling everyone I know about them. :)
    Hunter Nuttall´s last blog ..Finding Your Primary Color, And Making The Leap My ComLuv Profile

  8. John Hoff Says:

    Hi Hunter, thanks for stopping by. Hmm…information superhighway, no I don’t think the young’ens call it that. Now days they call it MySpace.

    Thanks for spreading the word, I think these plugins are excellent plugins for added security.

  9. Brad Ney Says:

    Have you thought about blog security lately? All time time. With open-source software, its a real shame that people try to break into such a great application. :(

    How would you feel if one day you found your blog has been cracked into? I’d have a “fun” time trying to fix it.. thats for sure!

    Would you be prepared to deal with the problem and make your blog right? Most likely, I can’t have a broken website!

    I’ll have to look into those two useful plugins..

    BTW – Do you know how to edit .htaccess files? I’m trying to get two things to happen:

    Add Expire Headers to my images, javascript and stylesheets

    AND

    Use zlib to compress CSS and JS to the user

    Let me know if you have any knowledge on the subject. Thanks.
    Brad Ney´s last blog ..Bouncing Higher than 80%? Heres 7 Ways To Reduce Your Blog’s Bounce Rate My ComLuv Profile

  10. John Hoff Says:

    Hi Brad. There are two ways to edit your .htaccess file.

    1. Open up your File Manager in your web hosting control panel and navigate to your WordPress directory, it should be the one with the /wp-content, /wp-admin, and /wp-includes folders in it. There you should see a .htaccess file, if you don’t, simply create a “New File” and save it as .htaccess

    If the file is there, tick a check mark next to it and using your control panel’s File Editor, open the file so you can edit it.

    In this video about setting up FeedBurner, I give an example of how to open and edit your .htaccess file in this way (watch Video 3 at about 1:30 into it).

    2. The other way to edit the file is to download it to your computer (or create a new file using a word processor and name it .htaccess), edit it as you like, and upload it to your WordPress’ directory.

    As for Future Expires, here’s some code I’ve used before (can’t remember what website I found it from):

    # Add future Expires to headers
    <ifModule mod_expires.c>
    ExpiresActive On
    ExpiresDefault "access plus 1 seconds"
    ExpiresByType text/html "access plus 1 seconds"
    ExpiresByType image/gif "access plus 2592000 seconds"
    ExpiresByType image/jpeg "access plus 2592000 seconds"
    ExpiresByType image/png "access plus 2592000 seconds"
    ExpiresByType text/css "access plus 604800 seconds"
    ExpiresByType text/javascript "access plus 216000 seconds"
    ExpiresByType application/x-javascript "access plus 216000 seconds"
    </ifModule>

    # Add Cache-Control headers
    <ifModule mod_headers.c>
    <filesMatch "\\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
    Header set Cache-Control "max-age=2592000, public"
    </filesMatch>
    <filesMatch "\\.(css)$">
    Header set Cache-Control "max-age=604800, public"
    </filesMatch>
    <filesMatch "\\.(js)$">
    Header set Cache-Control "max-age=216000, private"
    </filesMatch>
    <filesMatch "\\.(xml|txt)$">
    Header set Cache-Control "max-age=216000, public, must-revalidate"
    </filesMatch>
    <filesMatch "\\.(html|htm|php)$">
    Header set Cache-Control "max-age=1, private, must-revalidate"
    </filesMatch>
    </ifModule>

  11. Brad Ney Says:

    Thanks for pasting that code in there.. Its just when I download the .htaccess file and add the code to it, and then reupload to the webserver, it returns a 500 Internal Server error.

    I’ll let you know the results of the above code though.
    Brad Ney´s last blog ..Bouncing Higher than 80%? Heres 7 Ways To Reduce Your Blog’s Bounce Rate My ComLuv Profile

  12. John Hoff Says:

    Hi Brad, I sent you an email.

  13. Jannie Funster Says:

    Okay this is probably going to sound dumb but what does SSL stand for? And I’ll pick this post up again from there.
    Jannie Funster´s last blog ..Rose DesRochers: Just how Great IS She? My ComLuv Profile

  14. John Hoff Says:

    Hi Jannie.

    SSL stands for Secure Sockets Layer and basically what it does is allow for transfers of information over the Internet, such as your username and password, to be done in an encrypted manner.

    When I connect to my WordPress Dashboard, it’s done through SSL which means my username, password, and a lot of what I do through WordPress admin is done with a secured connection which makes it hard for someone to swipe my login information by watching data transferred over the Internet.

    You know when you go to a website to buy something and you see that little lock box in the status or URL bar (depends on your browser)? That means you’re on a site that is encrypted with SSL. Most credit card processing pages use SSL so your credit card info is sent over the Internet encrypted.

    I don’t have my blog’s front end encrypted because there are some aspects of it which are not sent through an encrypted manner, like images I’ve linked to. Because of this, some browsers like IE will pop up a warning that parts of the site is encrypted and parts aren’t. I don’t want my visitors seeing that confusing pop up every time they come to my blog.

    Here, you can view this article through my SSL secured connection by putting https:// in the URL instead of http://

    https://wpbloghost.com/blog/wordpress-security-plugins/

    Ok so that’s a really quick thing about it. I’ll be drafting up a post about it soon.

    For WP Blog Host customers, the process is pretty easy because we set most of it up for you…but again, more on that later.

  15. Joseph Says:

    Nice one, John. CHAP secure login is the perfect alternative for those without SSL. Just started using it. Thanks for covering :)

  16. Sunny Bhasin Says:

    Thanks for informing about these two plugins :) :)
    I would like to ask you few questions:
    1.Will the use of CHAP plugin slow down the loading speed of my blog??
    2.The File Monitor will just notify for the changes ,is there any plugin which removes the that particular changes made to the files???
    Sunny Bhasin´s last blog ..List of Best PDF Search Engines My ComLuv Profile

  17. John Hoff Says:

    Joseph
    No problem Joseph. Glad my post has helped you make your blog a little more secure. SSL isn’t all that expensive to set up. You should look into it. It’s much better because it encrypts password changes, creation of new users, etc.

    Sunny Bhasin
    Thanks for stopping by and leaving a comment. Here are some answers to your questions:

    1. Will the use of CHAP plugin slow down the loading speed of my blog?
    I didn’t design the plugin and haven’t examined every aspect of it, however I can say that I use that plugin on other blogs I own and as far as I can tell nothing has changed. Do keep in mind, though, that every plugin you add to your site will slightly slow down the load time of your blog. The bigger and more complex you make your site, the slower it will load.

    I think the security feature of the plugin outweighs the negativity of adding yet one more plugin to your blog.

    2.The File Monitor will just notify for the changes ,is there any plugin which removes the that particular changes made to the files?
    The closest I know of would be the WordPress Firewall plugin. See this article here.

    The firewall plugin will limit who can edit certain files contained inside your WordPress installation – including widgets; however, it doesn’t cover every file on your hosting server.


Leave a Reply

CommentLuv Enabled
PHVsPjxsaT48c3Ryb25nPndvb19hZHNfcm90YXRlPC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkXzMwMF9hZHNlbnNlPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fYWRfMzAwX2ltYWdlPC9zdHJvbmc+IC0gaHR0cDovL3dwYmxvZ2hvc3QuY29tL2Jsb2cvd3AtZmlsZXMtZ3JlZW5ibG9nL3dwLWNvbnRlbnQvdGhlbWVzL2ZyZXNobmV3cy9pbWFnZXMvZWluc3RlaW5zaG93LWFib3V0LXdwYmxvZ2hvc3QzMDB4MjUwLmpwZzwvbGk+PGxpPjxzdHJvbmc+d29vX2FkXzMwMF91cmw8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb208L2xpPjxsaT48c3Ryb25nPndvb19hZF9pbWFnZV8xPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tL2Fkcy93b290aGVtZXMtMTI1eDEyNS0xLmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzI8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20vYWRzL3dvb3RoZW1lcy0xMjV4MTI1LTIuZ2lmPC9saT48bGk+PHN0cm9uZz53b29fYWRfaW1hZ2VfMzwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9hZHMvd29vdGhlbWVzLTEyNXgxMjUtMy5naWY8L2xpPjxsaT48c3Ryb25nPndvb19hZF9pbWFnZV80PC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tL2Fkcy93b290aGVtZXMtMTI1eDEyNS00LmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzU8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20vYWRzL3dvb3RoZW1lcy0xMjV4MTI1LTQuZ2lmPC9saT48bGk+PHN0cm9uZz53b29fYWRfaW1hZ2VfNjwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9hZHMvd29vdGhlbWVzLTEyNXgxMjUtNC5naWY8L2xpPjxsaT48c3Ryb25nPndvb19hZF91cmxfMTwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF8yPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tPC9saT48bGk+PHN0cm9uZz53b29fYWRfdXJsXzM8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb208L2xpPjxsaT48c3Ryb25nPndvb19hZF91cmxfNDwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF81PC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tPC9saT48bGk+PHN0cm9uZz53b29fYWRfdXJsXzY8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb208L2xpPjxsaT48c3Ryb25nPndvb19hbHRfc3R5bGVzaGVldDwvc3Ryb25nPiAtIDEwLWdydW5nZWZsb3JhbC5jc3M8L2xpPjxsaT48c3Ryb25nPndvb19hc2lkZXNfY2F0ZWdvcnk8L3N0cm9uZz4gLSBTZWxlY3QgYSBjYXRlZ29yeTo8L2xpPjxsaT48c3Ryb25nPndvb19hdXRob3I8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX2F1dG9faW1nPC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19jb250ZW50PC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19jb250ZW50X2ZlYXQ8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX2N1c3RvbV9mYXZpY29uPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fZmVhdHVyZWRfcG9zdHM8L3N0cm9uZz4gLSAxPC9saT48bGk+PHN0cm9uZz53b29fZmVhdF9pbWFnZV9oZWlnaHQ8L3N0cm9uZz4gLSAxOTU8L2xpPjxsaT48c3Ryb25nPndvb19mZWF0X2ltYWdlX3dpZHRoPC9zdHJvbmc+IC0gNTQwPC9saT48bGk+PHN0cm9uZz53b29fZmVlZGJ1cm5lcl9pZDwvc3Ryb25nPiAtIGh0dHA6Ly9mZWVkYnVybmVyLmdvb2dsZS5jb20vZmIvYS9tYWlsdmVyaWZ5P3VyaT13cGJsb2dob3N0JmxvYz1lbl9VUzwvbGk+PGxpPjxzdHJvbmc+d29vX2ZlZWRidXJuZXJfdXJsPC9zdHJvbmc+IC0gaHR0cDovL2ZlZWRzLmZlZWRidXJuZXIuY29tL3dwYmxvZ2hvc3Q8L2xpPjxsaT48c3Ryb25nPndvb19nb29nbGVfYW5hbHl0aWNzPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29faG9tZV9vbmVfY29sPC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19pbWFnZV9zaW5nbGU8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX2xvZ288L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19tYW51YWw8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20vc3VwcG9ydC90aGVtZS1kb2N1bWVudGF0aW9uL2ZyZXNoLW5ld3MvPC9saT48bGk+PHN0cm9uZz53b29fcmVzaXplPC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX3Nob3J0bmFtZTwvc3Ryb25nPiAtIHdvbzwvbGk+PGxpPjxzdHJvbmc+d29vX3NpbmdsZV9pbWFnZV9oZWlnaHQ8L3N0cm9uZz4gLSAxMDA8L2xpPjxsaT48c3Ryb25nPndvb19zaW5nbGVfaW1hZ2Vfd2lkdGg8L3N0cm9uZz4gLSAxMDA8L2xpPjxsaT48c3Ryb25nPndvb190YWJzPC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX3RoZW1lbmFtZTwvc3Ryb25nPiAtIEZyZXNoIE5ld3M8L2xpPjxsaT48c3Ryb25nPndvb190aHVtYl9pbWFnZV9oZWlnaHQ8L3N0cm9uZz4gLSA3NTwvbGk+PGxpPjxzdHJvbmc+d29vX3RodW1iX2ltYWdlX3dpZHRoPC9zdHJvbmc+IC0gNzU8L2xpPjxsaT48c3Ryb25nPndvb192aWRlb19jYXRlZ29yeTwvc3Ryb25nPiAtIFNlbGVjdCBhIGNhdGVnb3J5OjwvbGk+PC91bD4=