OpenBSD is a cozy operating system
btxx.org
btxx.org
Documentation is comprehensive, and configuration can be completely derived by reading man pages. The defaults are reasonable, and the documentation is useful for tweaking things.
Both pledge and unveil have made certain third party applications like Chrome significantly safer.
The OS is small and performs well on older hardware. I use it on my "throw away" travel laptop with full disk encryption backed by a USB key that I keep separate from the laptop when it is not in my immediate possession.
I also ported my personal website to OpenBSD. I use a variation of BCHS (https://learnbchs.org/) for dynamic content. I've tweaked this framework to use serialization barriers and LMDB instead of SQLite. I can use both pledge and unveil along with some DJB style application decomposition to get reasonable defense in depth while keeping the code easy enough for a newbie to understand.
Is it better than operating system X? Probably not, but really, that's not the point. It's small, well put together, well documented, and safe enough.
I run FreeBSD on my development server, mainly so I can take advantage of ZFS and better virtualization support. But, many of the virtual machines I run on my dev server are OpenBSD based.
Some BSDs use an external compiler on some platforms, and in that case, you have a build dependency on that, and trusting trust may apply.
From [0]
"The system includes the following major components from outside suppliers:
Xenocara (based on X.Org 7.7 with xserver 21.1.11 + patches,
freetype 2.13.0,
fontconfig 2.14.2,
Mesa 23.1.9,
xterm 378,
xkeyboard-config 2.20,
fonttosfnt 1.2.3 and more)
LLVM/Clang 16.0.6 (+ patches)
GCC 4.2.1 (+ patches) and 3.3.6 (+ patches)
Perl 5.36.3 (+ patches)
NSD 4.8.0
Unbound 1.18.0
Ncurses 6.4
Binutils 2.17 (+ patches)
Gdb 6.3 (+ patches)
Awk January 22, 2024
Expat 2.6.0
zlib 1.3.1 (+ patches)
Not really, systemd was 1 way that openssh could load liblzma, but another would have been thought the selinux PAM stack. It didn't exactly rely on anything systemd specific, just that it was a (transitive) dependency to openssh.
And the entire notification stuff can also be done without linking to libsystemd, but the maintainers that added the patch I guess didn't want to reimplement it manually (now the docs have a fully functional example ready to copy-paste, but before the protocol was just explained).
So... Some other huge subsystems that OpenBSD does not include.
What's an equivalent example that could actually happen in openbsd?
If you consider it to refer to the supply chain attack, well, OpenBSD is too minor a platform for anyone to consider it worthwhile trying to invest in the long supply chain attack for the OS.
If you view it as the break-xz-to-attack-sshd, OpenBSD is designed as a single system with a single codebase, and has a general aversion to features such that it is difficult for an undersecured random library to become a vehicle to breaking a major, important component.
If you view it as the techniques used to publish an exploit in open source code, well, OpenBSD is filled with the kind of developers whose self-confidence is such that they believe that they are uniquely capable of writing code without those kinds of issues and will denigrate the use of newer technologies that mitigate that risk with the attitude that it coddles programmers and coddled programmers aren't good programmers. Or, in shorter terms, OpenBSD is actually one of the projects I'd expect to have a relatively high chance of a clever contributor being able to smuggle in an exploit in plain sight.
Honest question.
One significant reason that pledge was implemented was because it is possible to disable or mis-configure user-controlled policies. Theo mentions this in his presentation that unveiled pledge, and he's basically referring to things like seccomp and systrace:
https://www.openbsd.org/papers/hackfest2015-pledge/mgp00005....
More explicitly mentioning seLinux / seccomp:
https://www.openbsd.org/papers/hackfest2015-pledge/mgp00008....
https://www.openbsd.org/papers/hackfest2015-pledge/mgp00011....
More explicitly mentioning systrace:
https://www.openbsd.org/papers/hackfest2015-pledge/mgp00009....
Certainly, it's possible to debate the relative merits of this approach, but this is why OpenBSD has moved away from user controlled policies.
I agree that OpenBSD is a minor sized target, but I recall these bits from back in the day.
EDIT: accusations from ~2010 about actions ~2000
"FBI accused of planting backdoor in OpenBSD IPSEC stack" [0]
"A Chapter from the FBI's History with OpenBSD and an OpenSSH Vuln (twitter.com/rooneymcnibnug) 127 points by signa11 on July 21, 2019" | 23 comments [1]
"Theo de Raadt summarizes the OpenBSD IPSec "backdoor" situation"[2]
and HN discussion "36 points by there on Dec 21, 2010 | 47 comments [3]
[0] https://arstechnica.com/information-technology/2010/12/fbi-a...
[1] https://news.ycombinator.com/item?id=20489904
(Excluding shellshock/log4shell kind of vulns)
I mean an exploit against some service running on openbsd, or even necessarily the os contents..
Edit: I don’t mean an 0day, just an exploit that worked on some combo of openbsd and x. X being anything like e.g Apache or Bind or whatever
Here's what I find googling:
https://github.com/superzerosec/cve-2020-7247
2020-01-29
I think later they had another crashing bug that wasn't exploitable. This one from 2020 was poor validation of input leading to a shell command. A very 90s bug indeed.
> OpenBSD is designed as a single system with a single codebase, and has a general aversion to features such that it is difficult for an undersecured random library to become a vehicle to breaking a major, important component.
From what I understand, those security benefits aren't incidental; they are a major reason for doing those things.
> a clever contributor
Doesn't seem like it would be very hard for someone to join the team and obtain maintainer status? Also, remember the social engineering done by the xz attacker to get their exploit included in updates - that also seems a bit challenging in the OpenBSD project.
OpenBSD seems to do more careful code reviews than other projects, but I don't know that I have an objective measure of it.
Sociological theories of computer security are magical thinking.
It could happen but it did not happen.
Linux distributions that use glibc and systemd are popular. Linux has millions of dollars behind it, and many corporations contributing their time and money, some building businesses around Linux. AFAIK, OpenBSD does not have similar resources. It's volunteer-supported.
Berkeley Software Distributions use their own libc, such as OpenBSD, and their own init system (not systemd) and are relatively unpopular.
The liblzma exploit that was discovered targeted Linux distributions that use glibc and systemd. Specifically, it relied on a feature of glibc called ifunc.
If an exploit targeted OpenBSD, then there would probably be less "drama".
Unpopularity probably plays a role in avoiding "drama".
Also consider the use of features such as ifunc and systemd. In some cases Linux may use features that BSD projects do not have. The liblzma exploit author chose to target Linux-specific features.
Also, glibc and systemd are different projects, the later is associated with a commercial entity. The libc and init system used on a BSD project are normally both parts of the BSD project, and the project is not associated with any commercial entity. Whether that has any effect on anything is left as question for the reader.
With Linux there's a bunch of people who seem to want Linux to be more like BSD, while the rest want it to be more like Windows/Android, so there's a lot more bickering.
Source: I use Void, btw.
Ironically, the thing that I find most appealing about switching to a bsd is what makes it most similar to Windows, in that its mostly a whole operating system.
I like KDE, I don’t ever eveb change the wallpaper, though. I don’t want a tiling windows manager, I dont care about x vs. wayland, I just want to see what I’m doing, and, oh the system works? F—- if it uses systemd or not!
You got a version of a package that isnt 3 years old? It doesn’t have the newest backdoor? Great! I can get things done!
And thats why I find something like FreeBSD appealling. Im sorry, I want to get things done, maybe have some fun, and not have to deal with a future of subscriptions or invasive telemetry. Sorry if I want a bsd thats too much like Windows…
I'd imagine it's a bit harder for the Gentoo users, since it's easy to accidentally add a dependency on some DBus daemon or something, and never notice if you don't ever use any lighter distros.
https://web.archive.org/web/20240000000000*/https://filebin....
Also, OpenBSD support for WiFi is generally considered less robust than Linux. For example, no 802.11ax support as of this post: https://www.openbsdhandbook.com/networking/wireless/#support...
... did someone change the meaning of "out of the box" or "core systems" while I wasn't looking?
For a mobile phone, it's probably a core system; connecting to a car radio is an important use case. If wired android auto/car play includes hands free calling over usb, then that could be enough, and maybe bluetooth can be relegated to my history bin; but a lot of people like wireless earbuds.
As for WPA3, I dunno? Afaik, I've never needed that either, but my wifi is a bit old.
Support on that front could definitely use some improvement. I had to turn off Bluetooth in the bios because it made my box hang on startup. Never bothered to find out why because I don't need it anyway.
OpenBSD prioritizes simplicity over almost all else.
And modern OS’es do complex work to fully utilize all cores. This complexity is something OpenBSD has yet to adopt.
Ironically, DragonflyBSD forked from FreeBSD over wanting to go down an innovative (and simpler) approach to SMP … and while it took it awhile to get there, its performance is on par or better than all the BSD, including FreeBSD. (With the smallest of all dev teams of the BSDs too)
What makes OpenBSD incredibly secure?
I don't have a strong opinion about it myself, but the security aspect of OpenBSD is not as obvious as some people make it out to be.
> Because the OpenBSD community is notorious for not being nice and welcoming:
And it isn't about the politics of the obsd developers, as I would have thought that website would have made abundantly clear, it's about the fact that the obsd developers are extremely prideful and unwilling to listen to other people's input and have crank-like is used concerning security according to most security professionals, so it would simply be unproductive to come to them with these issues.
So your attempt to insinuate that this website is purely dunking on obsd because their community is insufficiently inclusive or progressive or whatever and has no actual technical merit to it is simply wrong and misleading.
In other words they intend to hurt the reputation of people they don’t like rather than fix problems.
They literally said, the website would not exist but for spite.
> obsd developers are extremely prideful and unwilling to listen to other people's input
That describes these sideline critics well. If you show the devs a vulnerability you don’t think they will fix it?
> has no actual technical merit
Well that’s ok because I’m talking about a social problem.
On top of that, would a direct attack on their CVS even be noticed? I hope so.
Ok for a while but I wish we had build a house by now.
And it's really my house, not Microsoft's, Apple's or even Canonical's or RedHat's.
Now a large part of this is familiarity and I like to delude myself that it is because I feel that I understand obsd is a way that would be very difficult on any other OS. But I don't like free or netbsd nearly as much. So because I am unable to describe what I like about it I would suggest people try it, if you like it, that is great, but if you bounce off, which is understandable there are an awful lot of limitations using obsd on the desktop, don't force yourself to use it.
The same seems to be tru for nuttx which I just stred exploring.