I have four or five baby name books that I've bought over the years; I think it's a fairly common practice for writers to keep one or two of these on the shelf near the computer. (Although as soon as I knew that my daughter was expecting twins, I gathered up all my name books and took them over to her house.) As for online sources, I was about to mention behindthename.com but Marky beat me to it.
Some people take names off of maps and use them for their characters. If the region on the map is sufficiently remote and exotic the names will have a suitably alien or fantastical flare. (I used to know a writer who collected the maps from old issues of National Geographic in order to have a source of names.) An added bonus is that if you take all the names from the same country they'll look like they have some sort of linguistic relationship to each other. I, personally, hate it when one character is named Albert, and his next-door neighbor in the tiny isolated village where strangers never come and everyone's family has spoken the same language for fifty generations is named Noreile, and the people down the street are Changu and U'lam'e, and ... well, the names are all a mismash that could never have come about in anything but the most cosmopolitan melting-pot culture. Names are an expression of culture and they should look like they belong to the society in which they originate, doggone it!
Another thing you can do is take familiar names from (more or less) the same cultural/linguistic background and alter them according to a handful of rules you consistently apply. Like changing all of the o's to a's, the a's to ae's, and doubling the single r's. Thomas becomes "Thamaes", Jack becomes "Jaek", Mary becomes "Maerry," etc.
For surnames, if your people have them, you can use common practices to construct your own original names, based on occupations (Steelhammer for the descendents of a blacksmith), geographical locations (Stonybrook), totem animals (Bearclaw, Ravenwing), and so forth. Again, though, you might want to match the surnames to the culture and the status of the characters. A family of peasants known locally for raising pigs is probably going to put up with a lot of grief if they start calling themselves by some flashy name.