Brian Keefer wrote:
There ARE a number of vendors selling OBSD solutions, actually. One I
remember running across is LOK Technologies.

Drivers should NOT be an issue - you're building an appliance, it should
be pretty simple to picl compatible s/w.

    Lee

It's not to say there aren't vendors out there using non-Linux platforms for their appliances. I mentioned CipherTrust, but they also ran into some OS-specific issues when dealing with their DB vendor... IronPort is also based on FreeBSD, but their choice of AV engines is apparently pretty restricted. Why else would they still only have Sophos after all these years, while every other e-mail appliance vendor has multiple AV choices? My guess is they can't use Linux binary compatibility because of the extent they've hacked their kernel and FS. Maybe that's not true, but you have to wonder why they don't have McAfee or Kaspersky or Panda, etc. Borderware also uses a FreeBSD based platform, but they're a little different because they started with that for their firewall product (a reasonable choice) and extended it to e-mail later when they built a product for that. I might also point out that it took over 4 major revisions of their e-mail software to get it anywhere near stable on top of their OS.

As for the drivers... like I said, it restricts options. Our entry-level box at one point had a built-in RAID controller that was one of those pseudo-hardware controllers that was really run by a binary blob. That wouldn't have worked on OpenBSD. The motherboards we currently use have built-in nForce ethernet chips, which only became supported in 3.9. We use them for secondary/tertiary interfaces (it's basically a "free" feature that customers get). Our other options would be to select a motherboard that didn't use "blob-dependent" chipsets, or put riser cards and separate PCI cards in, or just simply ship with less features. That would either be more expense, or less value for our customers. It would also add time to our release cycle by having to test more hardware before we settle on a final design.

It might seem like a small amount of time, but a few extra combinations means a few extra weeks of QA time, and possibly engineering would have to delay coding while waiting on the final hardware config, etc... QA is actually a lengthy process in appliance design, so any added complexity in the test matrix has a negative impact on projects very quickly. It's not to say it couldn't be done: It absolutely could be. It's just that it wouldn't be zero cost, and why would we do that unless we had to?

There are lots of ways to do anything. In the end it depends what goal you're trying to achieve. If your goal is to use your favorite operating system for the project, that's certainly doable. If your goal is, hypothetically say, minimizing time to market while keeping a lid on engineering and QA costs, your OS selection might look a little different.

It's just simply a matter of using the right tool for the right job. If you're trying to do heavy-duty packet filtering VPN end-points, or routing (where most of the code is leveraging built-in tools), a *BSD is probably a good choice. If you just need a platform to load a bunch of software on top of, some of which is third-party commercial stuff, *BSD is not going to be your best choice.

Good points Brian. As a fellow appliance builder, I can really appreciate and identify with what you said. For me though, the "right tool for the right job" is OpenBSD.

Warning.. shameless plug ahead.

When I was still a grad student, my professor Dr. Yuliang Zheng (inventor of HAVAL and signcryption) and I decided to start a business to get some of our research out into the market. Our first product, the AccessEnforcer, began as a simple email filtering appliance based on OpenBSD.

Many years (and bowls of ramen noodles) later, the box has since evolved into a full-fledged Unified Threat Management (UTM) appliance that does firewall, intrusion detection/prevention, VPN, anti-spam, anti-spyware, web filtering, email filtering, IM blocking, etc. -- and it is still based on OpenBSD.

From Day 1, we began building the box on OpenBSD for a very simple reason -- we will never let our customers use something that we do not trust and use ourselves. OpenBSD is the only platform I trust to build firewalls and other critical Internet-facing machines, so it was a natural choice to use it for our product. So yes like you said, it was "certainly doable." :)

Our target market is small to medium-sized businesses, who rarely have enough resources for IT security so it also makes sense to use a solid platform like OpenBSD for them.

As for AV engines, we're a bit different from the other vendors since we use DyVax, our own signature-less AV engine which is the technology we were trying to bring to market in the first place. :)

Of course OpenBSD is not perfect.. as you have pointed out, there is a lack of drivers. So yes we had to be careful when choosing hardware vendors. It wasn't too difficult, but it also certainly wasn't "pretty simple" like another misc@ poster suggested.

But what I found was, the drivers that _are_ there in OpenBSD are complete and Just Work -- there is no need to hunt down half-working third-party source code patches (or *shudder* binary blobs) or play the chase-the-kernel-version game to get something to work. I'd take a high-quality OpenBSD blob-free driver over a non-free driver any day.

Another bonus of using OpenBSD: sensible API like strlcpy(3)/strlcat(3), the sys/queue.h and RB-tree convenience macros, and extra security-focused gcc warnings actually make development fun. There's also plenty of high-quality source code to learn from.. as I dig deep into both the userland and kernel, it is evident how well thought out the entire system is. In a world of bad code and vulnerabilities, it is such a joy to be able to read and learn from OpenBSD code to develop better software every day.

Bottom line.. OpenBSD is a very viable and solid platform for commercial security appliances. It does require some investment in choosing hardware upfront, but in return you get a clean, secure, and robust foundation to develop on, which I believe will pay off in the long term, especially for security appliances.

As an aside, it seems like there are a fair number of us OpenBSD users here in Silicon Valley. Lots of us have been individually lobbying various hardware manufactures, most of which are headquartered in this area, to release documentation for their products. I think it might be more effective if we combine efforts and started pressing to get in-person meetings with folks in product marketing at some of these companies. If we could get 2 or 3 of us who are pretty well versed in the business side of technology to present well-reasoned arguments for why it would benefit these companies to have their hardware more widely supported, we might begin to see some cracks in the blob armor.

Is anyone else local here interested in starting an unofficial lobbying group to put together some position points as to why hardware vendors should release documentation and start trying to schedule some meetings with vendors?

I applaud your efforts in doing this. I'm based all the way over here on the east coast in Charlotte, North Carolina, so I probably won't be of much help for in-person lobbying efforts in Silicon Valley.. however please email me privately if you would like to discuss any way I can help lob some ammunition your way. :)

My 2 cents,
Lawrence


Lawrence Teo
Calyptix Security
8701 Mallard Creek Rd
Charlotte, NC 28262
Phone: 704-971-8989
[EMAIL PROTECTED]
http://www.calyptix.com/

Reply via email to