Il y a généralement un firewall installé de base : NetFilter/iptables pour GNU/Linux et PF/pfSense, IPFilter et/ou IPFW pour *BSD. Il reste à définir les règles (il existe plusieurs sur-couches, graphiques ou non, pour y aider -suivant ses gouts et sa distribution).
L'une de ces surcouches utilise d'ailleurs OpenOffice (!) (mais bon, à priori il n'y aura pas de mises à jours prochainement

).
Sinon, c'est vrai qu'il n'est pas évident de trouver des pare-feu libres pour windows...
Sur Framasoft , on trouve wipfw
http://wipfw.sourceforge.net/ (et un ou deux autres, je crois), et en cherchant un peu, je suis tombé sur
PeerGuardian 2 (qui ne fait que gérer une liste noire d'IPs en fait).
Le problème, c'est que ce n'est pas vraiment ce à quoi s'attend un utilisateur de Windows quand on lui parle de pare-feu

Ces pare-feu permettent de définir des règles (assez finement) une fois suivant le type de paquets, le protocole, l'origine et la destination.
Il n'est généralement pas souvent nécessaire d'y retoucher ensuite (à moins d'utiliser un nouveau protocole que l'on avait pas prévu), alors que les utilisateurs windows s'attendent plutôt à une petite popup qui leur demande si telle ou telle application peut se connecter à internet au moment où celle-ci tente de le faire.
Il y en a sur Framasoft, mais ils ne sont pas forcément tout jeunes, et ne fonctionneront pas sur Windows Vista ou plus récent... (iSafer ou Winpooch par exemple).