howdy gwitty,
a response to your question is probably twofolded ...
You are thinking about advancing in the right direction, driven by your security concerns. Things will probably only get worse in the future on the Windows-side of the internet. So any decision towards using Linux to harden your gateway/router/mailserver-machine is more than just agreeable.
On the other hand ...
You are about to enter the Linux-domain from the "server-side", and this can give you a lot of headaches if you lack a certain amount of necessary endurance as DapperDan has already mentioned.
As none of the progs you've mentioned is available under Linux you may want to take a brief look at what it would take (software- and effort-wise) to ensure the same functionality on your Desktop-machine as you now have ...
FirewallEvery contemporary Linux comes with a FW-module built into the "kernel" (the system-nucleus, so to say). This FW's called
"iptables" and is one spifftastomatic, a**kickin' piece of security-software. There's literally no TCP/IP-issue that you could not catch with a specific IPTABLES-rule.
Many distros access IPTABLES through GUI-frontends that let you define those rules more easily (
Smoothwall has been mentioned, and there are many more frontends, like
FireStarter or
Firewall-Builder).
INet-Connection Sharing (NAT)This specific thing is also handled by iptables (the NAT-capabilities of this module respectively). Many of the above mentioned GUI-frontends will aid you in defining the needed filter-rules for this.
Many more things from this field can be achieved with iptables or additional apps. If you want to e.g. add a proxie too you may want to check out
Squid, to just name a polular one.
Email-StuffThis will be by far the most trickiest thing to set up. I dunno due to what Linux-tradition this is, but setting up a spam- and virus-filtering, mail-forwarding server can drive you nuts. Most distros come with the "regular" mail-mangling-progs like
sendmail/fetchmail. I cannot really recommend the sendmail/fetchmail-couple for two reasons: (a) The sometimes really hideous config-file structure and (b) the security issues that sendmail has. Of course, the basic sendmail/fetchmail-couple will not filter anything (but it would forward mails to the right accounts, given that a lot of things are set up properly (like
aliases, permissions etc.)).
To make spam- and virus-filtering happen you have to "daisy-chain" multiple apps. You will need an
MTA (Mail Transport Agent) like
EXIM or
QMAIL, a spamfilter (is there anything else but
SPAMASSASIN?

and a virus-filter (e.g
CLAMAV which we use for our mail-servers).
As you can see there are a lot of apps and things involved and most definitely an even basic setup with minimum-functionality will take you up to several days if you haven't laid hands on Linux so far.
But the gain is indeed immense: If you decide to go all the way and maybe even tweak/harden your box you will have a halluva bullet-proof and reliable machine that will let you forget about things like "reboot" and which will be "99% immortal" (unless you pull the plug)
hope this helps