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.

  • Hello_there@fedia.io
    link
    fedilink
    arrow-up
    12
    ·
    7 months ago

    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.caOP
      link
      fedilink
      arrow-up
      13
      ·
      7 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.

      • FigMcLargeHuge@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        3
        ·
        7 months ago

        Most of this would probably be handled by the regular unix permissions and things like sudo access for commands that are needed. You can specify exactly what commands people can run using sudo. You can also make groups so that you can have people that can run certain commands in those groups. As far as default permissions to run files, that would be handled by your path and execute permissions. Same with umask settings. I worked at a large company and to my delight and a lot of windows users dismay, they forced us to have linux laptops for our particular jobs. I loved it, but a lot of people just weren’t happy. I found that I could do everything much easier when I had native tools for working with other unix based machines right there on my desktop.

        • pezhore@lemmy.ml
          link
          fedilink
          arrow-up
          1
          ·
          7 months ago

          Fun fact (that I just took advantage of in a CTF), sudo can also limit command line arguments. If you only want a user to restart a service but not stop it, you can restrict sudo to only

          systemctl restart mysvc.service
          
          • FigMcLargeHuge@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            1
            ·
            7 months ago

            You can also use regex expressions. In our work env, we have specific id’s that are allowed to run certain commands. And only certain people have the ability to “sudo su - [authorized id]”. Then when you are using that id, you have commands you can run specific to the job. Also worth noting, those id’s are set to not allow login. You have to sudo to be able to get to the id.

  • socphoenix@midwest.social
    link
    fedilink
    arrow-up
    9
    arrow-down
    1
    ·
    7 months ago

    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
      link
      fedilink
      English
      arrow-up
      6
      ·
      7 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
      link
      fedilink
      arrow-up
      2
      ·
      7 months ago

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

    • barbara@lemmy.ml
      link
      fedilink
      arrow-up
      5
      ·
      edit-2
      7 months ago

      I can highly recommend this. This is the modern way of creating corporate environments. It’s very easy to create, update and maintain, switch, go back.

  • nyek@lemmy.zip
    link
    fedilink
    arrow-up
    8
    arrow-down
    1
    ·
    edit-2
    7 months ago

    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 .

    • Cyborganism@lemmy.caOP
      link
      fedilink
      arrow-up
      1
      ·
      7 months ago

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

    • onlinepersona@programming.dev
      link
      fedilink
      English
      arrow-up
      1
      arrow-down
      1
      ·
      7 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 thingy

      CC BY-NC-SA 4.0

      • nyek@lemmy.zip
        link
        fedilink
        arrow-up
        1
        ·
        7 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.

  • Eugenia@lemmy.ml
    link
    fedilink
    English
    arrow-up
    7
    arrow-down
    1
    ·
    7 months ago

    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…

  • bizdelnick@lemmy.ml
    link
    fedilink
    arrow-up
    4
    arrow-down
    2
    ·
    7 months ago

    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.caOP
      link
      fedilink
      arrow-up
      1
      arrow-down
      1
      ·
      7 months ago

      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.

      • lolcatnip@reddthat.com
        link
        fedilink
        English
        arrow-up
        1
        arrow-down
        2
        ·
        edit-2
        7 months ago

        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.caOP
          link
          fedilink
          arrow-up
          1
          ·
          7 months ago

          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
            link
            fedilink
            arrow-up
            2
            ·
            edit-2
            7 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
        link
        fedilink
        arrow-up
        0
        arrow-down
        3
        ·
        7 months ago

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

  • nayminlwin@lemmy.ml
    link
    fedilink
    arrow-up
    2
    ·
    7 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.

    • gaael@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      7 months ago

      For the execution, can’t you configure the fstab with noexec on partitions where the user has write permissions and give the user read-only permissions on the root partition ?

      I think this would be fine for most jobs, the exception being software development where you usually need to execute stuff to test your programs.

  • driving_crooner@lemmy.eco.br
    link
    fedilink
    arrow-up
    1
    ·
    7 months ago

    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
      link
      fedilink
      English
      arrow-up
      1
      ·
      7 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.

    • MrPoopyButthole@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      arrow-down
      1
      ·
      7 months ago

      A universities desktop environments are not the same risk level of a corporate. All the uni I have seen have trash management. In corpos its a mix of trash and highly polished depending on who is in charge.

  • philpo@feddit.de
    link
    fedilink
    arrow-up
    2
    arrow-down
    1
    ·
    7 months ago

    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.