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 am not a expert in Linux, and I mostly rely on very strong passwords. I also discovered recently basic stuff like changing the default SSH port. Anyone knows of implementation of 2FA on Linux?
Removed by mod
Yes I do have fail2ban. Do you mean I could have just (example) a yubikey and no ssh password? As safe as they can be, why remove the other factor?
Removed by mod
I have a yubikey and use their pam-module for 2FA on sudo and ssh. Took a bit of time to configure, but now it works like charm: https://wiki.archlinux.org/title/YubiKey#Linux_user_authentication_with_PAM
Thanks, I’m looking into it
Changing the default porta is security through obscurity, which is not security but just a waste of time. Don’t rely on attackers “maybe not finding stuff” but rely on your stuff being secure, even if someone had all information about your network and system architecture.
For 2fa, the other commenter mentioned yubikey pam modules. Those are probably useful, but if you want to secure your ssh server, the best solution is to use ssh keys and disable password login. I can really recommend that as its one of the few things in security that improves both usability and security.
One of the first things my base ansible role does is disable password logins. All keys, all the time.
Never tried Ansible, I just use git and shell scripts, any advice to get started?
Depends on how you like to learn. I’m a doer so I just got stuck in building and bodging things together.
Plenty of videos about, Jeff Geerling (youtuber who does lots of Raspberry Pi stuff) has a bunch of videos and a book.
Well worth it though. I couple it with terraform to handle the infra stuff and I can have a basic VPS spun up with a locked down firewall and SSH with a single command and about 5 minutes.
What’s an ssh key? Nvm I’ll research
Welcome to the top of cryptography. We have elliptic curves, crazy math and huge numbers.
If at all possible, do not expose things like ssh, RDP, etc to the internet. Use traditional VPN or something like tail scale. Just because ssh is on a different port than normal doesnt mean an attacker couldn’t figure out that your running ssh on port 335.
Well fail2ban went from very active to very quiet. It is definitely worth not leaving 22 (when opening ssh is a must for different reasons)