all 49 comments

sorted by: hot top controversial new old
[–] 87 points 3 days ago (6 children)

Selinux is both a pillar of security & a pain in my ass.

  • source
  • hideshow 6 child comments
  • [–] 16 points 3 days ago

    Things can be 2 things

  • source
  • [–] 16 points 3 days ago (1 child)

    It's both. If you have a deployment where everything works and you didn't have to disable it or restrict it a lot then obviously it's very good to have. The problem is with reaching this state where everything works and selinux is also enabled.

  • source
  • hideshow 1 child comment
  • [–] 13 points 3 days ago

    I'm. amuxh bigger fan of apparmor. Easier to configure, easier to debug, easier to fix, and as far as I know it gives the same level of security

  • source
  • [–] 21 points 3 days ago (20 children)
  • [–] 40 points 3 days ago (8 children)

    selinux relies on the basis of deny all, allow only ideas. On paper that's fine, but when you are troubleshooting issues, installing software or developing applications, it can hinder productivity by preventing the user from doing things.

    Selinux CAN work, but it absolutely requires a lot of time investment and maintenance to keep it working well with audit.d and general logging.

  • source
  • parent
  • hideshow 8 child comments
  • [–] 10 points 3 days ago* (1 child)

    selinux relies on the basis of deny all, allow only ideas

    Only in enforced.

    but when you are troubleshooting issues, ,

    Just set setenforce 0 for this

    installing software or developing applications

    for this see policy log and create selinux policy with generator if developer was lazy

    it can hinder productivity by preventing the user from doing things

    Highter productivicy before someone still all your code (like binance)

  • source
  • parent
  • hideshow 1 child comment
  • [–] 4 points 3 days ago* (last edited 3 days ago)

    I wish I could set up SELinux but NixOS doesn't support it... I already do something similar where all files on root are wiped by default (E: on each boot) and I have to opt things into persistence so it's definitely something that I'd like.

  • source
  • parent
  • [–] 10 points 3 days ago (5 children)

    Because apparently people are stuck in the mindset of about 10 years ago when people used to get tripped up over it. SELinux is rarely ever a problem for anything these days. This post is dumb.

  • source
  • parent
  • hideshow 5 child comments
  • [–] 9 points 3 days ago (4 children)

    While the stock policies have been refined to model more of an average user's usage, the facility itself remains a PITA when people do trip over it. File operations that mess up contexts, use cases that don't quite fit the policy, use cases that are well recognized but SELinux blocks it by default anyway until you change an sebool.

    By being a security mechanism bolted on after the fact, various operations fail in ways that are mysterious because they can't inject explanatory information into the failure path. Further the audit log that you pretty much always need to consult when something fails for mysterious reasons in case it might be SELinux isn't even readable by the user that got dinged. So I can't even code in a way to check if SELinux was the reason and guide the user, instead I have to provide a diagnostic utility they have to 'sudo' to explain to them, or be vague and say 'check if selinux is somehow involved. So I end up despite doing my damndest to not run with privilege asking users to run something with privilege to check a security mechanism.

    The existence and usage of audit2allow is a big sign of problematic design. How to fix something you see in auditlog is hard for people to understand, so they just audit2allow to amend policy, but instead they should have done a chcon because now they have a crap rule allowing something they shouldn't, but SELinux is still enabled so all good!

    The whole label based concept is a fun whole other dimension of things for people to worry about. Messed up so often that we have a nice convenient 'restorecon' to basically apply the way AppArmor does things to the filesystem in that moment.

    The curve could follow someone's journey with complexity, starting out with the prejudice that SELinux is bad, then letting SELinux happen and noticing no issues, and then moving on to realms where they actually have to touch the goop of SELinux instead of the canned distro SELinux setup covering their use case.

  • source
  • parent
  • hideshow 4 child comments
  • [–] 4 points 3 days ago (2 children)

    Over the last year I have done this entire. Went from app armor to SEL and now I'm back on app armor.

    You couldn't pay me enough to try SEL again.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 2 points 3 days ago (1 child)

    Yeah, AppArmor is a lot more straightforward. I could buy an argument that technically the SELinux approach is more flexible, but it's hard to imagine someone needing that much flexibility in the general use case.

    I can understand why something like Android could get more mileage out of SELinux' model, but most scenarios are very capably modeled by AppArmor approach and much easier and less fragile functionality wise.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 1 point 3 days ago

    In some usecases SELinux is less flexible:

    You have two applications installed which bring their own labels and rules, lets say app_a_t and app_b_t. Now you want to give AppA read access to only one specific directory of AppB data (which is labeled app_b_t).

    How to do that? Writing a rule allowing acces between the labels would give AppA access to all of AppB data. Creating a new label for this specific dir would break AppB as it relies on the rules for app_b_t.

    My biggest issue with SELinux is that files and applications can not have multiple types at once (like with a role based model).

  • source
  • parent
  • Further the audit log that you pretty much always need to consult when something fails for mysterious reasons in case it might be SELinux isn't even readable by the user that got dinged. So I can't even code in a way to check if SELinux was the reason and guide the user, instead I have to provide a diagnostic utility they have to 'sudo' to explain to them, or be vague and say 'check if selinux is somehow involved. So I end up despite doing my damndest to not run with privilege asking users to run something with privilege to check a security mechanism.

    fedora preinstalls a tool that warns users if they have tripped up in selinux, and provides dome details

    alerts are shown to the user in desktop notifications, and there's a gui tool with some actions

  • source
  • parent
  • [–] -1 points 3 days ago (2 children)

    It assumes the user is an idiot. And it assumes the user should not own their own device.

    That is the core tenant of how it works.

    Aka deny all base line.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 9 points 3 days ago

    Selinux is the pillar of security.

  • source
  • [–] 15 points 3 days ago

    Skill issue

  • source
  • I am still near the middle πŸ‘€

  • source
  • [–] 6 points 3 days ago

    i have never bothered learning what se linux even is

  • source
  • [–] 5 points 3 days ago

    SELinux glows in the dark

  • source
  • [–] 4 points 3 days ago

    SELinux is really important for security

  • source
  • [–] 4 points 3 days ago

    Dealing with selinux policies makes me miss grsec and pax.

  • source
  • [–] 11 points 3 days ago (6 children)

    android uses selinux and android is used as the base for one of the most secure OSes in the world.

  • source
  • hideshow 6 child comments
  • [–] 9 points 3 days ago (1 child)

    Android is not, and never was, secure. Selinux is a bandaid.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 2 points 3 days ago

    SELinux is a critical part of the least privilege model of a Android system. It is why Android hasn't been impacted by almost all Linux CVEs. Unlike desktop Linux, Android was created after modern security threats were around. Overtime the system has been partitioned so that a compromise in ome area doesn't impact others. It isn't flawless but it does a pretty good job.

  • source
  • parent
  • [–] 5 points 3 days ago (1 child)

    selinux has, is, and will always be a fucking pain in the ass for us custom rommers

  • source
  • parent
  • hideshow 1 child comment
  • [–] 4 points 3 days ago* (last edited 3 days ago)

    Don't disable SELinux

    It breaks the entire Android security model. Your device will become highly vulnerable as apps will have full access to everything. All it takes is a browser exploit and you are cooked.

  • source
  • parent
  • load more comments (-1 replies)
    [–] 4 points 3 days ago (1 child)

    A hill to die on: AppAmor is better for most user setups.

  • source
  • hideshow 1 child comment