this post was submitted on 08 Apr 2024
112 points (100.0% liked)

Linux

1253 readers
75 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

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.

top 49 comments
sorted by: hot top controversial new old
[–] nyek@lemmy.zip 23 points 5 months ago* (last edited 5 months ago) (4 children)

If you want to deploy Linux in an enterprise scenario properly, the only real option is using RHEL. Red Hat has a product called Satellite which allows for centralized managing of RHEL installs. This includes patch management, security policy monitoring and provisioning. You can also use something like Red Hat IdM to do user management like in AD. It is also basically your only choice if you have to comply with something like HIPAA. For AV you can use something like Sophos if you absolutely need it https://support.sophos.com/support/s/article/KB-000038296?language=en_US .

[–] onlinepersona@programming.dev 4 points 5 months ago

@cyborganism@lemmy.ca this is RHEL's business. Probably take a look at their documentation how they do it. Probably Fedora and OpenSuse are kind of downstream from that so they might know how to do so without getting paid service involved, but if you're looking to do this for your company: Redhat is where to look.

Anti Commercial AI thingyCC BY-NC-SA 4.0

[–] cyborganism@lemmy.ca 2 points 5 months ago

Yeah that's what I was thinking also. And what about SUSE? Could they have something similar?

[–] caseyweederman@lemmy.ca 1 points 5 months ago (1 children)

Or just like... Use Ansible?

[–] nyek@lemmy.zip 3 points 5 months ago

sure but it just does a small part of OP's requirements and you probably want some continuous monitoring to go along with that and a nice dashboard.

[–] xavier666@lemm.ee 1 points 5 months ago (1 children)

To add to your comment, there is already a native linux client for ZScalar which my workplace uses. We also use CrowdStrike for EDR, which is also Linux compatible.

[–] Nomecks@lemmy.ca 2 points 5 months ago
[–] avidamoeba@lemmy.ca 23 points 5 months ago

There's Zscaler for Linux. We're using it in our corpo.

You have to run your software mirror no matter what. Even if it's a proxy mirror where you don't actually store most of the packages.

SELinux/AppArmor for more granular access policies.

SSSD connects local auth with AD.

You should look into what your vendor has on offer, e.g. Landscape if you're on Ubuntu.

As others have said config-as-code would probably be part of the equation too.

[–] driving_crooner@lemmy.eco.br 19 points 5 months ago (1 children)

There's a lot of universities using Linux on their pc labs, I guess you can look up how they admin their systems to compare. When I was in college, I had a programming class (R language for actuarial sciences) and the computer had some restrictions, like we couldn't save anything locally so we had to plug a pendrive to save our scripts and we couldn't install any library not installed by default.

[–] lemmyvore@feddit.nl 3 points 5 months ago

Unis tend to be a mess because professors and department heads can just say "I don't want any sysadmin telling me what to do with my machines" and that's that.

[–] eugenia@lemmy.ml 17 points 5 months ago (2 children)

That list makes me wanna get a job on a small company of up to 10-20 people, where none of these things are usually needed...

[–] cyborganism@lemmy.ca 11 points 5 months ago (1 children)

I hear you. But if we want Linux to seriously become the next desktop OS, I think it's important to find something that gives large organisation some kind of way to manage their large IT inventory and users securely.

[–] possiblylinux127@lemmy.zip 5 points 5 months ago* (last edited 5 months ago)

~~FreeIPA~~

Fleet comander seems to be great for this task. It runs FreeIPA among a few other things to allow for active directory like control.

https://fedoramagazine.org/join-fedora-linux-enterprise-domain/

[–] richieadler@lemmy.myserv.one 5 points 5 months ago

I'd say most of those are needed; they're just not used.

[–] bizdelnick@lemmy.ml 17 points 5 months ago (2 children)

If you want to control users, don't give them admin privileges.

Most of things you enumerated solve windows specific problems and therefore have no analogs in other OSes.

[–] cyborganism@lemmy.ca 8 points 5 months ago (3 children)

