Iptables
One of the most useful firewalls for the Linux operating system is netfilters iptables
It's doesn't make your Linux box 100% secure of intrusion, but It sure makes a sys admins sleep better at night.
Netfilter/Iptables has a great deal of features which I won't cover in detail here, but I will post some of my own little useful hacks. With iptables you can of course do packet filtering and other basic firewall operations, but that's not all. You can also setup NAT/SNAT, redirects, time-based rules, transfer quotas, specifying multiple ports in ONE rule, load balancing, matching against a string in a packet's data payload, packet matching based on TTL values and much more.
This is a great software firewall in my humble opinion, and it's open source. So what are you waiting for??