this post was submitted on 16 Sep 2023
78 points (84.2% liked)

Selfhosted

39282 readers
290 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

TL;DR - What are you running as a means of “antivirus” on Linux servers?

I have a few small Debian 12 servers running my services and would like to enhance my security posture. Some services are exposed to the internet and I’ve done quite a few things to protect the services and the hosts. When it comes to “antivirus”, I was looking at ClamAV as it seemed to be the most recommended. However, when I read the documentation, it stated that the recommended RAM was at least 2-4 gigs. Some of my servers have more power than other but some do not meet this requirement. The lower powered hosts are rpi3s and some Lenovo tinys.

When I searched for alternatives, I came across rkhunter and chrootkit, but they seem to no longer be maintained as their latest release was several years ago.

If possible, I’d like to run the same software across all my servers for simplicity and uniformity.

If you have a similar setup, what are you running? Any other recommendations?

P.S. if you are of the mindset that Linux doesn’t need this kind of protection then fine, that’s your belief, not mine. So please just skip this post.

you are viewing a single comment's thread
view the rest of the comments
[–] just_another_person@lemmy.world -4 points 1 year ago* (last edited 1 year ago) (1 children)

Big eyeroll on this shit here 🙄

Containers aren't more secure, they are just less likely to be a propagation point to something that might ransack a Windows network.

A vulnerable runtime is a vulnerable runtime. If it's exposed to a public network, it will eventually be found and breached. Stop spouting this "containers everywhere" bullshit in the name of security. It's asinine, and makes you sound bad at your job. A bare metal server running any runtime version of anything is just as vulnerable as any container, you twat.

[–] jlh@lemmy.jlh.name 1 points 1 year ago (1 children)

I dont see how anything I said justifies you calling me names and calling me bad at my job. Chill out.

Containers allow for more defense-in-depth, along with their multiple other benefits to maintability, updatability, reproducibility, etc. Sure, you can exploit the same RCE vuln on both traditional VMs and containers, but an attacker who gets shell access on a container is not going to be able to do much. There are no other processes or files that it can talk to or attack. There's no obvious way for an attacker to gain persistence, since the file system is read-only, or at least everything will be deleted the next time the container is updated/moved. Containers eliminate a lot of options for attackers, and make it easier for admins to setup important security systems like firewalls and a update routine.

Obviously containers aren't always going to be the best choice for every situation, architecting computer systems requires taking into account a lot of different variables. Maybe your application can never be restarted and needs to have a more durable, VM solution. Maybe your application only runs on Windows. Maybe your team doesn't have experience with kubernetes. Maybe your vendor only supplies VM images. But running your applications as stateless containers in Kubernetes solves a lot of problems that we've historically had to deal with in IT Operations, both technically and organizationally.

[–] just_another_person@lemmy.world 1 points 1 year ago* (last edited 1 year ago) (1 children)

The problem is you're presenting this to people as a solution to a question that has zero to do with the valid applications of containers, some of which you just mentioned. Containers have a purpose, sure. I'm not arguing against that. What I'm incensed by is devs commenting similar awful solutions to a legit problem, and it's increasingly becoming "use a container for that" for almost any concern, which is not only sending people down the wrong road, it's just poor advice.

Another note on your response, which is essentially "access to container won't get you much". Compromising a container gives you access to whatever that container has access to. Your position that it is somehow more secure is just 100% wrong. Refined and granular access controls to resources is the security layer, NOT the container. Sure, you probably can't affect the container host, but who cares when you'll expose whatever that container has access to, which is data and services. Same as any VM or bare metal server.

Containers are a portable way to exploit resources more efficiently, and that's it.

[–] jlh@lemmy.jlh.name 0 points 1 year ago (2 children)

I respectfully disagree. Containers are 100% the right choice in this situation. They provide the defense-in-depth and access controls that combat the threats that OP is targeting by using ClamAV.

The goal isn't securing a single database through a single attack vector. And it's not like ClamAV would help you with that, either. The goal is preventing attackers from using your infra's broad attack surface to get inside, and then persisting and pivoting to get to that database.

It's just not true that you can get the same level of security by running everything bare-metal, especially as a one-man, self-hosted operation.

[–] just_another_person@lemmy.world 1 points 1 year ago (1 children)

Friend, I'm not trying to be rude here, but not only are you failing to understand to question from OP, you're failing to understand the implications of what you're also proposing with a container. OP wants to scan static files with an AV solution.

Are you proposing that they store ALL the files from their file server in a container? Are you suggesting they mount the volume to the container at runtime in order to access and scan them? Both are ridiculous solutions for different reasons. The former is just idiotic because it immediately removes the safety of said files and makes the container non-portable, and the latter because you're just adding a container as overhead with zero benefit or added security to the host instance, just to scan files at regular intervals. A container with a volume mount is exactly the same thing as running the file servers on the host OS. You're not making any sense.

[–] jlh@lemmy.jlh.name 0 points 1 year ago (1 children)

OP is asking for a guard dog to keep robbers from walking through their unlocked door. I'm telling OP to just lock their door and don't bother with a guard dog.

And what you're suggesting achieves none of that, so I'm confused on why you think running a container is guarding anything.