That's the thing. They need some admin access. Especially if they're working in IT and need to do certain tasks that require that privilege.

[–] MonkderDritte@feddit.de 7 points 5 months ago* (last edited 5 months ago)

Allow only those tasks in policykit, make a link with pkexec ?

[–] lolcatnip@reddthat.com 4 points 5 months ago* (last edited 5 months ago) (1 children)

The simplest solution is to set up the sudoers file to allow only specific commands your users need. I assume you need more than that, but what kinds of use cases does that solution fail to handle?

[–] cyborganism@lemmy.ca 1 points 5 months ago (1 children)

Well for example, I work as a DevOps specialist. I need to install certain tools on my system like Docker, kubernetes, virtual machines, etc. Those kinds of tools often require admin privileges to use in development. I may need to modify some files related to those tools in /etc but I shouldn't have access to all files. For example I would want to prevent users from modifying apt or yum repo sources.

[–] LemmyHead@lemmy.ml 2 points 5 months ago* (last edited 5 months ago)

I'm not a supporter of the approach of blocking sudo access from capable people (non tech yes), because they can still download and execute binaries as their user. Or go to rescue mode to make modifications. I had to do that myself because of a micro managing IT team. Allowed? No. Allows me to focus on my work and let me be efficient? Yes. Usually this approach also requires a backdoor tool on your device that they install, which is just ridiculous.

Just communicate setup requirements (drive encryption, firewall, AV,...) And have some tool to check the security requirements and rating and this way you can apply proper security policies in the company and respect the user's privacy

[–] bizdelnick@lemmy.ml 2 points 5 months ago

No way. You completely trust them or you do not trust them at all. In any OS. That's how security works.

[–] lemmyvore@feddit.nl 3 points 5 months ago

Takes a bit more than that to really lock down a Linux install. At the very least you'd have to also limit their ability to mount extra storage, mount their /home with noexec, and centrally manage their browser.

[–] AlexanderESmith@kbin.social 16 points 5 months ago (9 children)

In no particular order;

  • Detecting "installed" software is iffy. Linux can have all kinds of things running on it that aren't "installed" as-such (same as Windows with portable EXEs, Linux has AppImage/etc). Excepting things like that, you can detect installed apps through the package managers (apt/pkg/yum/snap/etc).
  • OS updates in Debian-likes and Redhat-likes are controllable out of the box, but I'm not familiar with a way to prevent a user from doing them (other than denying them root access, which might make it hard for them to use the system, depending on what they need to do).
  • I've had a lot of good results with OpenVPN.
  • lol antivirus. Not saying Linux doesn't get viruses, or that there arent antiviruses for Linux, but the best way to avoid getting them is still to just avoiding stupid shit. Best thing I can offer is that if you have some kind of centralized storage, check that for compromised files frequently, and keep excellent backups. And make sure your firewalls and ACLs don't suck.
[–] DieserTypMatthias@lemmy.ml 1 points 5 months ago

Use NixOS if you want to use use strictly pre-installed software.

[–] xavier666@lemm.ee 1 points 5 months ago* (last edited 5 months ago) (1 children)

other than denying them root access, which might make it hard for them to use the system

If the user is even slightly knowledgeable, they can't all protection systems using sudo. That's a big no-no if you want top-notch security. Source - I have broken my corporate's Linux-specific protection mechanisms.

[–] octopus_ink@lemmy.ml 1 points 5 months ago (1 children)

If the user is even slightly knowledgeable, they can’t all protection systems using sudo. That’s a big no-no if you want top-notch security. Source - I have broken my corporate’s Linux-specific protection mechanisms.

I'm not 100% sure I'm getting what you were trying to say in that first sentence, but you realize that not all users have sudo privileges, and if your company left you with sudo that was a mistake, correct?

[–] xavier666@lemm.ee 1 points 5 months ago* (last edited 5 months ago)

I meant that if a company wants to maintain the highest levels of security, the user should never be given access to sudo. If a certain workflow requires sudo, the workflow needs to be changed, or it needs to be done in a sanitized environment, or the user needs to be highly trusted.

