TL;DR - About switching from Linux Mint to Qubes OS from among various other options that try to provide security out-of-the-box (also discussed: OpenBSD, SculptOS, Ghaf, GrapheneOS)

  • fruitycoder@sh.itjust.works
    link
    fedilink
    arrow-up
    3
    ·
    14 hours ago

    Another step up is the confidential computing project. Requires hardware that supports it though, which sucks, but takes the virtual hardware concept and adds multi key memory encryption on top.

    Remember though security without a threat model is just paranoia, so what level of hoops and investment you need really depends on what your threats actually look like.

    I personally love containers and Macsec. It limits most of my concerns. I want to mess with confidential containers next, which is to say lightweight VMs in containers with memory encryption set, but thats all future to me. The irony is that I then I have to figure out attestation better for those machines since from the host they are black boxes.

  • non_burglar@lemmy.world
    link
    fedilink
    arrow-up
    23
    arrow-down
    1
    ·
    1 day ago

    I don’t understand… Your motivation for a secure operating system was from an incident where you were nearly social engineered? How will a “more secure” os help you with that?

    • sudoer777@lemmy.ml
      link
      fedilink
      English
      arrow-up
      3
      arrow-down
      5
      ·
      18 hours ago

      More secure OSes limit what social engineering attacks can take place and what damage they can do.

        • MouldyCat@feddit.uk
          link
          fedilink
          arrow-up
          4
          arrow-down
          2
          ·
          16 hours ago

          often social eng attacks rely on a vulnerability as well e.g. getting your mark to open an Excel file that exploits a vulnerability in MS Office.

          • non_burglar@lemmy.world
            link
            fedilink
            arrow-up
            2
            ·
            edit-2
            8 hours ago

            Sure, but if the compromise stays within its own app, like for a browser, sandboxing won’t help.

            The bulk, and I mean like 95% of the compromises I see are normal employees clicking on things that “look legit”.

            Excel is now wrapped in a browser. Discord, almost all work apps are all wrapped in a browser. So you can be completely locked down between apps like grapheneos, but if you are choosing to open links, no amount of sandboxing is going to save you.

            This is why we deploy knowbe4 and proofpoint, cause people are a liabilities, even to themselves.

        • sudoer777@lemmy.ml
          link
          fedilink
          English
          arrow-up
          2
          arrow-down
          1
          ·
          edit-2
          15 hours ago

          One example is on GrapheneOS, programs can’t touch system files due to no root access, and they also can’t access data files for other programs.

          • non_burglar@lemmy.world
            link
            fedilink
            arrow-up
            2
            ·
            9 hours ago

            Sure, but op chose to follow a link. You can be sandboxed to high heaven and still get pwned if you make choices like that. Discord is particularly rife with this.

            • sudoer777@lemmy.ml
              link
              fedilink
              English
              arrow-up
              1
              ·
              edit-2
              4 hours ago

              Yes, but I never said you won’t get pwned. I said that it would limit how it could be done and what damage it could do.

              For instance, if you click a link and download something shitty, it can’t just steal your auth tokens on GrapheneOS because all of that is isolated to only the program that uses them. Meanwhile on Windows/Linux there are tons of Python scripts that do that. It would take extra steps on GrapheneOS for someone to use social engineering to hack someone’s Discord/Bank/etc account, which could be enough to prevent it for some people.

      • mybuttnolie@sopuli.xyz
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        3 hours ago

        i have this well guarded city with big walls and tough gates. oh hey look someone is gifting me a big wooden horse, send them in! edit: thought i was funny but it sounds mean now. but i know how you feel, i got pwned once like 10y ago and they sent spam from my skype…

      • non_burglar@lemmy.world
        link
        fedilink
        arrow-up
        21
        ·
        22 hours ago

        You aren’t going to like this:

        Because if you got yourself pwned by a malicious link in discord, your account highjacked, etc., then having discord in a vm, container, chroot, jail, or whatever won’t help you on the server-side api abuse that got you pwned. In this case, you yourself should have been more vigilant.

        From your article, and with respect, I think its nice you’re thinking more about security, but you’re mixing up quite a few concepts, and you should probably make smaller moves toward security that you actually understand, instead of going all-in on qubes with only a vague concept of the difference between sandboxing and paravirtualization.

        • mub@lemmy.ml
          link
          fedilink
          arrow-up
          11
          ·
          20 hours ago

          Slightly harsh but that is the truth of it. Improving the walls and doors will help, but if the guard on the door can be convinced to admit an uninvited guest then the physical security will have much harder time protecting your data. The weakest part of any security system is the people.

  • marcie (she/her)@lemmy.ml
    link
    fedilink
    arrow-up
    10
    ·
    2 days ago

    I think Secureblue + GrapheneOS are the most reasonable choices imo. Qubes is highly hardware intensive for what it does, it will frustrate most people.

    • yazomie@lemmings.worldOP
      link
      fedilink
      arrow-up
      5
      arrow-down
      2
      ·
      1 day ago

      It works decently with just 8 GB RAM, and I’m going to upgrade the RAM.

      Secureblue is based on sandboxing rather than paravirtualization, and I’m not sure that’s secure enough for me.

      • marcie (she/her)@lemmy.ml
        link
        fedilink
        arrow-up
        2
        ·
        edit-2
        16 hours ago

        I do agree it’s likely more secure, but the tradeoff for common use cases (gaming, development) is steep. I could see using it solely for browsing and messaging people

        You can also just slot secure blue into a qube I believe

    • peskypry@lemmy.ml
      link
      fedilink
      arrow-up
      4
      arrow-down
      5
      ·
      1 day ago

      Not only is it resource‑intensive, but Qubes also lacks Secure Boot and Wayland support. Secure Boot is critical to ensure the OS has not been tampered with, and Wayland is required to isolate individual apps running within a single VM from capturing input intended for other apps. For an average user, I would recommend SecureBlue rather than Qubes.

  • N.E.P.T.R@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    16
    arrow-down
    4
    ·
    2 days ago

    I am excited to see Chimera Linux mature because iy seems like a distro which prioritizes a simple but modern software stack.

    Features of Chimera that I like include:

    • Not run by fascists
    • Not SystemD (dinit)
    • Not GNU coreutils (BSD utils)
    • Not glibc (musl)
    • Not jemalloc (mimalloc)
    • Proper build system, not just Bash scripts in a trenchcoat

    What I would like:

    • MAC (SELinux)
    • Switch to Fish over Bash (because it is a much lighter codebase)
    • Switch from mimalloc to hardened_malloc (or mimalloc built with secure flag). Sadly hardened_malloc is only x64 or aarch64
    • Hardened sysctl kernel policy
    • LeFantome@programming.dev
      link
      fedilink
      arrow-up
      2
      ·
      18 hours ago

      Chimera Linux is great. APK and cports are so good I cannot imagine going back to anything else.

      Bash is not the default shell though. Chimera uses the Almquist Shell from FreeBSD. Other Linux distros have “dash” which is basically an Almquist variant.

      Almquist is lighter than fish and fish is not POSIX compatible.

      Bash is available in the Chimera Linux repos of course and is required for many common scripts.

      “Not run by fascists”. Sometimes I wonder.

    • yazomie@lemmings.worldOP
      link
      fedilink
      arrow-up
      5
      ·
      1 day ago

      Chimera is a nice alternative to Alpine, have you thought of sending this feedback to Chimera’s dev?

      • N.E.P.T.R@lemmy.blahaj.zone
        link
        fedilink
        English
        arrow-up
        3
        ·
        edit-2
        1 day ago

        I thought about it (and I might still) but the project is still in beta and implementing sysctl and MAC would slow everything down development-wise. Switching to Fish would be easy and cool though.

    • Kajika@lemmy.ml
      link
      fedilink
      arrow-up
      9
      ·
      edit-2
      2 days ago

      What are the pros/cons of GNU coreutils vs BSD utils?

      EDIT : from their website : Desktop environment -> GNOME. What a choice, not for me.

      • LeFantome@programming.dev
        link
        fedilink
        arrow-up
        2
        ·
        edit-2
        17 hours ago

        First, I use either Niri or KDE Plasma on Chimera Linux. Both are just an “apk add” away. You do not have to use GNOME. There is even a KDE live image so you do not even have to run GNOME once to install if you do not want.

        I really like the BSD utils and have come to prefer them. Well written. Sleek. Well documented. The man pages are a walk through UNIX history. They feel “right” to me.

        That said, the BSD userland is frequently a pain when interacting with the rest of the Linux universe. You cannot even build a stock kernel.org kernel without running into compatibility problems. The first time I built the COSMIC desktop on Chimera, I had to edit a dozen files to make them “BSD” compatible.

        Sed, find, tar, xargs, and grep have all caused me problems. And you need bash obviously. But bash is no big deal because it has a different name.

        The key GNU utils are available in the Chimera repos. But you get files named gfind, gtar, gxargs, gsed, etc. so scripts will not find them.

        You often have to either add the ‘g’ to the beginning of utilities in scripts or edit the arguments to work with the BSD versions.

        I mean, most things are compatible and I bet most of the command-line switches you actually use will work with the BSD utils. But I would be lying if I did not say third-party scripts are a hassle.

        If I could do Chimera all over again, I would make it bsdtar and bsdsed (or bsed maybe) for the BSD versions.

        Maybe the regular names could be symlinks with sed pointing to bsdsed by default but you could point it to gsed instead of you want. The system Chimera scripts and tools could use the longer names (eg. bsdsed) instead of the symlinks. The GNU tools could be absent by default like they are now. That would be the best of both worlds. The base system would have the advantages of the BSD tools (like easier builds as outlined on the Chimera site), the system could be GNU free if you want, and you could have a system that actually works out of the box more often with third-party scripts.

        It pains me to say this. I would prefer not to use the GNU stuff but the GNU tools are the de facto standard on Linux and many, many things assume them. No wonder UUtils aims for 100% compatibility.

        Anyway, even with what I say above, Chimera is my favourite distro. The dev can be a little prickly, but they do nice work.

        • Oinks@lemmy.blahaj.zone
          link
          fedilink
          arrow-up
          2
          ·
          edit-2
          8 hours ago

          The GNU utils vs BSD utils issue should be easy to work around with a bit of symlinking and PATH modification:

          > type find
          find is /bin/find
          
          > type gfind
          gfind is /usr/local/bin/gfind
          
          > sudo mkdir -p /usr/local/opt/gnuutils/bin/
          > sudo ln -s /usr/local/bin/gfind /usr/local/opt/gnuutils/bin/find
          
          > PATH="/usr/local/opt/gnuutils/bin:$PATH" type find
          find is /usr/local/opt/gnuutils/bin/find
          

          or in script form:

          #!/bin/sh
          # install as /usr/local/bin/gnu-run
          # invoke as gnu-run some-gnu-specific-script script-args
          export PATH="/usr/local/opt/gnuutils/bin:$PATH"
          exec "$@"
          

          /usr/local/opt/... is probably not the best place to put this but you get the idea, you can make it work with POSIX tools. I don’t know that much about Chimera Linux but I’d be very surprised if nobody has thought of doing this systematically, e.g. as part of a distributable package.

    • yazomie@lemmings.worldOP
      link
      fedilink
      arrow-up
      4
      ·
      1 day ago

      I actually forgot to mention it, but I was going to say anyway that sandboxing I deem less ideal than paravirtualization

      • Lonewolfmcquade@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        1 day ago

        I don’t know anything about that but it sounds interesting. If you have any sources for further reading about sandboxing vs paravirtualization, I’d like to read up on it

  • N.E.P.T.R@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    7
    arrow-down
    1
    ·
    2 days ago

    What I want out of a secure Linux (or BSD) system is full (top-to-bottom) sandboxing of all components to enforce least privilege. I am want to learn how to make my own distro (most likely for personal use) which uses strong SELinux policies, in conjunction with syd-3 sandboxing, which seems like the most robust and feature rich, unprivileged sandbox in both the Linux/BSD worlds (also it’s totally in safe Rust from what i can tell).

    Another thing that I would love to make is a drop-in replacement for Flatpak that is backwards compatible but uses syd-3 instead. It has much better exploit protections than Bubblewrap, and is actually an OOTB secure sandbox. I dont know much about the internals of Flatpak, or how to use xdg-desktop-portal, but I am going to start more simple with a Bubblejail alternative. One major advantage of syd is that you can modify an already running sandbox, so theoretical you could show a popup that says something like “App1 is requesting microphone access.”, where you could toggle on without needing to restart the app.

    Need to get better at coding tho lol

    • yazomie@lemmings.worldOP
      link
      fedilink
      arrow-up
      1
      ·
      1 day ago

      I’m all for a better Flatpak, but I’m on the fence with full-on usage of Rust, I’d wait for there to be a second Rust compiler. Otherwise, sandboxing might be enough for some users, but not exactly for me.

      • moonpiedumplings@programming.dev
        link
        fedilink
        arrow-up
        2
        ·
        edit-2
        23 hours ago

        Syd3, and gvisor, a similar project in go aren’t really sandboxes but instead user mode emulation of the linux kernel. I consider them more secure than virtual machines because code that programs run is not directly executed on your cpu.

        Although syd3 doesn’t seem to emulate every syscall, only some, I know rhat gvisor does emulate every syscall.

        If you compare CVE’s for gvisor and CVE’s for xen/kvm, you’ll see that they are worlds apart.

        Xen has 25 pages: https://app.opencve.io/cve/?vendor=xen

        Gvisor has 1: https://app.opencve.io/cve/?q=gvisor

        Now, gvisor is a much newer product, but it is still a full 7 years old compared to xen’s 22 years of history. For something that is a third of the age, it has 1/25th of the cve’s.

        There is a very real argument to be made that the hardened openbsd kernel, when combined with openbsd’s sandboxing, is more secure than xen, which you brought up.

    • iopq@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      2 days ago

      You can try to just make a hardened NixOS config. The only requirement is systemd to use NixOS options. Other components you can freely interchange.

      • sudoer777@lemmy.ml
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        17 hours ago

        I’m not very good at securing Linux, but from what I’ve seen, NixOS leaves a lot to be desired. It doesn’t officially support SELinux and requires a lot of work to make it function properly. It supports other mandatory access control programs, which I’m not really sure how they compare. The store being world readable is another problem. The most obvious issue with that is if you’re doing business work with two clients on the same computer where infrastructure needs to remain confidential, where one client’s programs can read the store and see information about the other clients, even on separate user accounts.

        • iopq@lemmy.world
          link
          fedilink
          arrow-up
          1
          ·
          15 hours ago

          I think the preferred approach is AppArmor because SELinux is not supported on immutable distros. I’m not a security expert either, but I would not share environments between two clients at all, I would put them in separate VMs

          • aaravchen@lemmy.zip
            link
            fedilink
            English
            arrow-up
            1
            ·
            15 hours ago

            SELinux is used on all the Fedora Immutable distros, and the OpenSUSE Immutable distro. It’s actually much easier to do SELinux in Immutable distros in a lot of ways than non-immutable. Especially the bootc-style ones where even more of the system is defined and prebuilt before deployment.

            AppArmor is OK, but the whole issue is that you have to know what to throw into it. That’s also its benefit, you can focus in the high risk things and ignore the low risk things. It keeps expanding profiles more and more though, and ironically the ultimate destination is everything being under MAC.

            • iopq@lemmy.world
              link
              fedilink
              arrow-up
              1
              ·
              5 hours ago

              Well, that’s because it’s a first party solution. From NixOS point of view SELinux is mutating the store which is forbidden

    • yazomie@lemmings.worldOP
      link
      fedilink
      arrow-up
      3
      ·
      1 day ago

      Thanks, Ironclad and Gloire look interesting for a RISC-V system, gonna try out at some point alongside CheriBSD