You don't need a firewall, assuming everything on your system is configured perfectly and has no unknown/hidden exploits in the wild.
The problem is that most software has hidden bugs in it that could be an attack vector, and people who configure software (me, you) aren't perfect. A firewall is...