Most companies I’ve worked at where employees had a Microsoft work computers. They were under heavy control, even with admin privileges. I was wondering, for a corporate environment, how employees’Linux desktops could be kept under control in a similar way. What would be an open source or Linux based alternative to the following:
- policy control
- Software Center with software allow lists
- controlled OS updates
- zscaler
- software detection tool to detect what’s been installed and determine if any unallowed software is present
- antivirus
- VPN
I can think of a few things, like a company having it’s own software repos, or using an atomic distribution. There’s already open source VPN solutions if course. But for everything else I don’t really know what could be used or what setup we could have.
I don’t think many enterprises are even allowed to use workstations without antivirus. There are a whole bunch of security certifications that many industries need to comply with (or have customers that demand compliancy) requiring the use of some kind of up to date antivirus everywhere.
I think ClamAV in live mode counts, usually, and I don’t think it’s that bad in terms of performance loss (detection rates aren’t great, though).
To get rid of Viruses, simply clean out all executable attachments in mails, mailcow and other solutions support that.
You can also mount /home nonexecutable, which means everything you can run needs to be on the system. Without that, “control over what is installed” is worthless. You could literally download any package, export the binary and run it from anywhere.
To run untrusted software, you can use a server that uses something like KASM. It is image-based, accessed through the browser, suppports uploading files and viewing lots of stuff. You can also run antivirus there, but as shown in this video antivirus is often simply tricked by encoding and re-encoding the scripts into something like Base64.
Antivirus really is flawed. You need to control the origins of code, and run all untrusted code in immutable VMs.
“Just don’t let users download viruses” isn’t a workable solution. Eventually you’ll need to open an Excel spreadsheet, and those are all you need to get infected. It doesn’t really matter what the state of the executable bit is if you call
sh badware.sh
instead of./badware.sh
.Also, you can have a company running entirely on plaintext email without attachments, but if you’re not ISO compliant because you don’t run AV, you’re losing customers. Some insurance companies require AV as well, so you would be taking on risk your competitors don’t need to take by going uninsured. In some industries, not running AV is even illegal.
Antivirus isn’t foolproof, that’s for sure, but it’s also not useless once it’s deployed well. The “well” part is lacking in many companies, unfortunately, and the quality of AV engines on Linux is even worse than on Windows, but that’s no reason not to use it if you are actually competent.
Excel sheets can be used without macros, i.e. executable code. Macros can be disabled in Libreoffice afaik, and this is likely possible via some sort of policy.
These are great things to try out and I want to experiment with it when I have time. For example not sure if policies work with flatpak, as users could be able to change them.
Antivirus is a joke, for sure you could run it, but it just doesnt work. It would be just there for the compliance, while you simply dont run any code, not even trusted code, that doesnt come from trusted repos like Fedora, Ubuntu or flathub-verified
Yes but insurance compliance necessitates AV
If you dont even have a way of running untrusted code on your production environment, how the heck is that worse than badness enumerating AV?
Insurances…
Even if you assume that the software you run will never have exploitable security issues, AV can also keep you from spreading infected files e.g. through forwarded mails.