I just need to gush for a minute. I am about to shutdown my server in order to move it to the basement. This off the shelf $300 desktop running Pop!_OS is my self-hosting server that has dutifully done it’s job without a single complaint. It has been rebooted maybe three times since 2020 and it currently has an uptime of 840 days. That’s 840 days of not ever thinking about this thing. It self updates via Cron jobs and just…works.
I am afraid to open the box up though. Those dust bunnies must be huge.
This always makes me wince. I don’t think high uptimes should be celebrated. Has your kernel ever been patched or the services running restarted? Just installing the updates is not enough to secure your system you need to be running that new code as well.
Also, I get very nervous about touching those systems. You have no clue what state it is in. I have seen far too many large uptime server have their power go some day and are never able to boot again or don’t boot all the services back up as someone forgot to enable the service.
Nop, rather see them rebooted regularly at a non critical time so we know they will come back up. Or even better have a HA setup.
You can’t allow to lose sight of context. In general I agree with you, but this is not a production server or even a system exposed to the Internet. This is an internal server hosting my stuff to me and only accessible via a VPN server that is on a different machine that is updated regularly who in turn is behind secure physical network devices with their own rules. This machine only job was to be available when called upon and it always has been. It does not need a kernel update although it could use one. All software on it is up to date and all security patches are updated regularly. If by any chance the system was fully compromised, all the culprit would get are tertiary copies of my movies and music collections, which they can enjoy, and a bunch of tertiary copies of my VeraCrypt virtual drives in which I replicate my backups. Again, context.
Lesson time. In security strategy we have the risk equation. The calculated risk of something is the magnitude of the harm it could potentially do, times the probability of it actually happening, all divided by any prevention measures you have or can take. Nothing is perfectly or inherently safe or unsafe, you always have to calculate the risks taking into account all the factors, and balance risk against operative costs. There’s a lot of economic value in a low risk system that doesn’t require much intervention or maintenance.
How vulnerable your system is with an old kernel/old code depends on what you’re running. If you’re running a bunch of sophisticated services that allow access on the open internet, you may have more vulnerabilities than if you’re just running a file share. The kernel doesn’t really matter at all unless either you allow other people to run commands or someone is able to exploit a RCE exploit.
The kernel has tons of vulnerabilities that get patched with updates. You really shouldn’t be running a older kernel for that long
Sure, but those vulnerabilities aren’t just open to the network. Almost every one requires you to be able to run at least unprivileged arbitrary code on the machine.
Usually but are you paying close enough to the security notices to know when it isn’t?
It’s very big news when there’s a vulnerability in the Linux kernel itself that can be remotely exploited. Like, everyone on any security show/podcast/blog is talking about it.
https://www.cvedetails.com/product/47/Linux-Linux-Kernel.html?vendor_id=33
Cool, CVEs don’t tell you whether it’s remotely exploitable. What I’m talking about is an issue with the Linux kernel itself that can be exploited without having the existing ability to run code on the machine.
True, you do need to look at the exploitablity score. You are right almost all of the CVEs are not easily exploitable.
However, assuming your device is secure isn’t a great idea. I think it is wise to just update so you don’t have to worry about it. It is relative simple to update and reboot if needed.