Seven Different Linux/BSD Firewalls Reviewed

2023-11-16

Seven Different Linux/BSD Firewalls Reviewed

Firewall November 14th, 2007

Did you know more than 500 million computers in the United States have been disposed of in the last 10 years?

That’s approximately 2 computers per person ! One of the best ways to re-purpose an old computer is to install a Linux or FreeBSD firewall distribution, and use it to run your personal, home office, or small office network is one way to keep “obsolete” technology from ever reaching a landfill.

Help the environment by reusing an old computer as a firewall. It will protect your computer from internet worms, save you time, money and most importantly – improve your internet experience as a whole.

Fact : A wireless router at an electronics store that can cost in excess of $100 is actually slower than any computer made in the last decade. Really! Most routers off the shelf at a store only have a 200MHz processor and 16MB of RAM.

By today’s standards , the 500MHz computer that’s been running quietly in my closet for the past 3 years is beyond obsolete. More than ten generations of processors have come and gone since this computer rolled off the assembly line.

Keep that wallet in your pocket , don’t be a sucker and spend lots of money on a slow, horrifically overpriced home networking product. There’s a good reason why companies like Linksys (a division of Cisco), Netgear and D-Link are worth multi-billions of dollars and continue to climb. Consumer spending on products with home network connections will reach over 17 billion dollars this year.

Here’s the criteria each platform is graded on:

  • Installation & Configuration
  • SSH
  • VPN
  • Graphical Interface
    • Ease of Use
    • Functionality
    • Style
  • Extensibility (Add-ons, Plugins, etc)
  • Speed Testing

Each item in the list is given a value of 1 to 10 (10 being the highest), then averaged to obtain the final score.

hp_vectra2.png The testing platform we are using today is an HP Vectra slimline PC. Considering the computer was FREE (as in beer) after a company upgraded their workstations, the specifications are nothing to scoff at.

  • Pentium III 500 MHz
  • 192MB of RAM
  • 1GB Transcend disk-on-chip IDE module
  • Dual 100Mbps NICs

We’re taking a look at no less than seven different firewall products today:

Firewall Graph

I’d like to draw your attention to the size column. Size is NOT everything (that’s what she said) when it comes to firewall distributions. Wireless routers that may run your home or office network right now pack a ton of functionality into a package as small as 2 megabytes. FreeBSD, Redhat, and Debian are the building blocks for these home networking appliance distributions.

Let’s take a look at each one in more detail.

ClarkConnect Clark Connect Logo is a BEAST – in a good way. It’s really hungry for a faster processor than I can throw at it. The list of features really blow everything out of the water. It’s not just a router or firewall platform, it’s like someone asked themselves a question: “What is EVERYTHING a small office could EVER need in a networking server?” ClarkConnect provides three different robust VPN connectivity solutions using IPSec, PPTP, OpenVPN, along with web proxy and web filtering. Additionally, it provides an SSH server, Quality of Service (QoS) filtering for common P2P applications, Intrusion Detection, and much, much more including email server, file, print, database and web serving. Not to mention a fairly comprehensive group ware suite, which has calendar, contact, tasks lists, and provides a paid option for using Microsoft Outlook Connector to allow everything to go right into Microsoft Office Outlook.

ClarkConnect is certainly a jack of all trades. Doing everything is great, but how well does ClarkConnect do it? On the testbed, installation was easy, and had an informative installation progress screen. The first time running through the installer, there was a problem with not having enough disk space. After rebooting and trying again, I chose to utilize Disk Druid, a partitioning program – instead of the auto-partition mode. Everything worked just fine after that. I believe the problem lies with the testbed – 1GB of space is not alot to work with, but fortunately they provide a manual partitioning method. It also prompts to create a GRUB (bootup) password, so that if the device is physically compromised, it would be more difficult for someone to maliciously (or accidentally) make changes to the system.

Configuration was an overall negative experience. It got confusing, not to mention frustrating. A small business owner who doesn’t know much about networking or computers, would be best to consider hiring a professional to do the initial installation, or paying for a yearly support contract from the vendor, or for a single incident. An interesting feature ClarkConnect leverages very well during configuration stages is a graphical interface to the system. Every other firewall reviewed here either has a very sparse text-mode or console configuration. ClarkConnect wants to make it easier. Just point and click to configure the system, which is nice – but it does not contain all of the features as the text-mode configuration tool which is also provided.

