Slashdot Mirror


Fedora 12 Lets Users Install Signed Packages, Sans Root Privileges

eqisow writes "The new default policy for Fedora 12 allows local, unprivileged users to install signed packages without root access. This change apparently went mostly unnoticed until after the Fedora 12 GA release, at which point it sparked a mailing list thread that is, as of this writing, over 100 posts long."

111 of 502 comments (clear)

  1. Wow by MyLongNickName · · Score: 5, Funny

    Sounds like I need to upgrade to Windows 7 for some real security...

    --
    See my journal for slashdot ID's by year. Mine created in 2005. http://slashdot.org/journal/289875/slashdot-ids-by-year
    1. Re:Wow by Monkeedude1212 · · Score: 5, Funny

      I'm not even sure who to ROOT for anymore.

      Haha, that was so terrible, please don't mod me funny.

    2. Re:Wow by gbarules2999 · · Score: 4, Funny

      With all of this opt-in sudo-security breaking, Fedora could be looking into Windows of an Absolute Vector that results in gettting the Boot and being thrown in the Bin.

      I, unlike you, feel no shame.

    3. Re:Wow by Antique+Geekmeister · · Score: 2, Informative

      You need the package to have a signature that is already registered. Fedora 12, like early Fedora releases, doesn't register _any_ GPG keys for RPM until after manual authentication by the user. "yum install" asks for this during software installation. Unfortunately, many sites that deal with signed packages don't protect their signatures well, and it's dificult to tell which signatures for RPM are installed or appropriate. So it's a vector, just not as bad of one as you note.

  2. Glad to see... by maccodemonkey · · Score: 5, Funny

    ...all those laid off Microsoft employees already found work.

  3. Re:It's obvious by junglee_iitk · · Score: 2, Informative

    Or you could install RHEL

    That is what they want, apparently:
    https://www.redhat.com/archives/fedora-devel-list/2009-November/msg00945.html

    "Should the defaults be targeted towards home users or corporate desktop
    considering the short lifecycle of Fedora and the target audience? I am
    not sure there are corporate deployments but wouldn't they be heavily
    customized their desktop deployments and kickstarting it anyway?"

  4. This makes sense by Anonymous Coward · · Score: 3, Insightful

    If the content is trusted then requiring the user to get root privileges is just a security risk (key-loggers). I do hope, however, that they had to foresight to require specific permissions to allow users to install signed packages. I don't want my guest users installing every signed package and filling my HDD.

    1. Re:This makes sense by Anonymous Coward · · Score: 3, Insightful

      So with Microsoft it's a fail but here it's a feature? Man, my head is spinning.

    2. Re:This makes sense by MatanZ · · Score: 5, Insightful

      The contest might be trusted, but not wanted by the administrator of the machine.

      Another way to think about it - you are now vulnerable to local root exploits not only in packages you installed, but also in packages you chose not to install.

    3. Re:This makes sense by Reason58 · · Score: 2, Insightful

      If the content is trusted then requiring the user to get root privileges is just a security risk (key-loggers). I do hope, however, that they had to foresight to require specific permissions to allow users to install signed packages. I don't want my guest users installing every signed package and filling my HDD.

      Signed doesn't mean bug-proof. Everything a user installs is just one more attack vector.

    4. Re:This makes sense by fluch · · Score: 5, Informative

      No, it does NOT make sense. It creates a new security risk: If some malicious software (runing under with normal user privileges) notices that a hackable software is missing on the computer (one which has a known security vulnerability to gain root access) it can now install this package without problem and gain root access later on.

      A sudo approach like done in Ubuntu is much better.

    5. Re:This makes sense by Arimus · · Score: 2, Interesting

      No, its a fail. Any OS vendor / Linux distro which thinks this is a good idea needs whacking hard with a two-by-four till they get the message that this a fail whoever does it.

      --
      --- Users are like bacteria -> Each one causing a thousand tiny crises until the host finally gives up and dies.
    6. Re:This makes sense by Draek · · Score: 5, Insightful

      So, you argue that this is a security measure to protect systems that are already compromised with keyloggers? I... see, right... *backs away slowly*

      --
      No problem is insoluble in all conceivable circumstances.
    7. Re:This makes sense by jim_v2000 · · Score: 4, Funny

      Guest users? That's good...everyone knows that Linux users don't have any guests.

      --
      Don't take life so seriously. No one makes it out alive.
    8. Re:This makes sense by natehoy · · Score: 3, Insightful

      No, there is a significant difference between "running as Admin" and "installing a signed application without requiring root (Linux's Admin) authority".

      The amount of authority granted depends on how many signing authorities you have decided to trust. If you trust only a server under your own control, for example, this could be really useful within an organization to allow users to install company-authorized packages without having to run around and install everything for everyone, while still preventing average users from doing anything to the machine.

      I don't agree with this change in RedHat, but it is (fortunately) a policy change and not a programming change. In other words, it's easy for any machine owner to change the policy (which can, by the way, only be done as root) and require that all software installs be done by root only (which was the old default). In my opinion, this default should be changed back, and those people who want to send signed packages out within their organizations can change the policy.

      A regular RedHat user still cannot do things like reformat the hard drive, change operating system files or core system configurations, access any data but their own, etc. Similar to a "Limited" user account in Windows (but the difference is that Microsoft, by default, has traditionally made all accounts Admin, and a lot of software vendors have come to depend on that so making a Limited user is an exercise in deep frustration in Windows).

      --
      "This post contains words, known to the State of California to cause thought. Wash brain thoroughly after reading."
    9. Re:This makes sense by jmorris42 · · Score: 5, Insightful

      > Another way to think about it - you are now vulnerable to local root exploits not only
      > in packages you installed, but also in packages you chose not to install.

      DING! You nailed it. The attack surface has been expanded to include every package in every enabled repo. Find a local root exploit in any one of them and you get the machine.

      This is totally stupid. It makes the assumption that every user is an admin, which was exactly the idiocy we have, rightly, laughed at Microsoft for years over. Microsoft has been working at correcting that mistake while we have been adopting it. And it isn't just Fedora, this apparently came from upstream at PackgeKit so unless this gets nipped in the bud it will spread to everyone else.

      The root of the problem is that decisions that impact security are being made by marketing people more concerned with the 'year of the Linux desktop'. And again, wasn't this exactly what we slagged Microsoft over in the past? As Linux nears readiness for mass consumption we find ourselves making exactly the same mistakes for exactly the same reasons. We are tossing decades of hard won security knowledge onto the altar of user friendliness.

      We didn't learn anything. We are doomed.

      --
      Democrat delenda est
    10. Re:This makes sense by TooMuchToDo · · Score: 2, Interesting

      When Linux requires a root password via sudo to do everything, everyone cheers. When Windows Vista required an admin password to do the same administrative tasks, everyone complained.

    11. Re:This makes sense by msclrhd · · Score: 2, Insightful

      And installing random stuff is an easy way to destabalise a system.

      What... I want to install kubuntu-desktop on this ubuntu-desktop machine. (Yes, I know the issue is in Fedora, but the same principle applies.)

    12. Re:This makes sense by jim_v2000 · · Score: 3, Insightful

      It makes perfect sense and entirely appropriate for home/personal use. If you're in a corporate environment, disable the feature.

      --
      Don't take life so seriously. No one makes it out alive.
    13. Re:This makes sense by the_womble · · Score: 2, Informative

      The thing is that Linux does not require the root password to do everything. The commonest task that requires it is installing software.

      From what I understood of the complaints about Vista, it required the root password a lot more than Linux does.

    14. Re:This makes sense by TooMuchToDo · · Score: 2, Funny

      I'll admit, I'd much rather run as root than sudo all the damn time on a Linux box.

    15. Re:This makes sense by fluch · · Score: 2, Insightful

      So giving malware which runs with user privileges a possibility to automaticaly request the installation of a package with known root exploit makes sense for home/personal use?

    16. Re:This makes sense by jmorris42 · · Score: 2, Interesting

      > I wonder if they handle replay attacks?

      Under normal conditions it wouldn't work. Yum won't allow unpriviledged users to install things, those guys aren't idiots. This is a hook into the command line that triggers if you type the name of a command that isn't installed. So it would only grab the most recent version it knew of.

      And anyway, when did making the command line user friendly become such a big push, I though we were supposed to consider any use of the command line a bug to be fixed by an new multi-megabyte graphical horror. :)

      Of course if you can prevent the machine from downloading the updated package lists you could probably trick it.

      --
      Democrat delenda est
    17. Re:This makes sense by jim_v2000 · · Score: 2, Insightful

      A) What's to stop a user from providing the root password if malware attempts to install something?

      B) If there's already malware on the machine running as the user, there's not much benefit to getting root access anyway. It can log the user's activies, steal info, make connections to remote servers just fine with the user's privileges.

      --
      Don't take life so seriously. No one makes it out alive.
    18. Re:This makes sense by sten+ben · · Score: 2

      I don't get it. How does it make sense? To spare you the inconvenience of typing fewer letters you did on that post?

      I can only see a single edge case where this makes sense, and that is when the computer is a stationary computer used by a single computer. OK, this is /. perhaps not an edge case over here. But seriously, a lot of people borrow my laptop. I don't want them to be able to install anything without my consent.

      As a lot of people in the thread said: This changes XX years of unix practice. $HOME is for users, the rest is for root. Allowing someone who is not root to install software system-wide is not what is expected. Which by definition is bad.

    19. Re:This makes sense by Nick+Ives · · Score: 4, Interesting

      Sudo doesn't take your root password, it takes your password. Also, I'm not aware that anybody with a clue has complained about UAC whilst cheering about sudo. UAC is actually a step up from sudo because it uses a secure input driver to stop a programme clicking OK automatically whereas with sudo there's no equivalent protection from keyloggers.

      The only real advantage of sudo over UAC is that you can user sudoers to limit which executables normal users can run whereas with UAC you either have admin rights for everything or nothing, although I suspect you can mess around with user rights in Windows to give much finer grained capability permission.

      The only issue with UAC is how annoying the prompts can be and that's because of badly written software that assumes it has to have full admin rights. UAC prompts happen less these days though.

      So yea, at least check the facts before posting. Must troll harder!

      --
      Nick
    20. Re:This makes sense by fluch · · Score: 2, Insightful

      A) What's to stop a user from providing the root password if malware attempts to install something?

      At least there is still a possibility for the user to say: "Oops, I didn't intend this!" Where as in the automatic installation this is not the case.

      B) If there's already malware on the machine running as the user, there's not much benefit to getting root access anyway. It can log the user's activies, steal info, make connections to remote servers just fine with the user's privileges.

      There is still a chance that the main system does not get infected. There is still a chance that the malware will not be executed when the user logs in again. And it is easier to clean the system if only the user data is compromised.

      If the attacker gains root acces your only way to ensure that the system is 100% clean is to reinstall it from scratch.

    21. Re:This makes sense by BeardedChimp · · Score: 2, Interesting
      Having just read through the mailing list then quite of a few comments here most of the people are over reacting through ignorance of the situation:

      I may be wrong, but I understand that this behaviour of PackageKit only applies to users with direct console access (i.e. not remote shells). So, only users that are logged in via GDM or TTY would be able to perform such tasks. This significantly limits the number of users with powers to install signed software -- almost to the point of where it sounds like a fair trade-off. If someone has physical access to the machine, then heck -- it's not like they don't already effectively "own" it. Not saying it's a good default policy -- but let's cool our heads. Regards,

      So these is really a real world access security vulnerability in which case there are several easier ways to do damage.
      Not that I agree with this default of course, it still allows idiots (girlfriends, who am I kidding this is slashdot, your mum) to install crap all over your system.

    22. Re:This makes sense by grcumb · · Score: 2, Insightful

      That's the thing. Every time you see a comparison of security in Windows and Linux, the users in Windows is always assumed to be the administrator, and you get all this FUD about how insecure Windows is. The proper comparison would be to a Windows machine where the user is logged in as a limited user. In that case, it's as secure as a Linux box.

      What utter bullshit.

      First: Any comparison concerning security is misleading. I don't care if I'm just as secure as X; I only care whether I'm secure enough for a given use case.

      Second: Any attempt to compare conceptual levels of security between two different platforms, in which one is responsible for the overwhelming majority of all malware infections and the other is widely understood to be effectively malware-free... well, such a comparison is disingenuous at best.

      And lest anyone respond with how vulnerable Linux would be just as soon as X, Y or Z transpires, let me just say that Linux is safe now, today. If it proves to be unsafe in the future, I'll take appropriate action. Until then, theoretical threats are not nearly enough to make me prefer a platform that's theoretically equivalent but in practical terms is orders of magnitude worse.

      HTH, HAND

      --
      Crumb's Corollary: Never bring a knife to a bun fight.
    23. Re:This makes sense by jmorris42 · · Score: 3, Informative

      > Wow the FUD flies fast and furious here.

      > I doubt very much that most Fedora installs even have an administrator, or serve more than a home user.

      So many words from someone who can't read. And they said write only devices were mythical. :)

      As stated in my post avove, this isn't so much a change in Fedora as a case of Fedora being the first release with this new policykit. If this isn't stopped, flamed into oblivion, shouted down, whatever, it will end up in Ubuntu, Debian, Suse, eventually everything down to FreeBSD because this *Kit crap is infecting everybody. Or it will be individually patched out by individual package maintainers and we all know that is sub-optimal.

      And yes even Fedora has users. Even if you are correct that few corporate types will be rolling F12 out to end users there are things called families. I admin my home machine but I'm not the only user. No I don't trust every person I give an account to enough to allow them to have admin rights. Remember trust in the sysadmin sense is more about trust in their skills/knowledge not whether you would loan em a hundred bux.

      --
      Democrat delenda est
    24. Re:This makes sense by Znork · · Score: 2, Insightful

      The attack surface has been expanded

      That was my first instinct as well, but if you look a bit more at the issue it's not much of an expansion. The possible extra surface would be suid binaries, as the ability to install and run programs is rarely secured anyway, only the ability to do it 'the right way' (ie, via package manager into the base system) is secured.

      Personally I tend to be more concerned with server systems where this would not be an appropriate default policy (altho package-kit seems to offer some nice granularity in its config), but for end-user desktop systems it might even be appropriate as long as there is a reasonable selection of repositories specified. Even in an enterprise setting it could be appropriate if you think 'customized enterprise repositories' instead of 'random internet repo'.

      I'll grump with the best of 'em, but some of the seemingly heinous violations of unixy traditions we've seen in the last few years aren't necessarily completely without thought. But they do require some annoying relearning before one can thoroughly criticize them on a better basis than pure instinct and after doing a cursory examination of package-kit I figure I probably need to rtfm some more before I decide what to do with it.

    25. Re:This makes sense by Sir_Lewk · · Score: 2, Informative

      Yum won't allow unpriviledged users to install things, those guys aren't idiots.

      Ah contraire. If you read the mailing list you will see that one of the idiots supporting this madness is Seth Vidal, the lead developer and maintainer of Yum.

      --
      "linux is just DOS with a UNIX like syntax" -- Galactic Dominator (944134)
    26. Re:This makes sense by Homburg · · Score: 2, Insightful

      The idea of UAC is fine, but the implementation, at least in Vista, leaves a lot to be desired. The most annoying thing about UAC is that a lot of things that you need to authenticate to do also have a confirmation dialog in the application. So you end up being asked if you want to do something, clicking yes, then being asked if you want UAC to allow the application to do that. It almost seems like MS didn't actually test their software with UAC switched on.

    27. Re:This makes sense by magnus.ahlberg · · Score: 2, Interesting

      Maybe this is obvious to everyone else, but I don't see how this is different from an unprivileged user installing a static binary to his/her home directory and executing it? To me this is just as insecure and possible in any distribution?

    28. Re:This makes sense by TheRaven64 · · Score: 2, Informative

      It's different in a few ways. Firstly, this can install daemons and other setuid binaries that will run as root. If any of these have a security hole then the user can install them, exploit them, and gain root. Not good. The other is that they all go into the default path for every other user. That means that other users can run them accidentally.

      --
      I am TheRaven on Soylent News
  5. User-level package manager by EvanED · · Score: 4, Interesting

    What I want is a package manager that will do installation to my own home directory -- basically the same as downloading the source and running './configure --prefix=$HOME/whatever && make install' but without the complete bitchness of dependency hell -- without any root privileges at all. Anyone know of one?

    1. Re:User-level package manager by AnotherShep · · Score: 2, Funny

      Have you tried just deploying with ClickOnce? Oh, wait, nevermind. :P

    2. Re:User-level package manager by Defiler · · Score: 2, Informative

      I know of one for Mac OS:
      http://github.com/mxcl/homebrew/
      It would probably not be much of a challenge to make that work on a Linux machine. That and a Linux tool for this probably already exists.

    3. Re:User-level package manager by EvanED · · Score: 2, Interesting

      Autopackage.

      Great for developers of programs, but from what I can tell, useless if I want to install something that someone wrote, which usually use the autotools.

      Applications have to be modified to specifically support $HOME installation (or, to be more exact, installation to arbitrary locations), and most Unix apps right now don't support this without hardcoding paths during compilation time.

      That's fine... whatever. I'd be perfectly happy with something like a userland emerge that compiled everything on demand.

    4. Re:User-level package manager by EvanED · · Score: 3, Funny

      You can make emerge to install stuff anywhere, don't forget to add yourself to the portage group.

      Too bad this isn't Gentoo and I don't have root on it.

    5. Re:User-level package manager by EvanED · · Score: 3, Informative

      One of my friends has even more stuff installed locally than I do; he gave GoboLinux a try a while (few months?) ago but found the rootless mode "fragile:"

      (4:38:11 PM) me: what were your objections to gobolinux's package manager? remember?
      (4:38:36 PM) him: oh
      (4:38:53 PM) him: The environment it set up was really fragile
      (4:39:00 PM) him: I broke it several times
      (4:39:09 PM) me: environment variables you mean?
      (4:39:11 PM) him: Lots of the pkg config stuff didn't end up being found properly
      (4:39:29 PM) him: yeah - rootless mode just isn't tested enough and not quite robust
      (4:39:34 PM) him: like you couldn't change PATH and LD_LIBRARY_PATH much or what?
      (4:40:53 PM) him: It wasn't picking up libraries that you installed with it properly because it broke pkgconfig files
      (4:41:57 PM) him: More specifically, the directory structure they use is cool but they never patched the pkgconfig files, so pkgconfig was always wrong and not much works

      I can't speak from personal experience, and I suppose things could have changed since then, but he did drop back to manual compilation.

    6. Re:User-level package manager by agrif · · Score: 2, Informative

      Like when? Few (at least semi-professional) Windows programs behave that way. (Visual Studio is a pretty notable exception; it demands to install a couple hundred megs of stuff on your system drive.)

      The difference is in Windows, each program usually has it's own specific directory that can be put just about anywhere, but the executable usually has to be started with a specific working directory, or the executable itself has to be in it, etc.

      Linux, and Unix in general, has a strong, historical file system structure that places binaries in specific places, configuration in specific places, and everything else in it's own place. There's even hierarchies for system, user, and computer-local files. Binaries are expected to run with any active directory, from a location that houses all the binaries on the system, and nothing else. A hardcoded path to, say, /etc/awesomed.conf is required!

      For trivial cases (applications with no external data) the binary can be moved willy-nilly and still work. You can even move libraries, and update your ldconfig search path. However, often programs expect their data to be in one specific place, determined at compile time, or determined by a fixed-location configuration file. Sometimes you can get around this with small hacks, but not in any way it would be easy for a package manager to do.

      Of course, the advantage to this strict structure is that hardcoded paths are almost always correct. Apart from that, it's up to individual preference as to whether Windows or Linux handles this better.

      (Now when I say hardcoded, I of course mean compiled-in. I'm not trying to suggest there's just some unchanging string literal in the source, just that there's probably some generated string that gets compiled in after configuration.)

      Emerge has a ROOT variable you can set; presumably this gets passed to configure --prefix. However, I don't know of any way to run Portage without root, and can't find anything about running it on systems that aren't Gentoo.

      It's been a while since I've worked with Gentoo, but I vaguely remember it's possible to run emerge as non-root, and I definitely remember something about a Cygwin port of it, so that's definitely possible.

    7. Re:User-level package manager by Anonymous Coward · · Score: 2, Informative

      zero install: http://0install.net
      You run an app through it (using its URL, eg: 0launch http://rox.sourceforge.net/2005/interfaces/ROX-Filer ), and it will install it to a path under your home directory if it isn't already there, and then run it. Not much third-party software available via it yet, but there's an effort in place to change that.

  6. Of course there isn't a problem by TSHTF · · Score: 5, Insightful

    Certainly there can't be a problem here, says the Fedora team. According to the release notes, there are 15,000 packages which can be installed by these unprivileged users. That's a lot of fscking code -- surely some of it is poorly written. Consider this scenario: Package X suffers a critical {local, remote} root vulnerability. If the vulnerability isn't public, any local user (and maybe remote ones too!) has root. If the vulnerability is public, there is often a long window between downstream fixes and Fedora fixes. In either case, this is a security issue. The Fedora team really should have put this in the release notes and reconsider this implementation in the first place.

    1. Re:Of course there isn't a problem by Eric+Smith · · Score: 2, Informative

      It's more of a risk because a package can install setuid binaries, or install config files in directories such that they that are used or interpreted by processes running as another user or root. Installing a package can do a lot more than you can do as an unprivileged user.

    2. Re:Of course there isn't a problem by Too+Much+Noise · · Score: 2, Interesting

      At least the packages that are allowed to be installed are signed, which means _someone_ looked at them and approved them.

      The thing that I would ask here is whether the user can install a specified older version of a given package. Say, for instance, install the original version from the main repository with a know vulnerability that is patched in the update repo.

  7. Re:It's obvious by BountyX · · Score: 3, Insightful

    Read the response. It's actually a Red Hat employee making the complaint, calling it a security vulnerability. I wouldn't call a Red Hat employee complaining about this policy to a Fedora mailing list an attempt to coax RHEL usage.

    --
    Trying to install linux on my microwave, but keep getting a kernel panic...
  8. Users should not get to be root. PERIOD by Jailbrekr · · Score: 4, Insightful

    That is just silly. Users are users for a reason, and admins are admins for a reason. If users want to install software, they can use sudo.

    Whoever approved that in the Fedora team needs a refresher in security.

    --
    Feed the need: Digitaladdiction.net
    1. Re:Users should not get to be root. PERIOD by Jailbrekr · · Score: 2, Insightful

      That is irrelevent. I suspect that a vast majority of Fedora users use standard non root accounts, and only use root for doing system maintenance or installing packages. To allow a non root user to in essence do root commands without prompting for a password just begs to be exploited. the risks that this default setup exposes far outweigh any benefits that may be gained. Is it really that hard to prepend your command with sudo?

      --
      Feed the need: Digitaladdiction.net
    2. Re:Users should not get to be root. PERIOD by mweather · · Score: 2, Insightful

      What proportion have the admin and a hacker on a remote machine as the same person?

    3. Re:Users should not get to be root. PERIOD by Celeste+R · · Score: 2, Informative

      RH didn't give any go ahead, it was the PackageKit upstream that did it without any communication.

      Also:
      NO documentation about this 'feature'.
      Terrible configuration system.
      Also, the entire mailing list had to do their own homework about this policy.

      --
      There are no perfect answers, only the right questions. More questions at http://foresightandhindsight.blogspot.com/
  9. Developers vs. Sysadmins by Anonymous Coward · · Score: 5, Insightful

    Ah yes, the age-old struggle between developers and sysadmins bears yet more sour fruit.

    After working as a sysadmin for 10+ years for several groups of Linux software devs, I realized that devs don't make good sysadmins, and vice-versa (in general).

    Developer workstations are usually a mess of tweaks, customizations, hacks, extraneous libraries that they were "testing" three months ago, odd daemons, and all kinds of other crap. They would install new packages hourly - so all the better if they could do it without requiring root access to the servers.

    Sysadmins on the other hand tend to be uptight control freaks who micro-manage every little thing. This is great when we're talking the company webservers, but when it comes to developer workstations, well... the devs weren't too happy about being locked down.

    I guarantee you that this feature was requested/suggested by one or more developers on the team, who thought it'd make their lives easier. And I also guarantee you that most of the people against it are system administrators.

    God, I'm glad I went back into Science.

    1. Re:Developers vs. Sysadmins by BlueParrot · · Score: 2, Funny

      God, I'm glad I went back into Science.

      Science is vulgar compared to mathematics.

      I bet you're even one of those dirty experimentalists, or even worse, a chemist!

    2. Re:Developers vs. Sysadmins by HangingChad · · Score: 3, Interesting

      After working as a sysadmin for 10+ years for several groups of Linux software devs, I realized that devs don't make good sysadmins, and vice-versa (in general).

      We did okay in our office. We let the dev's admin their own machines and an actual sysadmin, like yourself, run the production environment. For the desktops users put in an install request and we installed the software for them. It wasn't that hard, we didn't get a lot of requests.

      I don't see the conflict myself. Just by running CentOS dev machines and Ubuntu for commodity desktops, we were light years ahead on security without even doing a lot. As long as no one is staying logged in as root, there are much easier targets. It's kind of like the bear joke. We don't have to have bear proof security, just better security than the company next door.

      --
      That's our life, the big wheel of shit. - The Fat Man, Blue Tango Salvage
    3. Re:Developers vs. Sysadmins by huge · · Score: 3, Informative
      "Physics is to mathematics as sex is to masturbation"

      - Richard Feynman

      --
      -- Reality checks don't bounce.
    4. Re:Developers vs. Sysadmins by digitalhermit · · Score: 4, Funny

      Thank goodness for virtualization. I can keep the host system locked down and fairly pristine, yet inside the virtual environment I am a wild man with wild thoughts, eating my oatmeal without a spoon, cutting off mattress tags, and installing beta code wherever I see fit.

  10. What does this solve? by asv108 · · Score: 2, Insightful

    I really don't understand the basis for this move. From a desktop usability perspective, having the gui password prompt for an elevated privilege such as a package install works fine. Its seemless in Linux and OSX. Not prompting for authentication for signed package installs is insanely insecure and borderline insane.

    1. Re:What does this solve? by natehoy · · Score: 2, Interesting

      It depends on your environment. For an individual user, you'd want sudo or su and you'd want to be prompted for each install. And that's a good thing.

      But in a large corporate environment, I might want to make a bank of internal applications available (similar to Microsoft's "Run Advertised Programs"). I could configure all of my corporate desktops to only recognize the signing authority of a repository I own, then any of my users can install anything they want off that repository. But installs of things not on the "approved" list and therefore in the repository require root access.

      However, this configuration setting was still a Bad Move on RedHat's part. If a corporation wants to allow this, they'll probably also want to think about the list of signing authorities they want to use. So this should be OFF by default and if an administrator wants to turn it ON they'd need to take action (and would presumably know what they are doing and why).

      --
      "This post contains words, known to the State of California to cause thought. Wash brain thoroughly after reading."
  11. What a mess... by interval1066 · · Score: 4, Insightful

    The email trail even includes a query from a redhat developer asking why its such an issue. Incredible. I was going to quote some of that thread but the entire exchange is pretty funny, odd, and scary. Remind me to continue to not use RH, at least as a server.

    --
    Python: 'And then suddenly you have a language which says "we're all stuck with whatever the whiniest coder wants".'
  12. Potential worm exploit by crow · · Score: 5, Interesting

    Suppose someone wrote a worm that could get access to the system as a user. Then all they need is to find a signed package with a privilege-escalation bug, and whether it's installed or not, the malware could exploit it, gaining root access.

    But apart from that, I can see where this would be nice from a single-user system standpoint.

    1. Re:Potential worm exploit by CannonballHead · · Score: 2, Funny

      Inch by inch.

  13. Re:It's obvious by 644bd346996 · · Score: 5, Insightful

    This isn't necessarily insecure. Sure, it's not something you'd want enabled on your servers, but for a desktop the only big problems I see are with disk space. (If, on the other hand, this allows the user to install and start a network-accessible service without root privileges, then it's a problem.) For home users, this feature is a definite convenience, and nothing to worry about. For corporate desktops, it's more of a wash: employees can install productivity apps without pestering IT, but now IT has to disable repos that contain counter-productivity apps.

    The reason unix has always required root access in order to install software isn't because that's the way things should be, it's because there hasn't been another way to make it secure. Now, if you trust the distro's repos, you can safely let users install those signed packages. This is similar to (but more secure than) Mac OS X's policy of letting users install and uninstall but not modify app bundles.

  14. YAY!!!! by MightyMartian · · Score: 4, Funny

    Fedora, Now With The Power Of Windows!!!!

    Tired of those pesky admin privileges. Tired of using superuser. Want everyone on your system to install what they like, even from websites that say "Install Me!", why Fedora 12 is here! Come on, don't be afraid. Flush forty years of basic security principles down the toilet!

    --
    The world's burning. Moped Jesus spotted on I50. Details at 11.
    1. Re:YAY!!!! by Disgruntled+Goats · · Score: 2, Insightful

      And yet when Microsoft included UAC in Windows Vista to address this very complaint they only got lambasted by you same Linux people. What hypocrisy.

    2. Re:YAY!!!! by Anonymous Coward · · Score: 2, Informative

      Windows UAC was lambasted because the implementation was terrible.

    3. Re:YAY!!!! by natehoy · · Score: 3, Informative

      Yes, because as everyone knows, whenever ANYONE speaks about Linux, it's the SAME person who made another previous statement about Linux.

      UAC is an excellent attempt at a Windows implementation a proper security model (temporary escalation of authority for a specific task, with prompting). Personally my only complaint about UAC was that it took Microsoft so long to finally come around to something like it. I run XP as a limited user, and it's very frustrating to see all the software that has been written for Windows that assumes you are running as Admin simply because that's the Windows XP default.

      And, yes, I'm clearly and keenly aware that Microsoft is not responsible in any way for the laziness or incompetence of third party developers who write code that runs on their OS. But it does point back to the whole issue that's plagued Microsoft all along - security was ignored for way too long in Redmond, and continued as an oft-ignored afterthought well after they had gained a reputation for writing insecure code. I will give them credit - once they finally extracted cranium from anus and got the clue meter off zero, they made a relatively impressive turnaround in security in a very respectable amount of time.

      --
      "This post contains words, known to the State of California to cause thought. Wash brain thoroughly after reading."
  15. Require Password Instructions by BountyX · · Score: 4, Informative

    Browsed through the list. Here are instructions to require a password for signed repo. I agree with many of the mailing list users, this is a very bad default and there seems to be an assumption of targeting the desktop, or single user environments...

    --
    Trying to install linux on my microwave, but keep getting a kernel panic...
  16. Re:It's obvious by bmo · · Score: 5, Insightful

    The best rant against the Windows way of doing things from Tom Christiansen:

    http://slashdot.org/comments.pl?sid=3291&cid=1395315

    No, I don't care that a customer asked for it. Customers are idiots, just like any other user. So what if they pay you? They're still idiots, and it's your professional responsibility to act responsibly, to refuse to go along with their madnesses. The customer is not always right. In fact, they're very often wrong. A physician or a lawyer doesn't do whatever the customer requests, and neither do you. They, meaning the customers or users, simply don't have the background and training;

    Truer words were never spoken.

    --
    BMO

  17. Hmm... by fuzzyfuzzyfungus · · Score: 3, Informative

    I'm not sure that this is a good default setting(though I would say that it is much more defensible for a desktop oriented distro, with the ability to turn it off; while it would be unsuitable for a server/corporate lockdown box setup). However, aside from the on by default/off by default question, I don't really understand what the big deal is.

    Some people are freaking out, as though context-sensitive privilege escalation is some sort of ghastly betrayal of all that is UNIX and Good(tm). That seems frankly nonsensical.For example, good old Sudo does exactly that. If you are on the sudoers list, you can do some or all things as a different user(usually root) with just your own credentials. This is wildly useful, and is a routine part of a great many UNIX systems. In desktopish contexts, we've also had things like automounters for external storage, doing a limited amount of trusted stuff as root, for some years now. Not necessarily the thing for servers; but usually good for desktops.

    I don't know whether this is a good default or not, and I'd certainly want to see it mentioned in the docs(assuming it isn't already, haven't checked). However, limited privilege escalation mechanisms, for performing a set of trusted actions, have been part of UNIX for years. Anybody who is merely blowing up about that, rather than about the defaults question, is being reactionary in a way that isn't even accurate.

  18. You laugh, but.... by WindBourne · · Score: 5, Funny

    MS is hit hard because they have had similar bad ideas, combined with having hired bad developers (and getting worse). But MS is now focused on Security, and is slowly making progress. I fear that if and when they surpass *nix (Linux, BSD, OSX, and some of the smaller ones like Solaris :) ) in security, that *nix will suddenly be slammed with virus and worms. And it will appear to happen overnight, even though it will be possible openings like this that slowly turn the heads of the writers.

    --
    I prefer the "u" in honour as it seems to be missing these days.
    1. Re:You laugh, but.... by Romancer · · Score: 4, Informative

      They're in for a long battle.

      Considering that the fix to this is already written out in one line of code in the same thread on the same day here:
      https://www.redhat.com/archives/fedora-devel-list/2009-November/msg01055.html

      And they have already admitted that the default security setting is not consistent with the philosophy they had built the Linux system on in the past. That's a pretty good turn around time for a mistake in the security area of an OS.

      --


      ) Human Kind Vs Human Creation
      ) It'd be interesting to see how many humans would survive to serve us.
  19. LOCAL USER ONLY, AND SIGNED PACKAGE ONLY by QuoteMstr · · Score: 2, Informative

    There's something really, critically important here that everyone is missing:

    ONLY LOCAL USERS CAN INSTALL PACKAGES

    In other words:

    IT ONLY MAKES A DIFFERENCE FOR USERS PHYSICALLY SITTING AT A MACHINE

    That means that a random user can't ssh into your server and install packages. He has to actually be at the machine. And if he has physical access to the machine, he can just boot from a LiveCD.

    Installing signed packages is a very low-risk operation. Yes, there are theoretical vulnerabilities, but in order for them to make much of a difference, you need the perfect alignment of coincidences that's really unlikely in practice.

    This change allows users who can already compromise the machine given enough time do something very safe painlessly.

    1. Re:LOCAL USER ONLY, AND SIGNED PACKAGE ONLY by Junta · · Score: 2, Insightful

      Either that, or someone able to fool the checks for console ownership (one of the points in the email thread were that the checks weren't sufficiently robust for their comfort).

      Every package from the project is signed. It doesn't 'lose' its signature just because a new rpm exists in the world somewhere that fixes a vulnerability. So a system that doesn't want to run 'extremeliabilityd' and opts not to install it at all, could be compromised anyway.

      Why would one want to imitate the Windows 95 model for deployment security?

      --
      XML is like violence. If it doesn't solve the problem, use more.
    2. Re:LOCAL USER ONLY, AND SIGNED PACKAGE ONLY by blueg3 · · Score: 4, Insightful

      Yes, only the console user can install packages.

      Or, any software the console user is running?
      Or, perhaps, a web page that the console user is viewing through a web browser with a security vulnerability that enables remote code execution?
      Or, perhaps, an ad embedded in a web page that...

    3. Re:LOCAL USER ONLY, AND SIGNED PACKAGE ONLY by RAMMS+EIN · · Score: 4, Insightful

      You are right that the idea is that this only applies to the scenario where there is, essentially, a single user who owns, operates, and physically sits at the PC, and that a lot of people seem to be missing that.

      However, if you own, operate, and physically sit at your PC, how onerous would it be to have to enter your password, or even the root password, when you want to do something as disruptive and uncommon as use the package manager to make system wide changes?

      And if that is indeed too onerous, how bad would it be to have to change the configuration to allow you to do same without having to enter a password?

      In either of those cases, you would have a secure-by-default design. Deviating from that just opens a huge can of worms (no pun intended), as there are suddenly a lot more things you need to worry about - and failing to worry about them gives you an insecure system.

      Doing something as unexpected and potentially dangerous as this should NOT have been done without ample discussion, and should definitely have been mentioned in the release notes and during the installation procedure - probably with an option right there to turn it on and off, and probably with the default being off.

      The mind boggling WTF here isn't that somebody thought letting users install packages without having to enter a password is a good idea, but rather that the new, disruptive, less secure setting has been made the default without the world, the users, or even the developers knowing about it.

      --
      Please correct me if I got my facts wrong.
    4. Re:LOCAL USER ONLY, AND SIGNED PACKAGE ONLY by BitZtream · · Score: 2, Insightful

      I've got a box sitting right here, I'd love to see you boot from a LiveCD. Not real sure how you're going to do it considering the CD isn't part of the boot sequence and the BIOS is locked with a password.

      You could try to move the drive to a new machine if you'd like, but since thats going to require you digging it out from behind a table, with several large items sitting on top of it, I'm probably going to notice you doing it. Did I mention the case also has a lock on it?

      I let plenty of random people use it, its a shared workstation in a hotel for guests to use.

      Now, with that in mind, how safe does it sound now?

      This is a retarded policy choice no matter how you look at it by a couple of douce bag milkshakes who shouldn't be allowed to commit to any repository on the planet, even their on personal one.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
  20. One way to root a Fedora install by mukund · · Score: 2, Interesting

    Fedora accepts all kinds of packages. You could create a simple utility, like some netmask computation code, make it a trojan (add code which does what it's not intended to do as setuid root).. package it for Fedora. This can go completely unnoticed. As an upstream maintainer, I am pretty sure Fedora or any other distro does not review my project code more than a cursory glance to fix any compilation/integration issues.

    User gets to be root user. It may not even be a user.. it may be a program of some kind that has access to your user account after exploiting a vulnerability in an app such as your web browser.

    There are other ways to get root too, such as exploit other setuid binaries in any of the thousands of packages that Fedora ships in the Everything repo.

    Letting users install packages (signed or not) on a system administered by root is a stupid decision.

    --
    Banu
  21. Re:It's obvious by edittard · · Score: 5, Insightful

    On Windows, only admins can install.

    So only 99% of users?

    --
    At the bottom of the /. main page it says 'Yesterday's News'. Well they got that right.
  22. Interesting comment on Bugzilla... by bheer · · Score: 2, Interesting

    Interesting and wrong, I should say:

    There's nothing to discuss here. Your problem is that pretending asking for root authentication for *local* users in *active* sessions... when installing *trusted* software adds security is... well.. only a sign of dogma, snakeoil and ignorance when it comes to providing a secure system.

    There's a superficial kind of sense in what he's saying. After all, if someone has console access, he could already pwn the machine, right? Well, the keyword here is defense-in-depth. There are lots of reasons non-root, non-trusted users might want to run from the console. Linux on random net-cafe machines is one example, where all kinds of people use the console. A family PC running Linux (hey, not as farfetched as it sounds) might have different user accounts for each family member.

    Sure, it's trivial to fix this with pklocalauthority, but should users have to? It's about as lame as telling folk, "hey, you can just switch off IIS if you don't need it."

    It's sad that while Microsoft and Windows has made so many strides towards providing a secure-by-default configuration, Red Hat seems to be losing the plot. Cf another gem of a comment on Bugzilla: I don't particularly care how UNIX has always worked. Sigh.

    1. Re:Interesting comment on Bugzilla... by alien_life_form · · Score: 2, Insightful

      Greetings.

      The two comments you quote have been posted by the developer that appears to have made the change in the first place. In his blog, he also explains how that is part of the "philosophy" of the application, and somesuch.

      It is also of interest that other developers on the same thread appear to be on a similar short fuse (see comment #144). There is a very annoying tendency (on the bug coments and the ML) to simply tell people who argue against this behavior to either add more justifications (as if they were actaully needed) until they are blue in the face or to shut up (or, sometimes, just the latest).

      It has basically turned into an ideological war, and it's ugly to behold.

      Cheers,
      alf

  23. How about signed non-suid non-services? by Captain+Segfault · · Score: 2, Informative

    The big security issues are with services and suid/sgid binaries. As long as installing the package doesn't cause any other users to run that code it shouldn't be any more of a problem than letting the user run their own code. Those probably should require root to install.

    This isn't 100% watertight but would drastically reduce the scope for local root exploits.

    It'd be stupid to have this policy on a server, obviously, but it doesn't seem to be that absurd at all for desktops/workstations.

  24. Easy way to disable...? by ehrichweiss · · Score: 2, Interesting

    This can theoretically be easily disabled by chmod'ing to everything under /etc/yum.repos.d as 600, and of course making sure that everything there is owned by root. Assuming this doesn't extend to rpm, and my initial tests suggest it may not, then that should be enough to lock it down for the most part. This is preferable to locking down the yum binary since a user could just bring their own binary to the system and then install at will. I'm sure my method could be bypassed but I haven't had a lot of time to test so someone else feel free to test it.

    --
    0x09F911029D74E35BD84156C5635688C0
    1. Re:Easy way to disable...? by Znork · · Score: 2, Informative

      A more 'correct' way to disable would probably be something like what's described here.

      Editing the package-kit rules also seems to make it possible to obtain some finer granularity that doesn't seem as unpalatable as sometimes inappropriate general install rights.

  25. Re:100 posts is nothing! by bsDaemon · · Score: 2, Insightful

    Yeah, but most of those 100 posts were probably actually read before getting responded to

  26. Re:It's obvious by Martin+Blank · · Score: 3, Insightful

    Trusting the repos has nothing to do with it. If I've got my users on Fedora as their desktops, I don't want them installing packages that I don't know about. Why should the average user have a web or FTP server running on the desktop? Default configurations have frequently been the location for vulnerabilities, and many users could install a service and then not be able to secure it properly because most of those configuration files require root or sudo access.

    While the Fedora devs seem to think that Package-Kit should be removed from servers, this is, as one poster mentioned, a case where "should" has nothing to do with it. I have an expectation that I have to either use sudo or provide a root password to install even the smallest package. Changes like this render that expectation void without doing a proper job of notifying me, and there are a lot of relatively unsophisticated Linux admins out there. There's only a certain level of coddling that should be done to avoid oversimplifying things, but this breaks a fundamental premise of the Linux world, and I don't recall seeing anything in the installer saying that Package-Kit's installer would work differently.

    --
    You can never go home again... but I guess you can shop there.
  27. Forget vulnerabilities, think telnetd by Xtifr · · Score: 2, Insightful

    Unless there simply isn't, e.g., a signed telnetd package, you don't need undiscovered vulnerabilities for this to be a potential for major problems. Many packages are not the sort of thing you would really want to have on, say, a publicly accessible machine, but might be willing to have on a system on your LAN (Samba springs to mind). Beyond vulnerabilities, there's the simple issue of exposure.

    If the admin can't define who is allowed to do such basic administration tasks as installing packages, something is seriously wrong!

  28. Re:sounds good to me by Lord+Bitman · · Score: 4, Interesting

    this basically means "I allow you to install any package which I have signed. You don't need to log in as a more-powerful user to do so, because I have already pre-approved this action, just as if I added the specific command to the sudoers file with no password"
    The default signature is that of redhat, but there's no reason to expect the same technique couldn't be used for other signatures. Sounds like a good idea, especially for a corporate environment (single deployment, but if some people need to install Eclipse, they don't need to contact support to do so)

    The next step along the line is to tie this into the existing "that command doesn't exist, install Foo to use it", to turn that into "Foo isn't installed, do you want to install it?" and a (sorry) windows-style "how recently was this used?"/auto-remove-during-updates and make the whole operating system feel entirely seamless in terms of application usage.

    This is a good thing.

    --
    -- 'The' Lord and Master Bitman On High, Master Of All
  29. How to disable it... by sten+ben · · Score: 2, Informative

    Here's a blog post on how to disable it: polkit and package kit and changing settings

    I might be getting a bit conservative in my old age but what of what is explained in that post is better than visudo?

  30. Re:It's obvious by Penguinisto · · Score: 2, Insightful

    If you're doing it corporate-style, you should already have a local repo (for bandwidth and security reasons), them lock yum.conf to only recognize your local repo.

    Doesn't solve all permutations (e.g. discreet downloaded packages, some idiot installing apt-get, etc), but it solves enough of them to make things sane again.

    --
    Quo usque tandem abutere, Nimbus, patientia nostra?
  31. Re:It's obvious by Anonymous Coward · · Score: 2, Insightful

    The best rant against the Windows way of doing things from Tom Christiansen:

    http://slashdot.org/comments.pl?sid=3291&cid=1395315

    No, I don't care that a customer asked for it. Customers are idiots, just like any other user. So what if they pay you? They're still idiots, and it's your professional responsibility to act responsibly, to refuse to go along with their madnesses. The customer is not always right. In fact, they're very often wrong. A physician or a lawyer doesn't do whatever the customer requests, and neither do you. They, meaning the customers or users, simply don't have the background and training;

    Truer words were never spoken.

    --
    BMO

    The trouble is I have encountered both physicians and lawyers who WILL do exactly whatever the customer requests. With lawyers, they often get beaten down by the judge, but they still took the clients money in exchange for bad advice. With doctors, people become over-medicated, misdiagnosed, and sometimes dead.

  32. Line crossed.. by Junta · · Score: 3, Informative

    I undestood locality to console as an 'authentication' scheme for reboot/shutdown -h now. That is a transient state change with, in theory, no lasting effects on the underlying platform. The slight risk of temporary DoS is taken understanding that the user would otherwise resort to ungraceful use of the power button.

    I understand the use for removable media, where the owner of auto-plugged media is assigned to the 'console' user. Persistent state change is possible, but restricted in scope to a removable device that someone at a 'console' controlled physically anyway.

    However, this is a mechanism that allows a user to make persistent state changes to the 'root' owned content. This is simply not acceptable. The act of installing software is rare enough so the password shouldn't be considered horrible, and no worse alternatives are likely if a user cannot install the software conveniently.

    --
    XML is like violence. If it doesn't solve the problem, use more.
  33. PackageKit at fault, not Fedora by Azureflare · · Score: 2, Insightful

    Lots of posters flying off the handle that obviously didn't read the actual thread. PackageKit added this as a "feature" without notifying the Fedora team. yum still behaves as expected. I'm assuming that PackageKit still requires root to modify shared system areas where the owner is root (e.g. /usr/bin etc.), but users can install their own local packages using PackageKit.

    In fact, this is exactly what Mac OS X does by default. I'm not entirely sure if this is really a problem or not. In Linux, users are already able to install local apps into their home directories, this appears to just make it integrate with the UI much easier than before. I remember I had to manage my own user apps in my home directory and it was a real pain, since I had to add that bin directory to my path, and none of those apps appeared in menus anywhere.

    1. Re:PackageKit at fault, not Fedora by jroysdon · · Score: 2, Informative

      System - Administration - Add/Remote Software
      Games - [x] abe
      Apply

      Installed abe (Scrolling, platform-jumping, ancient pyramid exploring game) without any password at all on F12 (not user, nor root). It was not installed in the user directory, it was installed the same as if "yum install abe" was executed by root, solving dependencies as well.

      I see others discussing how to solve this via polkit. Another solution for my multi-user systems where non-admins shouldn't be mucking around, I see the simple fix as removing PackageKit: rpm --erase gnome-packagekit. If you want to go to the extreme: yum --erase PackageKit.

      This also disables notifications of new software releases, but software updates can still be managed with yum and automation could occur with yum-cron.

    2. Re:PackageKit at fault, not Fedora by Professional+Slacker · · Score: 2, Informative

      I'm assuming that PackageKit still requires root to modify shared system areas where the owner is root (e.g. /usr/bin etc.)

      No, that's exactly what people are upset about, that any random account logged in to the physical machine can write to /usr/bin, the things that they can write are limited to the contents of signed packages, but that's still a whole lot more than the absolutely nothing they could write under F11. Also all the comments I've seen are about adding packages, but does this also allow removing packages?

      --
      A Free Market requires informed intelligent consumers, such people are rare, we're in trouble.
  34. Time to leave Fedora... by Improv · · Score: 2, Insightful

    I've been using redhat/fedora since at least RedHat5, having previously used Slackware. I thought SELinux was pretty sketchy, but this change is utterly ridiculous. I'm still on FC11, but until and unless they develop some sanity by FC13, I'm going to need to find a new distro (CentOS? Debian? I'm not sure yet)

    --
    For every problem, there is at least one solution that is simple, neat, and wrong.
  35. Re:It's obvious by Dahamma · · Score: 2, Informative

    Must have been a while since you last checked ;)

    Very few if any network services are enabled/started by default when installed on Fedora. Probably because as you said it is a fairly bad practice...

  36. It is an irony... by drolli · · Score: 2, Informative

    that many posters here see this as a security bug "because it enables you to install any exploit found in any package". That is true and untrue at the same time. A good idea would be that no user may create a setuid root binary. But all escalations based on system call implementation errors can be provoked by the user himself by picking out the right code from the source of the packages and compiling it himself using the gcc which is most likely available on many systems.

    An even better idea view would be an per-user-view of the computer.

  37. Re:It's obvious by mjschultz · · Score: 2, Interesting

    Honest question: Do RPM files have a way of distinguishing between system- and user-level software? It seems like a fairly obvious thing to have/check, then users could install safe applications (i.e. those that don't have programs in /sbin or /usr/sbin), for their own uses.

    Moreover, why can't RPMs just let users install in a private fakeroot directory (like there home directory). That way they don't have to touch the root file system and can easily install packages without needing a password. (Like if I wanted Eclipse, I could just find the RPM and double click to install it, no password, no fuss.)

    I think Fedora could make this right if they wanted to.

  38. Re:It's obvious by plasticsquirrel · · Score: 2, Insightful

    The reason unix has always required root access in order to install software isn't because that's the way things should be, it's because there hasn't been another way to make it secure. Now, if you trust the distro's repos, you can safely let users install those signed packages. This is similar to (but more secure than) Mac OS X's policy of letting users install and uninstall but not modify app bundles.

    The reason was simply because a user didn't have the privileges to change anything (by default) outside his/her own home directory and the system temporary directory. That is the way it should be -- only changing files that you have permission to change. Allowing users to add or remove software packages in / and /usr is beyond ridiculous. This is why users who want to install software packages themselves, can only install them to their own home directories, so they don't interfere with other users. The only sensible approach is one such as this, where users can only install software where they have permission to do so.

    If the Fedora people really want to fix things, they could work on making their packages easy to install into the users' home folders, so users don't have to use the "configure prefix" to change things around, and then compile from source. That sort of user software installation is perfectly reasonable, and completely in line with the overarching concepts of Unix security.

    --
    Systemd: the PulseAudio of init systems
  39. Re:sounds good to me by afidel · · Score: 3, Insightful

    Just remove RH's key and install your own corp key then only sign tested packages. This is actually kind of cool, now you just need an easy way to make package updates mandatory like with published apps in AD.

    --
    There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
  40. Re:It's obvious by PeterBrett · · Score: 2, Informative

    Trusting the repos has nothing to do with it. If I've got my users on Fedora as their desktops, I don't want them installing packages that I don't know about. Why should the average user have a web or FTP server running on the desktop? Default configurations have frequently been the location for vulnerabilities, and many users could install a service and then not be able to secure it properly because most of those configuration files require root or sudo access.

    I agreed with you about this, so I investigated. It turns out that daemons packaged by Fedora are disabled by default, and require someone with root access to enable them. A package won't pass review if that's not the case.

    The issue suddenly became much less of a big deal to me. In the end, it comes down to whether you trust the quality of Fedora packages and the security of their signing key. Either you do, in which case this isn't a problem, or you don't, in which case you shouldn't be using Fedora.

  41. Should you trust signed software? by Loki_666 · · Score: 2, Insightful

    My beef with this is a little different i think. While i general i dont like the idea, it goes further than that. I do not trust signed software or web-site certificates. So, just because company X uses a Verisign signature for their security of the website, or in this case signatures are given to software, i still wont trust it just because it has a signature.

    This is not paranoia (i hope). Its simply because even security systems are possible to be broken.

    Therefore i still would like my security blanket of having to su/sudo to do something that can affect the whole system. A kind of "stop! are you sure?". UAC made a lot of people unhappy, but it was a bold move by MS. I always hated it when applications even back in the days of Win95 would start writing to \Windows\ or \Program Files\

    Still, my biggest grief with Windows is the Registry. One file gets corrupt and thats it... bye bye boot up, bye bye many of your licence keys, bye bye everything. Still, this is off-topic, but its a personal peeve of mine, and the day someone proposes something similar for Linux is the day i would switch to BSD.

    1. Re:Should you trust signed software? by Loki_666 · · Score: 2, Interesting

      Damn, why is there no edit button? I wanted to give an example of how things can be faked that are meant to be secure.

      Many years ago (student days, in the UK) i recieved some spam (physical mail) but not addressed to me. And this gave me an idea. Back in those days passports were only needed for travel and not much else. For example, to get a bank account you could get away with just presenting two utility bills. So, i decided to start collecting 'evidence' that my name was actually the name from the spam mail. Now it was safe to presume this person actually had lived at my address previously, and therefore some corroborating evidence already existed. I therefore registered myself as a new name to go on the utility bills, got a library card, and got the local council to send me council tax bills in my new name (i claimed that "i" had left this address, and a new tenant had moved in... they never checked with the landlord... after all, somebody was giving them money, and nobody would give them money if they didn't have to. Next up was a bank account. "No, sorry, i dont drive, and i dont have a passport, but i have these two utility bills". Within a couple of months i had a very well documented and valid ID that even the police wouldnt question unless they did some real digging. The only thing i didnt go for was a passport, and this was because a) would have required some real forgery work, and b) probably could have ended up in a lot of trouble.

      As an interesting PS, you would not believe how many credit cards i got offered in my new name. I even applied and received one but tempted as i was i never used it and in the end just threw it away to get rid of the temptation.

      So... do you think you should trust digital signatures if i can create a fake identity? I'm a lot less clever than some of the people out there.

  42. Re:sounds good to me by Antique+Geekmeister · · Score: 2, Insightful

    Oh, yes, and that model works really well, doesn't it?

    Enabling the installation of software is _precisely_ what sudo and controlled access to the "yum" command are for. Leaving this feature on by default is begging for script kiddies to slip their works into other "signed" repositories, such as RPMforge and EPEL and corporate yum repositories. Once I've gotten my GPG key into your system, I can install anything I want.

    Fedora 12 is going to be blocked from my internal network until this is fixed. It can be installed in the DMZ, but will be considered an insecure and vulnerable system until then.

  43. Re:sounds good to me by seeker_1us · · Score: 2, Insightful

    Yes, this sounds like a good way one can use this, but not a reason to have it enabled by default.

    Just remove RH's key and install your own corp key then only sign tested packages. This is actually kind of cool, now you just need an easy way to make package updates mandatory like with published apps in AD.

  44. Re:It's obvious by Bazer · · Score: 2, Interesting

    The issue suddenly became much less of a big deal to me. In the end, it comes down to whether you trust the quality of Fedora packages and the security of their signing key. Either you do, in which case this isn't a problem, or you don't, in which case you shouldn't be using Fedora.

    Things get complicated when the project's server are physically compromised. I agree that the mechanism is neat and very useful but the developers jumped the gun when they altered the default configuration without notifying anyone. This change wasn't even mentioned in the release notes. That alone raises questions about the project's development process.

    Fedora prided itself with default security policy since it had SELinux enabled by default. This change is exactly in the reverse direction.

  45. It's Official... by nathanh · · Score: 2, Informative

    ... Red Hat is now hiring idiot developers who don't know the first thing about UNIX.

    The Linux admins at one of the sites I regularly work were in a furor over this change to Fedora. Within the space of a minute they had concocted a half dozen ways this "feature" could be exploited. This wasn't even taking into account the management and maintenance nightmare of machines where users could install software; they were simply considering the security implications. One of the admins was so furious that he suggested in all seriousness that the site drops Red Hat Enterprise Linux immediately and use SUSE Enterprise. His justification being that if Red Hat can allow this kind of stupidity into their community build, imagine what sort of crap is filtering through into Enterprise Linux. He no longer has any confidence that Red Hat has the faintest clue what constitutes a secure system. I didn't think he was overreacting; this is the dumbest thing I've seen any Linux distribution do, ever.

    That the Fedora developers are trying to defend this stupidity is just the icing on the cake. Red Hat should sack every last one of them for incompetence.

  46. the way to disable this by Errtu76 · · Score: 2, Informative

    according to Seth Vidal:

    $ pklalockdown --lockdown org.freedesktop.packagekit.package-install

    Ref: https://www.redhat.com/archives/fedora-devel-list/2009-November/msg01055.html

  47. Re:It's obvious by nathanh · · Score: 2, Insightful

    This isn't necessarily insecure.

    Yes, it is most definitely insecure. This change in Fedora 12 allows an unprivileged user to:

    • Start and stop network services
    • Install setuid binaries
    • Remove and install files owned by root
    • Modify system configurations
    • Change user and group databases

    On any normal system, the unprivileged users can do some of these things only through a *very* small subset of programs (e.g. passwd) that have been heavily vetted, and even then they still have an occasional exploit.

    Now Fedora is saying "hey, all 15000 of our programs can do all of these things, and any unprivileged user can install any of the 15000 programs". Fedora has increased the number of potential exploits by several orders of magnitude.

    That's insecure.

  48. Re:Packet sniffers, hacking tools... by marciot · · Score: 2, Informative

    Not so for packet sniffers. Putting the NIC in promiscuous mode requires root privileges. The way wireshark gets around it is by requiring a service to be installed under root that then allows regular users to access the NIC through the service.

  49. Re:sounds good to me by Antique+Geekmeister · · Score: 2, Informative

    You sign the package, yourself, with a stolen key. Since a local site repository may have far less security than a major repository like RedHat, and even RedHat has been compromised in the past (http://blog.internetnews.com/skerner/2009/03/red-hat-fedora-reveals-details.html), simply installing packages for any random user should not be permitted. In particular, the ability to install out-of-date, previously compromised, but previously signed packages without administrative privileges should be blocked.