If you(re not planning on using it as a windows machine , install ununtu server , then use aptitude to add shorewall (aptitude install shorewall) . For a quick fix on the nic , just make a bridge of the 4 interfaces , then use that br0 as interface 2 in the shorewall 2 ionterface setup.
https://help.ubuntu.com/community/BridgingNetworkInterfaces
http://www.shorewall.net/two-interface.htm
If your 4 port adapter is 100 mbit , it probably doesn't have auto crossover. So in that case you'll have to buy some crossover plugs.
http://tinyurl.com/crossoverplug
Then install isc-dhcp-server if you want dhcp functionality and other toppings ..openvpn , poptop, freeswan , samba , utorrent , dns , ntp heaps more ....
shorewall is an iptables frontend , and makes it easy to configure.
You can set rules for traffic between ports of the bridge as well.
---
For windows it's probably easiest to use something like winroute (if that thing still exists , idk it's been ages) or something equivalent (there's even internet connection sharing in the later versions of window ; not very configurable though); and as with linux , bridge the nic's on the 4 port card. (ctrl click on the interfaces , right click select make bridge)
If you want to do traffic control between those ports on windows however , you'll probably need to make each port a different subnet and add routes.
There is elaborate firewall/routing software for windows .. one of the better firewalls I've messed around with was FW-1 from checkpoint software.
All in all I would recommend linux tbh .. straight server package.. any disto will do , but I like debian and ubuntu server personally /shrug. There are special firewall disto's if you don't want to mess around manually. Using a server diqsto instead of a firewall disto has the added benefit of easily being able to add programs with more specific behavior later on.