The Web Graphical Interface is easy to use. Items are categorized in a logical fashion and it doesn’t take much hunting to find something you want, if you don’t know where exactly it is in the menu. Style-wise, ClarkConnect is the only option in this roundup that provides a theme switcher – it is possible to use a very slick, visually appealing interface, or with a few clicks, just change to another theme which is less eye-candy, but probably more familiar to most people who have configured a wireless router in the past.

Many companies, like ClarkConnect, release a “community” version as well as a paid version which includes more features and support options, add-ons such as email and virus scanning is available on a subscription basis, and with so many features to start out with you might not need anything else to help to run a small business.

gatewayclarkconnectlan-dashboard.png gatewayclarkconnectlan-current-status.png gatewayclarkconnectlan-system-statistics.png gatewayclarkconnectlan-dhcp-server.png

gatewayclarkconnectlan-software-registration.png gatewayclarkconnectlan-critical-updates.png gatewayclarkconnectlan-running-services.png gatewayclarkconnectlan-webconfig-settings_3x.png

gatewayclarkconnectlan-webconfig-settings_4x.png gatewayclarkconnectlan-webconfig-settings_huron.png gatewayclarkconnectlan-encrypted-file-system-manager.png gatewayclarkconnectlan-official-modules.png

Consider IPCopIPCop Logo to be the baseline for features, usability and extensibility . The installation CD is simple, but employs a non-linear configuration that some may have difficulty using the first time around. A nice touch is including MemTest86 on the CD and including that as an option on the initial bootup. The program will systematically test your RAM and determine if there is a fault, and as a computer gets older, the likelihood of that happening becomes more of a reality.

The auto-partitioner worked great, unfortunately the installation procedure does have one glaringly obvious flaw. When the setup routine attempts to detect network cards, it cycles through every single network card that is supported. After the first card is detected, it prompts you to set that as the “GREEN” interface, also known as the LAN. Once it’s found the first NIC and assigned it to LAN, you can’t change it to “RED” or as the WAN interface. Mildly annoying, but thankfully the workaround is pretty simple, just reboot and start it again.

The web-based configuration tool is absolutely simple. Setting up SSH is just a checkbox away. VPN support is focused on a solution to provide IPCop-to-IPCop connectivity, but an OpenVPN add-on exists. Speaking of addons, there is a HUGE modding community devoted to adding features into IPCop. The webGUI style is in a word, tacky. It’s a good thing that it can be easily modified. A few changes to colors and background images later, it looks much, much better. Functionality-wise, IPCop makes it easy to forward ports, but does keep a few ports to itself that you cannot utilize, such as port 222 for SSH. Printing is not an option. I haven’t been able to find any 3rd party modification that allows print serving. The graphs are simplistic, yet very informative.
ipcop-main-page.png ipcop-updates.png ipcop-remote-access.png ipcop-status-information.png
ipcop-system-graphs.png ipcop-network-traffic-graphs.png ipcop-dhcp-configuration.png ipcop-traffic-shaping-settings.png
ipcop-port-forwarding-configuration.png

monowallmonowall.png is by far, the smallest of the bunch . The entire thing is contained in a measly 8 MB CD image! monowall is first and foremost, a routing platform. Nothing more, nothing less. The distribution comes in two flavors, either for embedded systems or for regular PCs. Installation the first time around may be difficult for a beginner, since it refers to network cards by their FreeBSD driver name, instead of something a human can easily interpret. Which is easier to understand: “fxp0″ or “Intel Pro 10/100+”? Why not provide both peices of information to the user?

VPN is well supported with both IPSec and PPTP options. SSH access can be enabled by a 3rd party add-on. Print serving is unsupported. The configuration page for monowall uses K.I.S.S. (Keep It Simple Stupid) to great effect. It’s brain-dead simple to set things up. However, two things stand out as being somewhat awkward, those being static DHCP and advanced settings. Otherwise, it’s fantastic. Ever had P2P traffic slow down your internet surfing? Check one single box in the GUI, and instantly you have over 20 different protocols that are instantly filtered using QoS to make your internet surfing experience as pleasant as possible.

