By Chris R. Chapman at December 15, 2007 04:46
Filed Under: Blog

Here are a collection of ten short tips I’ve compiled from my experiences blogging over the past few years that new and even intermediate bloggers may find useful.  This isn’t anything new, but rather some common sense observances.

  1. Choose a secure password for administration and change it every so often.Keepass
    • Personally, I use KeePass to randomly generate my passwords and keep track of them for me;  I then back up my passwords database to a USB key for extra protection.  In this day and age, using passwords that can be guessed or compromised using social engineering is just so not cool.
  2. Keep backups of your posts using an RSS reader.
  3. Use CAPTCHA to protect your feedback list from spam;  better yet, use reCAPTCHA.
    • New bloggers are often dismayed when they find their posts hijacked with feedback spam containing URLs for pills, potions and other nefarious things.  Often this can be avoided by using a CAPTCHA plugin that prevents spambots from entering comments through a visual challenge (often called a Turing Test).  While good, CAPTCHA has proven to be hackable (see my old blog, for example).  I recommend the upgraded reCAPTCHA plugin that not only stymies 99.9999% of spam, but also helps digitize books.
  4. Close off comments for posts after 60–90 days.
    • This works in conjunction with #3 above to reduce your overall “attack surface” – this isn’t to say that spammers won’t try to coerce their comments into your blog by other means, but it does go a significant way to limiting their impact almost entirely.  If you need to have more feedback for longer periods, either write a new post to extend the conversations, or better yet:  Set up a Yahoo! mail list or install a forum.
  5. Disable trackbacks for posts.
    • Trackbacks are automatic cross-referencing flags that blogs and sites use to notify one another when they’ve been referenced directly.  A good example of this is dotNETKicks, where if your post is “kicked” into their queue, it sends a trackback to your blog saying “you’ve been kicked” which gets rendered in your feedback list.  While a cool feature, it’s also a huge back door for spamdexing.  By disabling this, you’re not really going to miss much – if you use a feed service like FeedBurner, you’ll know about other people referring to your posts.
  6. If you’re using ASP.NET, make sure your pages are protected with validateRequest=”true”
    • Yes, it seems obvious, but you’d be surprised at how many folks disable this, leaving their site open to playback and injection attacks.  I see attempts on this all the time in my security logs for my site.
  7. Disallow <a> tags in your comments
    • It’s a bit of a pain for those wanting to hyperlink away from a comment to check something out, but it also prevents a lot of link-harvesting, which results in just more spam and index climbing.
  8. Throttle bad IP ranges.
    • Often, you will notice attacks coming from common “ranges” of IP addresses – these are “open relay” proxies that spamdexers use to propagate their wares.  Either block these at the firewall (ie, stop all inbound traffic from 192.168.199.*) or use an httpModule/httpHandler combination (ie, UrlRewriter or similar) to block troublesome IP ranges and send out a “forbidden” 403 code, or similar.
  9. Subscribe to a spam filtering service like Akismet.
    • If you’ve got a bad case of spamming, consider using a service like Akismet that can provide fairly comprehensive comment and trackback spam filtering.  Some blog services offer this as a matter of course;  others require you to actively enable the service.  See Scott Hanselman’s post, Preventing comment, trackback and referral spam in dasBlog, for details on using Subkismet.
  10. Be vigilant.
    • Check your security logs frequently for spotting trends that don’t fit your usual daily traffic patterns;  monitor your comments lists via a feedreader to easily identify attacks;  keep looking for areas where you can “harden” your blog either with updates and patches or small code fixes.  If you have the ability, make the fix on your own rather than wait for someone else to do it for you.

Of these tips, #3 has been most successful for me to-date.  There may come a time when even reCAPTCHA is foiled, but for now it’s working wonders!

Additional References:

 

Comments

12/15/2007 5:14:35 AM #

Tip Diva

Thank you! I've been looking for a plug-in like reCAPTCHA and haven't had luck with similar products - the bots have gotten past those as well. Will definitely try it out.

Tip Diva |

12/15/2007 11:26:21 AM #

Mads Kristensen

You make some valid points - no doubt about that. The thing is that the blogging platform has to take care of securing your, except the password which is your own responsibility. If you don't like comment or trackback spam, then I suggest you try BlogEngine.NET Smile

Mads Kristensen |

12/15/2007 12:14:04 PM #

Chris Chapman

@Mads:  Get the kinks worked out of your post import tool and you'll have a convert... ;)

Chris Chapman |

12/16/2007 1:54:58 PM #

AC [MVP MOSS]

Take a look at http://akismet.com instead of using any sort of CAPTCHA. The SubText engine uses it and catches almost ALL comment/trackback/pingback spam. To test it out I removed CAPTCHA from my blog (this was months ago) for a week and saw an incredible amount come through (over 100/day). Then I enabled Akismet and now I see maybe 2-5/week. Best part: no funky passkey to enter to submit your comments, making a much more welcomed experience for readers.

AC [MVP MOSS] |

12/17/2007 2:05:27 AM #

Chris Chapman

@AC:  Fair point - and I may indeed end up doing just that.  However, at least reCAPTCHA does something useful instead of being /just/ a Turing Test.

You say you get 2-5 spams a week?  I get *zero* - lots of attempts, but *zero* have made it through so far after several weeks of use!

Chris Chapman |

Comments are closed

About Me

I am a Toronto-based software consultant specializing in SharePoint, .NET technologies and agile/iterative/lean software project management practices.

I am also a former Microsoft Consulting Services (MCS) Consultant with experience providing enterprise customers with subject matter expertise for planning and deploying SharePoint as well as .NET application development best practices.  I am MCAD certified (2006) and earned my Professional Scrum Master I certification in late September 2010, having previously earned my Certified Scrum Master certification in 2006. (What's the difference?)