Naming characters can be one of the most fun parts of writing a novel, but it can also be one of the most frustrating. Choosing names requires thought--lots of thought. Your characters are part of the culture of your novel, which means their name should reflect that culture.
A good tool to use is baby name websites. I've done a roundup of a few of the more helpful ones below:
Baby Name Wizard: This site's Advanced Baby Name Finder is awesome. It allows you to select different attributes like popularity, length, and first letter to start with (useful when making sure main characters have names that start with different letters). You can also require or exclude names that are Biblical in origin, non-standardly spelled, traditional, or esoteric.
BabyNames.com: This site lets you easily search baby names by origin via the drop-down list. Bonus: they've also got a page of Tips for Writers (and they're good tips, too!).
Social Security Database: The U.S. Social Security Administration maintains a database of the 400 most popular baby names of each decade, all the way back to the 1880's (!). There's also a table of the top 10 names in each year from 1912-2011, as well as the top names per U.S. state for the last 40 years or more.
Baby Names World: Like the Baby Name Wizard above, this site has an advanced search that lets you filter by length, first letter, and popularity. It also lets you filter by origin, though, and it has some other options that are a little more subjective (heavenly names, anyone? Movie star names? How about pirate names?). Warning: this site is sponsored by Nickelodeon and thus has video ads that seem to play on every page. They're easy to turn off, but be aware!