Add-ons are not easy to incorporate, and require modification of the ISO image, but monowall is not designed to be anything more than a router and firewall. Extra features like a wireless AP feature that can be used with the captive portal function, Wake on LAN interface, and probably the smallest feature I could point out – the uptime is printed on the console when rebooting. Small things like that show an extremely polished software platform that delivers.

m0n0walllocal-system-general-setup.png m0n0walllocal-status-cpu-load.png m0n0walllocal-status-traffic-graph.png m0n0walllocal-firewall-traffic-shaper-magic-shaper-wizard.png

m0n0walllocal-firewall-rules-edit.png m0n0walllocal-status-interfaces.png

pfSensepfSense Logo is a hybrid of sorts , that has multiple sources for it’s major components. It was originally derived from monowall, but uses OpenBSD’s ported Packet Filter, a package management system to provide an integrated extensibility to the platform and Alternate Queuing (ALTQ) from FreeBSD. This Frankenstein is no slouch when it comes to performance, features and usability.

Installation uses the same monowall device naming system which is clunky, and also does not provide the entire name of the device. Once installed, the console has several options, one of those which is a program called “pfTop”, if you’ve ever needed to be able to view where most of your network bandwidth is being used from a console, now you can very easily.

The web GUI is absolutely fantastic. It’s got initial setup & traffic shaping wizards, a captive portal, load balancer (nice!), OLSR (ad-hoc wireless AP mode), Wake on LAN wizard, different selectable themes for the GUI, OpenVPN, IPSec, and PPTP VPN are all included by default, failover, and packet capturing!

Wizards for traffic shaping and initial setup – not anything new, almost any router you can buy today has them, but when you see them for the first time included in a firewall distribution, it’s great to see changes that make a product easier to use. No other firewall we’ve looked at has three different VPN options.

pfsenselocal-pfsense-webgui.png pfsenselocal-system-advanced-functions.png pfsenselocal-system-general-setup.png pfsenselocal-pfsense-setup-wizard.png

pfsenselocal-general-information.png pfsenselocal-configure-wan-interface.png pfsenselocal-configure-lan-interface.png pfsenselocal-pfsense-traffic-shaper-wizard.png

pfsenselocal-pfsense-traffic-shaper-wizard2.png pfsenselocal-pfsense-traffic-shaper-wizard3.png pfsenselocal-pfsense-traffic-shaper-wizard4.png pfsenselocal-pfsense-traffic-shaper-wizard5.png

pfsenselocal-pfsense-traffic-shaper-wizard6.png pfsenselocal-pfsense-traffic-shaper-wizard7.png pfsenselocal-status-interfaces.png pfsenselocal-status-traffic-graph.png

pfsenselocal-diagnostics-packet-capture.png

SmoothWall’sSmoothwall Logo installation is simplistic , and the GREEN/RED interface descriptions are an easy idea to grasp. One of the best features is a Java SSH client that runs right in the web interface – slick. Smoothwall’s VPN is designed to connect multiple Smoothwalls to each other, but IPSec is supported fully, and addons can be found for other VPN implementations.

The web interface is easy to navigate. This is the only product to provide a Java SSH client that runs right in the WebGUI – very nice. The real-time traffic graphs are a great addition. Add-ons for Smoothwall 3.0 are plentiful and usually easy to install, if you can think of it, it probably exists. my.smoothwall is integrated into the web configuration tool, and provides some basic integration into the smoothwall website. Free services like dynamic DNS are available, along with paid features as well.

The IM proxy is the best I’ve seen. Once it’s enabled, every incoming and outgoing IM conversation is logged. After opening up a few channels in IRC – in real-time – it’s possible to view any conversation going through the firewall. MSN, AIM, and other protocols are supported as well. It’s a big-brother feature, but if you want to monitor who you children are talking to, or for whatever reason, I can see it being an invaluable resource to monitor what is going on in a network you control. It would almost be easier to keep track of conversations using the logging tool in Smoothwall instead of multiple instant messenger clients.

main-page-smoothwall-express.png register-and-credits-smoothwall-express.png mysmoothwall-profilesmoothwall-profile.png mysmoothwall-profilesmoothwall-profile2.png

