Generally it's a scam if they're asking for money upfront. However, there are a few exceptions to this as some, very reputable companies, ask you to pay for your own training as an independent contractor. Frankly, I'm totally against this and think it's unethical, but I do know a few companies who do it and I know quite a few people who work for these companies and are regularly paid by them. That said, I'd avoid companies that want you to pay for a job list, pay for your own training, buy any special books for training or that sort of thing.
Also, ads that are very vague and who don't tell you anything about the company or the exact duties, but play up the fact that you can work from home are generally scams. While some companies do prefer to remain anonymous (to avoid a barrage of phone calls) and will post anonymously on CraigsList, you'll notice that they at least do offer a description of the company and of the duties required. That you can work from home for these companies is a benefit, but is not the main thrust of the ad.
For data entry jobs, I'd check CraigsList using the keywords "data entry home" (without quotes) or even "data management home" (without quotes) and apply the logic above.
Some jobs may require you to have special equipment or software and I think it's fair to have you pay for it if you're an independent contractor. Also, because you may be handling sensitive client information, a background check may be required. Most are free, but some companies may ask you to pay for your own fingerprinting (which is less than $20 if I recall from your local law enforcement agency and then you mail them in). Again, these are fair charges, but asking you to pay to work OR train, imo, isn't.
Hope this helps and good luck on your job search!