I need a rather broad solution covering DNS, proxying, firewalling, VPN (both site to site and LDAP integrated user access), DHCP, supporting multiple DMZ servers along with routing support. This will act as the centre point for a 40 person network. Clearly hardware wise this will have to be quite a strong system, with load balancing being a possibility, at minimum hardware failover.
For the network security class we got asked to take a look at two firewall solutions, so whilst comparing them I also tried to see how well they would fit into the above requirements.
The firewalls looked at were pfsense and Smoothwall Express 3.0.
Lets start with pfsense.
- It is an open source effort, based on FreeBSD. I have little experience with BSD, compared to quite solid knowledge of Red Hat which Smoothwall is based on top of.
- Its feature set is huge, and rather all encompassing.
- Full Firewalling functionality, including stateful inspection and fingerprinting.
- NAT support, which I may or may not implement at this level within the above mentioned project.
- pfsense does support hardware failover, however the backup server does nothing normally, and only kicks in in the case of failure on the main server. IT also requires another static public IP, which could be a problem depending on the ADSL package I end up going with.
- Load Balancing is supported, only equal however. The ADSL lines I will be going with for the project will be balanced using a Billion Biguard 30, so this is only really important for DMZ servers etc.
- VPN: This is probably going to be the deal breaker. pfsense supports site to site links, along with PPTP style links including RADIUS server support, exactly what I need.
- DHCP serving is present, along with some proxying abilities.
- As this is namely a firewall, its Firewall is quite full featured just like pfsense, including stateful inspection.
- NAT support is a bit of an unknown, and not explicitly mentioned, but this is probably not a huge deal as I will have the Biguard 30 handle this.
- Basic DHCP serving is supported, and due to its being based on RHEL, this shouldn't be that hard to expand apon.
- Proxy support is quite limited, but my proxy needs only include basic http proxying.
- Heres the big problem: VPN support is very limited in the free package. Site to Site is supported, but there is no included support for PPTP or RADIUS authentication.
- Multiple DMZ servers are also not supported, so another requirement is not met.
- No inbuilt hardware failover.
At this point, for both the network security class and the project needs, pfsense seems to be the winner.