This is a bad answer, but toss Linux on it and your security issues are pretty much fixed. If you have to use windows, know that best security practices are those that are layered. For example, you start at the network level, with a router that supports NAT and SPI firewall, then at the client level you have your software firewalls and your anti-virus and spyware applications.
What is the best? Well it depends. If you want to spend money I would probably suggest NOD32. Only because it's memory footprint while running in the background is very small so it takes up less resources. Free ones is highly debatable, you will get all different answers. I have used AVG and Avast and I think both of them are great for being free. I used to use F-Prot back in the day but haven't used it in a long time and not sure if they have a free one anymore.