Comment Apples, Oranges, and Knowing Your System. (Score 1) 135
That's a fundamentally different approach quite useless for trying to protect against software that doesn't bother to make use of unveil, like pretty much everything on github and any commercial software.
You're conflating OpenBSD with a general-purpose OS. It's an opinionated OS meant for two purposes: a desktop for those who like the way that OpenBSD looks and feels, and a server for managing simple services like mail, static HTTP, and proxies. Someone using OpenBSD to build a public server should follow the handbook, which recommends the use of certain pre-built packages and ports. The OpenBSD ports team has put in a lot of effort to add privilege separation to these packages and ports. The main reason why OpenBSD developers adopted pledge and unveil was for the ease by which these tools can be incorporated into existing free software.
If OpenBSD doesn't have well documented support for a given service or package, you really shouldn't use it if you are concerned about its security footprint. If you're planning on running a public server hosting random software you download off of github, and you lack the ability to modify this software to follow the rules in the handbook, then OpenBSD isn't the OS for you. That's fine. There is a reason why there are many operating systems and many flavors of Linux. Pick one you like. Either way, configuring a system to be safe requires work. Furthermore, it requires the use of many tools, and not just filesystem lockdown, pledge/unveil, containers, seccomp, etc.
Barring hardware vulnerabilities, process isolation in BSD or Linux is pretty reasonable. Privilege separation and reducing the syscall footprint using pledge, seccomp, capsicum, etc., work with process isolation to provide reasonable defense in depth. This works as long as you can control the software being run, which is generally the case for simple mail, static HTTP, or proxy servers. This happens to be OpenBSD's bread and butter. But, different OSes can do similar things with different forms of configuration. OpenBSD chose pledge and unveil because it required the least developer involvement to port certain utilities to the OS. They didn't choose it so system admins could build custom policies on their own.
I highly doubt that you or any reasonably experienced adversary would have an easy time breaking a properly configured service on OpenBSD with privilege separation and pledge/unveil, nor a properly configured service on Linux with privilege separation and seccomp. At that point, it's Ford vs Chevy, or Mac vs PC. Use what you like.