load more comments (7 replies)
[–] Hello_there@fedia.io 13 points 5 months ago (1 children)

Linux noob here... But aren't there user types? Like admin with install permissions and user type without ? Doesn't that take care of most of your questions?

[–] cyborganism@lemmy.ca 12 points 5 months ago

Not really. I want users with some admin privileges. As someone pointed out, a properly configured sudoers file can allow that with sudo.

[–] possiblylinux127@lemmy.zip 9 points 5 months ago* (last edited 5 months ago)
[–] socphoenix@midwest.social 7 points 5 months ago (2 children)

Antivirus would probably be clamav.

As for policy, selinux would be my first Google.

Software allow lists I’m only going to mention system wide since stopping user space installs or chroots would be your software detection tool that I would be clueless on. System wide I’d look at sudo where you can control exactly what root level commands different users/groups can run.

[–] cmnybo@discuss.tchncs.de 6 points 5 months ago

If you don't want the user to install software, you can mount any user writable partitions noexec. That will not stop them from running scripts though.

[–] progandy@feddit.de 2 points 5 months ago

Nod32 offers a commercial antivirus for that scenario as well. The consumer variant has been discontinued.

[–] philpo@feddit.de 5 points 5 months ago (1 children)

A lot of points you mention can be achieved with Univention (a debian based central management environment) and a few extra steps. Should be possible, imho.

[–] cyborganism@lemmy.ca 2 points 5 months ago

Neat! I'll check it out.

[–] Corngood@lemmy.ml 5 points 5 months ago* (last edited 5 months ago) (3 children)

What is 'unallowed software'? A shell script the user wrote? Something they downloaded and compiled?

Limiting that seems fundamentally at odds with FOSS.

[–] timkenhan@sopuli.xyz 5 points 5 months ago

Could be things to execute. They may run a shell script (source it if they don't have exec permission), but they won't have all the previleged commands (definitely no dd)

[–] cyborganism@lemmy.ca 5 points 5 months ago

Granted most open source free software don't have licenses that limit usage like many commercial software. You might want to keep track of the commercial software. Or look for versions that have important vulnerabilities.

[–] LeFantome@programming.dev 1 points 5 months ago* (last edited 5 months ago)

First, you can run proprietary software on free software. So, running free software does not preclude license monitoring. It is also possible that certain licenses are not allowed even if they are approved by the FSF or OSI.

The goal more broadly is enforcing corporate policies around risk or whatever else needs to be enforced.

It may be that you HAVE to use certain kinds of software ( VPN was mentioned ). Perhaps you are NOT allowed to use certain software on work computers ( torrents and Steam clients come to mind ) or visit some kinds of websites.

The other risk that a company may want to monitor is ensuring software is up to date ( open source or not ). Stale software can have vulnerabilities that become attack vectors for the bad guys.

Finally there is access control, privileged access, and auditing. There may be systems or data that employees are not allowed to access or are only allowed to access under certain conditions.

I am not advocating anything here but it is totally normal for corporate IT to be tasked with limiting corporate risk and creating an auditable history of compliance. These are the kinds of tools and policies they use.

[–] IverCoder@lemm.ee 5 points 5 months ago (1 children)

BlueBuild and deploy your customized image to the devices

load more comments (1 replies)
[–] crazyminner@lemmy.ml 5 points 5 months ago
[–] kylian0087@lemmy.dbzer0.com 3 points 5 months ago* (last edited 5 months ago)

One thing to take a look at for central account control, sudo rules and a few other things. Is freeipa/rhel idm.

[–] nayminlwin@lemmy.ml 3 points 5 months ago

I was looking for what you said a few years ago out of curiosity before and remember looking into something called Shibboleth. I didn't looked into it in details but it seems to cover identity and policy management. Not sure about the rest of the features you need though.

[–] MonkderDritte@feddit.de 3 points 5 months ago

All in all, i guess something like Fedora Silverblue (immutable) with some remote management software?