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.
I have been using linux for almost 2 decades, never seen a virus. And I never heard of a colleague or friend who got one on Linux. That’s why no one has ever installed an antivirus, because, till now, the risk has been practically zero.
On windows, on the other hand, I saw so many viruses on friends and relatives computers…
People install antiviruses depending on the experience.
To be fair, we all know on Linux viruses exist, but is objectively pretty difficult to get one. It is not worth installing an antivirus if one doesn’t actively install garbage from untrusted sources
It’s not any more difficult to get a virus on Linux than Windows. It comes down to experience as you said. I’ve been using Windows for my entire life and haven’t gotten a virus since I was 8. But all it takes is one mistake on both Windows and Linux, you accidentally leave a docker endpoint or ssh server exposed and insufficiently protected on Linux and you’re going to get a virus the same as if you accidentally opened a .pdf.exe on Windows.
Not at all. You leave a ssh port open, you don’t necessarily get a virus. Try it. Set up a raspberry pi, install ssh and leave the port open in your firewall. It is much less risky than exposing rdp (the most comparable windows protocol) on windows for instance.
It is a security risk, but absolutely not comparable of installing pdf.exe. Not even in the same league of risk.
As said, try it now and tell me how it goes.
There is a lot of misinformation around security on Linux
Glad you asked, I run a ssh honeypot and get multiple connections adding ssh keys, trying to run lockr, downloading shit every day.
Does the attack succeed? Never happened to me. You see bot trying, but really never seen succeeding irl. How is it configured?
Do you have also a rdp honeypot by chance? Do you see different rates of attack? Honestly curious.
I don’t have any windows licenses around, otherwise, it would have been an interesting test
Also, antivirus is the wrong idea there. What you’d want is an intrusion detection and/or integrity checking system.
And disable password authentication as first step
It’s configured to allow requests from connections using common default passwords. If it wasn’t a honeypot the requests would succeed. I don’t currently run an rdp honeypot but I did a few years back, iirc the rates were about the same with rdp being a little bit less. Which as I say, comes down to configuration and usage. If you misconfigure Linux you will get malware, same as Windows.
Ok, than the experiment you are doing is just to check how many attacks you can get over a certain time… It is not really representative of a common use case. And again, this is not a virus. It is a successful attack from a bot on a purposely misconfigured service exposed to the internet. An antivirus is not needed. What is needed is basic configuration. An antivirus cannot help there
Okay if we are taking the definition of a virus to be something that a person must download and execute, what about malicious javascript/python packages? They often target production systems running Linux and infection is caused by user error rather than misconfiguration.
I use python professionaly. Never seen a real successful supply chain attack on libraries used by “normal” people. There was recently a supply chain attack to pytorch, that I remember, but it was solved within few hours.
It is not a real risk for non developers. It is a risk, but veeery low, miles lower than pdf.exe.
Just check this stat for ransomwares taken as an example of viruses: https://www.statista.com/statistics/701020/major-operating-systems-targeted-by-ransomware/
Windows server is ~20% of server market. Still it is there second, with in practice no GNU/linux (80% of server market). This is why people do not really worry much, the risk exists, but it is minimal for well configured system compared to competition, even where competitors are a niche and Linux machines are the main target.
On windows, an antivirus is not a bad idea… On Linux, a firewall and basic care are usually sufficient
Running a honey pot for SSH and sharing logs only proves that people try to attack you, it does not really tell if SSH as such is vulnerable or not. It is a honey pot, people gaining access if the whole point.
Having a locked down but exposed SSH access is something else.
You’re missing my point, a virus doesn’t have to infiltrate a completely secure system. It can come through you accidentally leaving your ssh insecure or any other service.
I get that a malware can get inside the worlds most secure system, if for example a user lets it in. What I am saying is that showing a honey pot in response to “ssh is more secure than a software that runs code without you giving consent and without your knowledge” not say anything, except what happens if someone gets in.