status-information-smoothwall-express.png advanced-status-information-smoothwall-express.png realtime-bandwidth-bars-smoothwall-express.png network-traffic-graphs-smoothwall-express.png

im-proxy-configuration-smoothwall-express.png instant-messenger-proxy-logs-smoothwall-express.png dhcp-configuration-smoothwall-express.png dynamic-dns-smoothwall-express.png

traffic-configuration-smoothwall-express.png interfaces-configuration-smoothwall-express.png updates-smoothwall-express2.png smoothwall-ssh-java.png

Endian and Gibraltar are not included in the final results due to not finishing testing.

EndianEndian Logo “is very easy to install, use and manage, without losing its flexibility.” I had a completely different experience. Although Endian is only 106 MB and would easily fit within the 1GB limitation of our testbed, installation failed at 96% – reporting that there was not enough space on the drive.

The installer for Endian has hard-coded values for the suplementary filesystems /var and swap. There is no minimum system requirements listed on their website that I can find, and I checked online for solutions to this problem. The best solution provided was to install Endian to another hard drive, resize the partitions to fit on the smaller disk, then copy it back using an disk imaging software. That workaround does not constitute “easy to install” by any stretch of the imagination.

GibraltarGibraltar Logo is a close match to every other distribution we’ve looked at so far, with a few nice touches. Their website says that they have the following feature at first look, seems pretty kickass: “Anonymisation Gateway: The Gibraltar Anonymisation Gateway makes your overall network traffic anonymous and it makes sure you can surf in the internet anonymously.”

To activate the firewall you must obtain a license key (for free) from their website. Unfortunately, that feature on Gibraltar’s site does not appear to be working properly. I’ve tried multiple times to request a key, and it said one was on it’s way – but never arrived. About a day later I requested a key once again, and was informed that a key already exists for my email address. Not good. Right before publishing this article I finally received a key via email, and it appears that the license key process is not automated, unfortunately. We’ll take a look at it next time around.

Conclusion:

The scoring system gives equal favor to the following categories: Setup, WebGui, Extensibility, and Speed Testing. Each of the distributions passed the speed test with flying colors, with less than 5% margin between highest and lowest scores. It’s difficult to assign arbitrary numbers to reach a score, and I’ve attempted to provide a good metric for which someone can go by to determine which is best for them.

Overall Score

