I did some rudimentary research and came to the opinion that OpenBSD might be the most secure OS.
I am looking at.
- security (from hacking and spyware installations)
- usability (Tails is not practical in my case)
- availability of important tools I use.
Anyways after some research I later came to choosing between either Trisquel or OpenBSD (maybe FreeBSD)
I have not used BSD before. But it seems it's the most secure OS out there.
My questions.
1. What has been your experience with OpenBSD?
2. What are the pros & cons of using Open BSD?
3. What laptop would run OpenBSD best? (I am looking at the Razer Balde)
Given my requirements, do you have any other technologies you recommend I use?
Was choosing OpenBSD over Trisquel (Trisquel is Stallman endorsed) a better choice for someone who is concerned about privacy & security?
Thanks.
OpenBSD base system is designed to be a very secure server OS, but this comes at the expense of requiring you to read a lot of docs and figure things out when you leave the base system. Drivers may be annoying and 3rd party software that expects Linux will not work easily. It is definitely far off the paved road. If you want your computer life to be an Interesting Challenge or Hobby, it’s good, but if you want to just get stuff done it may be frustrating.
I suggest you look into QubesOS, which has put a lot of work and research into isolating GUI applications from each other using hypervisor. Its hardened Linux VMs with a hypervisor underneath and probably what I would pick if I wanted a “secure workstation OS”. It will probably work with more laptop wifi cards than OpenBSD. https://www.qubes-os.org/
My experience on the good side:
- OpenBSD has a very clean code base. Simple and to the point with no useless abstraction, which is ideal if you want to understand your kernel or make light changes. It's obviously opinionated, but I found OpenBSD to be clearer and simpler than FreeBSD and even NetBSD.
- Modification, build and boot of a kernel is a breeze. If you have been frustrated with Linux kernel development, OpenBSD is a million times simpler.
- If you use a common laptop, especially ThinkPads T series, then hardware and drivers won't be an issue.
- My usage is pretty typical for a programmer user: I need a WM (i3), a browser, a nice terminal, and development tools (c, c++, rust, python). Software is pretty up to date IMHO, nothing to complain about.
On the bad side:
- I found the core community annoying and immature. Every discussion that implies something could be done in a manner that ressembles what Linux does has to be mocked and turned to derision. It feels like a small circle of long time friends keep the projects in their hands and if you're either in or out this circle. This leads to a "us versus them" mentality that I dislike.
If you intend to use it as a desktop OS, the amount of things you have to add will likely greatly increase the surface area to secure.
We once had a breach where through an insecure third-party service (I forget but it may have been some PHP script), someone managed to execute a remote payload on an openbsd server.
Luckily, the payload assumed a Linux system with an available C compiler, and it failed to “explode” in the alien openbsd environment.
To sum up, openbsd is indeed more secure but it’s not a panacea. As long as you follow best personal computing security practices you should be ok with either Linux or Openbsd.
There were occasional situations where esoteric hardware support was iffy (especially software driven win modems). I anecdotally believe there’s a better experience today but would probably pay attention to GPU and wifi hardware.
Install is a breeze, probably one of the better install experiences out there. The port system was very easy to use to install 3rd party apps. Also pretty easy to build most things from source or modify for its particular differences.
The community around source contribution takes a little adjustment since there is a real focus on the OS design goals and less so on specific edge cases. Contributing to ports is a little more accessible.
I’ve used FreeBSD around the same time with similar experience. A little larger of a community there though I found OpenBSD’s contributors to be highly engaged and accessible.
Really forces me to think about what I want versus need out of a computer.
> pros & cons
+ Comes with everything for a home lab: packet filter, DHCP server, FTP, and web server.
+ Bundled with C compiler and perl in base.
- Limited drawing tablet support.
> What laptop
Any model with a successful installation blog post will do.
> OpenBSD over Trisquel
With two cheaper machines for the price of one, one could run both operating systems. Then you can learn kernel compile, static IP, SSH, and practice sysadmin tasks (backups, cron, OS internals) from both perspectives.
I cannot say much about security, but in terms of reliability, I have only good things to say about the system.
EDIT: Once you connect a device to the Internet and possibly install third-party software on it, your own expertise is likely to have a bigger impact on security than the underlying system. I am not recommending to NOT use OpenBSD, but if you have no prior experience with it, you might have a better experience using what you know.
The installation procedure was rather easy, I just had some hiccups when configuring stuff due to my background with Linux vs how things are done in *BSD.
But security comes at the expense of system responsiveness, so if things with an i3 processor were rather slow, all the stuff OpenBSD makes to keep you secure don't help much in that regard. Still I guess for more decent specs it can be much more bearable.
Another trade-off is that you're supposed to read a lot of documentation. Questioning things are discouraged because their documentation is the holy scriptures for them and everything is already answered there, since how to start X at boot to the meaning of life and the ultimate end of the universe. Not a welcoming mindset for newbies in my humble opinion, and even less for us who don't speak english as their native language, but surprisingly (and funny enough) some of the *BSD people diss at Linux since it's the latter the popular one and not them... So yeah, if you want a secure system you must devote a fair share of time into reading (technical) documentation, but surely you'll learn a thing or two.
I personally couldn't bear pkg/pkgsrc at all - I'm so used to Portage it felt so restrictive in terms of customizability. But if you come from, say, apt or rpm, it would be fine I guess. I heard even KDE is available for it so it seems they're working hard in making more software available for them.
Still it seems nothing beats OpenBSD in terms of security so it will be a great choice for you.
It's probably more secure than most linux distros and other BSDs by default, but if you're really trying to lock a system down seLinux and cgroups are probably more securable.
Those important tools you use may or may not run. Games almost certainly won't work unless they're open source. You probably don't want to use OpenBSD for anything that would benefit from the latest GPU drivers. Sndio is pretty nice for networked audio. If you use VMs heavily, you'd be better off with linux or another BSD.
Bluetooth isn't supported. Most modern hardware works unless it's brand new or obscure, but some peripherals may not be fully supported and battery life is probably worse than Linux but is usually comparable to or better than other BSDs. I'd prefer intel for laptops because the graphics and wireless are very well supported.
2. Pros: Secure, clear documentation and straight forward to configure, quality tools made by the project- pf is fantastic (I use authpf a lot too). The packages tend to have what you need included (php, etc.) When you get something set up it tends to keep running well for a long time.
Cons: If the package isn't well maintained, then it will eventually be removed, so there are some packages missing, but usually you can just compile it yourself. It also means the packages that exist tend to be maintained well and are secure.
3. Not sure on this, but one thing to check is the WiFi card. I tried with an older ThinkPad, and some of the ThinkPads have compatible Wifi cards, and some didn't. I got one that wasn't compatible.
Suggest using Debian and accepting that internet connected computers are not secure against hacking or spyware, however you try to set them up.
Tried it. Messed around with it for a few projects at home, looked at it as a Key Mgmt solution. Seems okay, but nothing that I couldn't do with some flavor of Linux, or FreeBSD. This was ~4 years ago? Maybe there have been changes
2. What are the pros & cons of using Open BSD?
It's secure. That's about it, mostly. While I'm sure it's more secure at a microcode level, I'm not sure that, in a practical sense, it's more secure than a hardened Linux install.
It wasn't hard to get it running, but not easy out of the box like Linux.
3. What laptop would run OpenBSD best? (I am looking at the Razer Balde)
I would not put it on a laptop; I'd consider QubesOS before OpenBSD, as O-BSD is a server OS and it would be a pain to make laptop drivers work. Like, I haven't messed with ndiswrapper and wifi for like a decade, and have no intentions of playing those sorts of games again.
- The UNIX(TM) experience
- Better manual pages than linux
- Excellent testing ground if you want to keep your scriptery portable
Cons:
- Binary incompatible with glibc linux
- No driver support for my specific iwlwifi card
What are your specific application requirements? OpenBSD is a BSD, not a linux, so you aren't going to have access to the benefits of the linux kernel - specifically hardware support.
You mention the device you are thinking of is a Razer Blade - which is chock full of hardware with closed BIOS and that will require 3rd party drivers. Its not exactly a libre device. The availability of some of that on linux may be limited, and may not exist in many cases on OpenBSD.
Maybe your question would be better posed by describing your requirements - what hardware and software you need/want/would like to use - then people may be able to advise based on that.
ThinkPads might be your best bet. Someone here has cataloged their experience with OpenBSD on laptops: https://jcs.org/openbsd-laptops
About the security, which is my main reason for using it: I like having to install the things I really want, which gives me a chance to consider the security implications of them, instead of having many things pre-installed and I don't know what the total risks are. And nothing else I know of has gone since ~1996 with only 2 of the worst kind of security holes (i.e., remote exploit of something I didn't even need, but was installed by default).
In the base install are many useful things (including a web server IIRC, though the port is not exposed by default), and those are audited and have that excellent track record.
Then when you install extra things, they are usually limited by what user they run as, and usually have pledge/unveil run (limiting access to predetermined/approved syscalls and parts of the file system) so they can't break other things if compromised.
I do change my default umask (/etc/profile, sourced by shell startup files for all users) to 0077, which means putting the pkg_add command inside a script ("pa") that first sets it back to 0022 temporarily.
Also, for finding packages to install, doing pkg_add pkglocate, then using pkglocate -i, or pkg_add portslist then just searching the whole list with things like less /usr/local/share/ports-INDEX or less /usr/local/share/sqlports-list can be useful. There are very many packages available (over 12k on the amd64 platform).
Linux GPU story is not stellar but for embedded applications it’s not too bad; KMS, DRM, and GL or GLES library stack worked amazingly well for me.
What is really, really nice about OpenBSD is running ‘ps -ax’ on a fresh install. You get about 10 processes, each of which has an obvious responsibility. You can actually understand everything your OS is doing. Try that on Ubuntu, Windows, macOS.
Limited, tried it few times in a decade or so, used as a custom router for some years, then given up since for NixOS to have easy replication and much less hw issues.
> What are the pros & cons of using Open BSD?
IMVHO simplicity it's a pro, documentation is pretty well done, however hw support is limited and pkgs availability it's not that much. Being binary-centered instead of source centered like FreeBSD it's easier to maintain as long as you do not need much current software or non-official pkgs. The biggest cons for me is that's as most systems even today, it's not declarative.
> What laptop would run OpenBSD best?
I suggest only desktop hw, especially if you care about battery life.
> Was choosing OpenBSD over Trisquel (Trisquel is Stallman endorsed) a better choice for someone who is concerned about privacy & security?
IMVHO if you want something free in the GNU sense try Guix System, it's too much (IMO) focused on HPC instead of the desktop, but it's by far more rich, modern and have very good docs as well. Once you tried a declarative system you'll not go back to anything else.
About your requirements:
- security :: OpenBSD is very attentive, but it's community is way too little to keep up, so while formally "more secure", "more audited" than any GNU/Linux distro I do not consider much more "secure by default", and I do not consider "security-centered" distro more secure than mainstream ones... In general anything sold to be secure turn out to be much less secure than most else;
- usability :: as an embedded system OpenBSD is usable as long as the hw you have is supported, as a desktop well... IMO not much these days. Desktop needs vary much but...
- availability of important tools I use :: little community, less packages is always obvious. Guix have much more and could import NixOS packages (derivations) witch are along with Arch AUR the biggest repo existing today, but that does means not much, it's depend on which tools you use. Individual packages might be there community supported since years or not.
OpenBSD is very well documented and if you are focused on security research or development it can be a good choice.
Pros:
- no-bullshit OS
- very clean, you know what is where and why
- distraction-free
- proactive security approach
Cons: - slow if you use heavy software like Chrome
Potential deal breakers you should know about: - web assembly is turned off by default for security reasons (login to Hetzner or Sinology, using Google Docs is a problem)
- watching videos in the browser does not feel great
I conclude that it is great for (my) work and encourages you to be minimalistic.
What are you planning to use it for (laptop suggests possibly a workstation?)
And what is your threat model? Who is the most likely attacker - govt? Crypto theft? Supply chain?
What's your threat model that a vanilla Fedora or Ubuntu install isn't secure?
2. Pro: Only two remote holes in the default install, in a heck of a long time! Con: Less (pre-built) software than linuxes.
3. Something cheaper than a Razer-Blade.
4. You have not stated your requirements other than 'security', which if you demand no more than two remote holes in a very long time, then OpenBSD it is. If 'security' means something other than that you might want to go with a different OS.
You are trying to decide what-OS to base your work on. That depends on what your work is. If you are looking for cutting-edge? Go with Linux. If you are looking for a 'whole-system' approach? {Open|Free}BSD
I'd say we need more details if you want a better answer.
See also: https://forum.qubes-os.org/t/qubesos-vs-openbsd-security/790...
- bsd is good enough for servers
- mainstream Linux is good enough for desktops
- forget about OSS laptops unless it’s a 15 years old thinkpad
It was good luck to be exposed to BSD in school.