Almost all viruses come from programs you've downloaded/transferred from another computer which are infected. Most of the rest come from infected files which have then been opened by badly written programs.
The only way to passively get a virus is for a person (or EXTREMELY clever virus) to send messages to a port on your computer on which a program is listening which will do whatever it's told. Examples of this would be an FTP server, a remote desktop application, etc. but most of these require a password.
A properly configured firewall router means that nobody outside can initiate a connection to your computer. Only your computer can initiate the connection (which it won't unless it already has a virus on it).
Even windows firewall will block access to your computer in this way.
Most likely it's your dad who was fooled into downloading the virus onto his computer by a malicious website. Typically these are fake plugins or activex controls which the website tells you that you need, or fake security warnings on websites (some look identical to the windows control panel).
You can stop half of these by using a browser other than IE because then the websites either break or it's immediately obvious that it's fake since only IE supports activex controls and shows the yellow bar across the top.
In short, viruses are stupid. They are simply small computer programs. They can't think for themselves, only do what they're programmed to do. The clever part is the variety of ways that people trick you into downloading them.
[b]