In the end, pfSense is ultimately the best choice overall and provides the best value of all we have looked at today.


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Seven Different Linux/BSD Firewalls Reviewed 的相关文章

  • Swift:是否可以向协议添加协议扩展?

    假设我有两个协议 protocol TheirPcol protocol MyPcol func extraFunc 我想做的是为 TheirPcol 创建一个协议扩展 它可以让extraFunc 从事任何符合 TheirPcol 的事情
  • Swift where 条件检查属性是否已实现

    我刚刚找到了另一种在 Swift 中充分利用协议和协议扩展的方法 即扩展可选协议来添加函数 以便我可以提供默认值 我在这里写了一篇关于此的博客文章 https janthielemann de random stuff providing
  • 为什么 Haskell [] (list) 不是类型类?

    我正在编写一个 Haskell 函数 它接受一个列表作为输入 也就是说 它没有理由不能是队列或出列 或者任何允许我访问它的 头 和 尾 并检查它是否为空 的东西 所以 a 输入类型似乎太具体了 但据我所知 没有标准库类型类可以准确捕获此接口
  • 没有任何成员的界面 - 不好的做法? [复制]

    这个问题在这里已经有答案了 可能的重复 标记接口的目的是什么 https stackoverflow com questions 1023068 what is the purpose of a marker interface 创建一个完
  • 为什么接口变量默认是static和final?

    为什么Java中接口变量默认是static和final 来自 Philip Shaw 的 Java 界面设计常见问题解答 接口变量是静态的 因为 Java 接口不能以其自身的方式实例化 变量的值必须在不存在实例的静态上下文中分配 Final
  • 在 Java 中显式调用默认方法

    Java 8 引入默认方法 http cr openjdk java net dlsmith jsr335 jsr335 0 6 2 H html提供扩展接口的能力 而无需修改现有的实现 我想知道当该方法已被覆盖或由于不同接口中的默认实现冲
  • 在 Objective-c 问题中访问委托静态方法

    我在 Objective c 中遇到了一个奇怪的问题 这是代码 STViewController h import
  • Swift Struct 不符合 Equatable 协议?

    如何使结构符合 Equatable 协议 我正在使用 Xcode 7 3 1 struct MyStruct var id Int var value String init id Int value String self id id s
  • 使用状态模式设计在Java中实现通信协议

    如果在其他地方回答了这个问题 我们深表歉意 找不到足够的信息来说服自己最好的方法来做到这一点 我还意识到这是一个冗长的解释 没有代码 但是让我知道我是否应该编写一些示例代码来帮助演示我正在做的事情 基本上 使用 System in out
  • Typescript 将“接口”键作为字符串的并集传播

    是否可以将函数参数类型检查为其中之一interface s keys export interface IUser id string email string password string const updateUserPropert
  • TypeScript 函数声明在接口中的区别

    TypeScript 接口中这两种函数声明有什么区别 interface IExample myFunction str string void and interface IExample myFunction str string gt
  • JDK 8 中的默认值是 Java 中多重继承的一种形式吗?

    JDK 8 中的一项新功能允许您添加到现有接口 同时保留二进制兼容性 语法就像 public interface SomeInterface void existingInterface void newInterface default
  • 如何区分类实现中两个协议的相同方法名称?

    我有两个协议 protocol P1 void printP1 void printCommon end protocol P2 void printP2 void printCommon end 现在 我在一个类中实现这两个协议 inte
  • 如何声明具有类型并实现协议的变量?

    我的应用程序有一个详细视图控制器协议 声明它们必须有一个viewModel财产 protocol DetailViewController class var viewModel ViewModel get set 我还有一些实现该协议的不
  • typescript 扩展不需要的接口

    我有两个接口 interface ISuccessResponse Success boolean Message string and interface IAppVersion extends ISuccessResponse OSVe
  • 数据源和数据集的区别

    我目前正在开发一个项目 其主要任务是读取存储在 SQL 数据库中的数据并以用户友好的形式显示它们 使用的编程语言是C 我在 Borland C Builder 6 环境中工作 但我认为标题中提出的问题与编程语言或库无关 当从数据库读取数据时
  • C# 接口实现关系只是“Can-Do”关系?

    今天有人告诉我 C 中的接口实现只是 Can Do 关系 而不是 Is A 关系 这与我长期以来所相信的LSP 里氏替换原理 相冲突 我一直认为所有的继承都应该意味着 Is A 关系 所以 如果接口实现只是一种 Can Do 关系 如果有一
  • 删除接口中的冗余类型

    我有以下接口 public interface IRevision
  • C# 中的抽象类和接口类有什么不同?

    C 中的抽象类和接口类有什么不同 An 接口不是类 它只是一个contract定义了public一个类的成员must实施 抽象类只是一个类 您从中可以cannot创建一个实例 通常您会使用它来定义一个基类 该基类定义了一些virtual方法
  • NHibernate 中具有不同类型答案的问题

    我正在尝试找到一个问卷问题的简洁解决方案 假设我有一个Questionnaire类有一个集合Answers e g public class Questionnaire public virtual ISet

随机推荐

  • 附录2 高斯分布与马氏距离

    给定随机变量 xi i 1 N x i i 1
  • 深度学习优化器

    1 什么是优化器 优化器用来寻找模型的最优解 2 常见优化器 2 1 批量梯度下降法BGD Batch Gradient Descent 2 1 1 BGD表示 BGD 采用整个训练集的数据来计算 cost function 对参数的梯度
  • Vue技术 Object.defineProperty

    Object defineProperty 是JavaScript中的一个内置方法 用于定义或修改对象的属性 它接受三个参数 对象 属性名 以及一个属性描述符对象 属性描述符对象有两种形式 数据描述符和访问描述符 数据描述符用于定义普通属性
  • 【蓝桥杯】Java组必备API类 --快速读写实现方法 及输入输出的巧妙处理

    输入和输出 输入 Scanner s new Scanner System in 声明一个从控制台中读入数据的对象 int x s nextInt double x s nextDouble String x s next 无法读入空格 S
  • 统计和——前缀和

    题目大概 给定一个长度为n的整数数组和一个整数k 你需要找到该数组中和为k的连续子数组的个数 测试样例 输入 5 3 1 1 2 1 1 输出 2 思路1 利用for循环暴力枚举子数组 并且求和 计数 时间复杂度为O n 3 如果数据大于了
  • 毕设系列 - stm32机器视觉的口罩佩戴检测系统 - 单片机 物联网 嵌入式

    文章目录 0 前言 1 简介 2 主要器件 3 实现效果 4 设计原理 5 部分核心代码 6 最后 0 前言 这两年开始毕业设计和毕业答辩的要求和难度不断提升 传统的毕设题目缺少创新和亮点 往往达不到毕业答辩的要求 这两年不断有学弟学妹告诉
  • 桶排序 (详细图解)

    一 桶排序 桶排序 Bucket sort 或所谓的箱排序 是一个排序算法 工作的原理是将数组分到有限数量的桶里 每个桶再个别排序 有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排序 最后依次把各个桶中的记录列出来记得到有序序列
  • 攻防世界web之ics-06

    打开网址 四处点击 点到报表中心 跳转新页面 查看源码也没有什么特别的 发现URL栏有 id 1 以为是sql注入 但是并不是 查看大佬的wp 发现这题采用brupsuite爆破 先将抓到的包放到Intruder 然后将id设为变量 然后把
  • WEB自动化测试面试题及答案大全

    1 Selenium是否支持桌面应用软件的自动化测试 Selenium不支持桌面软件的自动化测试 Selenium是根据网页元素的属性才定位元素 而其他桌面软件自动化测试工具是根据桌面元素的位置来定位元素 当然现在也有根据桌面元素的属性来定
  • type_traits

    概述 type traits提供了丰富的编译期间计算 查询 判断 转换和选择的帮助类 其被定义在 include
  • React-50:setState

    对象形式 也是最经常用到的 import React Component from react export default class Demo extends Component state count 0 add gt 对象式的set
  • 计算机网络学习笔记四、http和https

    http和https 从本篇文章开始总结http协议相关的知识点 http协议相关的内容可以分为四个部分 HTTP报文 HTTP请求 HTTP发展历史 HTTPS 1 HTTP报文 HTTP全称Hyper Text Transfer Pro
  • 数据库连接出错?

    数据库连接为什么会出错呢 NO suitable driver found for jdbc 问题源有3 1 连接的url的格式有错 Connection conn DriverManager getConnection jdbc sqls
  • 30个 JS 实用技巧总结,助你提升工作效率

    英文 https javascript plainenglish io 35 javascript short hands coding methodologies 28ea2d7d0a5e 翻译 杨小二 我是Rakshit Shah 我在
  • 【Java】JDK 1.8新特性

    Lambda 表达式 在没有 Lambda 表达式的时候 在 Java 中只能使用匿名内部类代替 Lambda 表达式 以下面的代码为例 查看 Lambda 表达式的使用 匿名内部类方式排序 List
  • c语言输入输出函数printf与scanf的用法格式

    c语言输入输出函数printf与scanf的用法格式 格式化规则例如 5 4f等类似问题的说明 Turbo C2 0 标准库提供了两个控制台格式化输入 输出函数printf 和scanf 这两个函数可以在标准输入输出设备上以各种不同的格式读
  • SAP LSMW日志信息如何导出到Excel里?

    SAP LSMW日志信息如何导出到Excel里 在SAP系统中 数据迁移LSMW运行的日志 是可以下载到本地Excel文件里的 方式如下所示 双击某个会话 点击打印机图标 就可以导出到Excel文件里了 输入文件名 指定文件保存的目录 完
  • 送书

    今天是周三 又到了给大家送书的时刻啦 这次给大家带来的是 OpenCV图像处理入门与实践 文末查看送书规则 简介 OpenCV 是一个开源的计算机视觉库 可以实现计算机视觉算法 本书从 OpenCV 用 Python 实现的基础语法讲起 逐
  • C51定时器和计数器 timer and counter

    代码 include
  • Seven Different Linux/BSD Firewalls Reviewed

    Seven Different Linux BSD Firewalls Reviewed Firewall November 14th 2007 Did you know more than 500 million computers in