PlanetLab Creates a More Advanced Sudo 153
angry tapir writes "Researchers at the PlanetLab global research network have developed a potential replacement for the widely used Unix sudo tool, called Vsys, that will offer administrators far greater control over what end users can and can't access. Vsys is similar to sudo, except it offers finer-grained access to system resources. PlanetLab created Vsys as a way to allow its researchers to access low-level network functionality so they could develop new network technologies — overlay networks, user-level file systems, virtual switches — while their experimental work remained safely isolated from other users."
So my one question (Score:5, Funny)
Re: (Score:2)
"Vsys make me a ham and swiss on rye... with dijon, lettuce and tomato. Hold the onion."
Re: (Score:2)
Sudo, make me a sandwich.
Now: FFFFUUUUUUUUU, make me a sandwich.
Re: (Score:2)
You are not a valid user in the sudoers. This incident will be reported.
Better replacement (Score:1, Informative)
I'd rather use su.
Re: (Score:3)
Isn't PolicyKit meant to do the fine-control root access?
I don't need more. (Score:1)
sudo already does everything (and more!) I could possibly need it to.
I'm certainly not against choice, just pointing out that it won't mean much for me.
And as the AC above me has already said; 'vsys make me a sandwich' just doesn't sound right.
Re:I don't need more. (Score:4, Informative)
uh, yeah, that's kind of the point... vsys (ideally) won't do "more". it's not intended for users who own/admin their system.
Re: (Score:2)
It's a dumb idea today because you give the user a vm, which can be a full virtual PC or just a colinux instance.
Re: (Score:2)
Exactly... it's not like you need to buy another license to copy your OS. The only issue of course is binding a network card to that VM if they are doing any low level hardware stuff.
Re: (Score:2)
in many cases (esp. academia; this is being developed @ princeton) the point of a server is sharable resources; vm for each user would be annoying, and a vm for the researcher would be limiting.
the use case is apparently for when you want someone to be able to do, say, limited packet analysis but not read the whole disk. i doubt it would stand up to determined assault but it might keep a sysadmin honest.
Re: (Score:2)
Why would a vm for the project be annoying? What whole disk? They could look at the OS files installed I guess but there would be nothing belonging to any other project or user on there. If they change something they shouldn't you can roll it back. If you want to write data but not let them read it then write it to an external log server or a write-only disk. Complex security schemes are a lot more annoying than just properly dividing security between services.
Security from a past life.. (Score:2)
I already spend more effort than I like ripping out useless security features. Every project has a virtual machine, or several, and they are isolated from each other. I don't need outdated security features that just get in the way. As it is I'd be more interested in a Linux distro that came with all that crap removed. It's been years since I used groups on a production server, I never found ACLs useful, I usually disable firewalls, filesystem permissions are a hassle far more often than they are useful, et
Re: (Score:3, Funny)
Re: (Score:2)
You are missing the whole point of sudo...
Sudo is for letting unprivileged users issue specific administration commands without knowing or entering the root password. Yes, it can also be used as a temporary `su`, but that's not what it's for.
I just hope this new tool comes with better documentation, because I always hated that unsightly sudoers(5) man page with a passion.
Re:I don't need more. (Score:5, Insightful)
If you knew what sudo does, you wouldn't have written this:
Re: (Score:2)
I know what sudo does. That doesn't mean I like it. sudo is "for letting unprivileged users" ignore the existence of root, plain and simple.
I don't think you really do know what sudo is there for. The most popular use for it where I work is to allow users to run commands as someone other than themselves, but not root. Although you can do some of this using group permissions on files, you can't do things like edit crontab entries without a tool like sudo.
sudo? why bother (Score:1, Troll)
Real users always have few terminals open as root.
I've used sudo once in my life - and that was on someone else's crapuntu box - "sudo sh."
Silly rabbit, sudo is for kids.
Re: (Score:3)
Re: (Score:2)
There is always suid bit, which does that in the system.
If all your required users are in group zarkers, and the user with required permissions is zarker, then:
-rwsr-x--- zarker:zarkers zark
Will do that for you.
# chown zarker:zarkers /usr/local/bin/zark /usr/local/bin/zark
# chmod u+rws,g+rx-w,o-rwx
Re: (Score:2)
There is always suid bit, which does that in the system.
There are a lot of things that suid won't allow you to do, like editing crontabs, changing permissions on files (you must be the owner of the file to do that), etc.
Re: (Score:2)
Given the number of *nix utilities that can be coaxed into functioning enough like a shell to invoke a full one, it is pretty easy to inadvertently assign permission for something that will let the user do anything they feel like...
Re: (Score:2)
$luser@yourbox:sudo su -
Please enter the password for luser:
#passwd
Yeah, that's tough. And the first thing I do on a new Debian based box.
Re: (Score:2)
Re: (Score:2)
See, even I can learn something new every day.
Re: (Score:1)
*buntu has other ideas/agenda, which may be either good or bad, dependent upon circumstances.
Re: (Score:2)
... only add someone to sudoers who know how to use it.
How is that any different?
Most admins ignore sudo's granularity (Score:5, Interesting)
Most admins ignore sudo's existing granularity, so why would they want an even more granular system? I'm not saying this new system has no uses -- clearly it does or no one would have built it -- but it's ridiculous to claim that it's likely to replace sudo in common usage when 75+% of admins have never changed the the default sudoers file, let alone wanted more even more granular control.
Re: (Score:2)
vsys -goawayauditors -noreallyf&#$off ls -l /tmp/pornstash
just hasn't got the same ring to it as
sudo ls -l /tmp/pornstash
Re: (Score:2)
Stay out of my way and let me work.
Re:Most admins ignore sudo's granularity (Score:4, Insightful)
Re: (Score:2)
"Working with someone who's productive but not trustworthy" is not an issue of working with bozos, either. These days, trustworthy means separation of duties - you're armoring the system in case of future bozos, and by extension, social engineering hacks.
Example: your network design team needs a unix host running syslog NG, VSFTP, and a custom app from a vendor that needs a couple of daemons for network analysis. They're good and smart people, but they're not Unix people, they're Cisco-and-Juniper people. S
Re: (Score:2, Insightful)
I don't know about most *nix systems admins, but I use root.
I'm not moron, I am neurotic about copious backups during work, I make the most of my development servers prior to pushing to the production servers, and am not generally susceptible to asking for problem solutions on-line and just assuming the rm -rf * is the solution to my problems (and it doesn't work with Windows...).
Seriously, do most admins really use sudo? I don't believe it.
Indeed there are a number of Linux distros that almost require i
Re: (Score:2)
Seriously, do most admins really use sudo? I don't believe it.
Not for themselves. But it might be useful for delegating simple tasks to junior admins (with a properly set up sudoers file, or else the junior will just do as described below...)
Indeed there are a number of Linux distros that almost require it. I don'r use them.
You're thinking about Ubuntu, I guess? On Ubuntu, you can do sudo bash, and then it's just the same as if you had done su. And then, you can assign a password to root, with which you then can log in directly as root. No need to shun Ubuntu just because of sudo, that one is ripped out easily.
Re: (Score:3)
Re: (Score:2)
75% of admins probably also don't do anything much with SELinux, but some people have a use for it.
I see this as the sudo equivalent - you can let users escalate prvileges with this, but only certain privileges. It's an extra tool for those who do need to lock things down at a very granular level, and as such will find a niche.
The likes of you and me at home or on the average (non public-facing) server will probably not care so much.
Re: (Score:2)
It's not gonna be used on public-facing systems either. Tools like SELinux are much more appropriate for a "lock down" state with known behavior. This system was designed to grant extra privileges for unpredictable operations, which while similar in construction to SELinux is exactly the opposite application. Just about the only application for such a tool is multi-user systems where high-level privileges are needed by people other than those administrating the machine, which has to be a vanishingly small f
Re: (Score:2)
Re: (Score:2)
Most admins ignore sudo's existing granularity, so why would they want an even more granular system? I'm not saying this new system has no uses -- clearly it does or no one would have built it -- but it's ridiculous to claim that it's likely to replace sudo in common usage when 75+% of admins have never changed the the default sudoers file, let alone wanted more even more granular control.
Spoken like a true Linux at home user who has never been an administrator in an enterprise. DBA's need one level of access, developers another, application support folks another, and content providers another. This is difficult to do with sudo, where the security mechanism is to lock down users to only use specific commands. Thirty years ago in VMS I could set up print queue managers, batch job managers, email managers, etc. without having to worry about what commands they needed to use. I love the simp
Re: (Score:2)
Most admins ignore sudo's existing granularity, so why would they want an even more granular system?
Yeah, and most people don't drive Porsche's so why would Porsche keep trying to improve their cars?
This isn't for the people who don't want it, it's for the people who do.
SELinux? (Score:1)
Sounds similar to SELinux's TE and RBAC. But it would be awesome if they're easier to work with.
Re: (Score:2)
Sounds similar to SELinux's TE and RBAC. But it would be awesome if they're easier to work with.
Hmmm... something tells me that there's more to it, but I'll need to try it to understand more (RBAC is about decomposing the access and defining/assigning rights to elementary resources/operations. VSys seems to come with an element of composition).
TFA
"In contrast to these tools and their variants, the goal of Vsys goes beyond defining ACLs [access control lists] for privileged commands. Vsys is meant to facilitate the composition of existing tools to build isolated operations," the paper states.
Hilarious (Score:4, Interesting)
The heaping myriad of security tools and controls is already beyond what anybody can properly utilize, by a huge margin.
Executable configuration? (Score:4, Insightful)
With Vsys, administrators can create scripts, called extensions, that can carefully detail which user actions are permissible. Extensions can be written in any programming language. The extensions are executable files.
I'm sure it's flexible, but wouldn't executable configuration be a potential source of programming errors, and thus an additional attack vector? If the extension is done correctly I assume all is well, but how do you make sure it is? Or are you better off using SELinux? (Which isn't user friendly either, but at least paranoid...)
Re:Executable configuration? (Score:4, Insightful)
So they are trying to segregate the capabilities of various users over many nodes in a cluster, whom they rent time to in a shared system. So there you have it. If you are trying to rent time in a shared cluster to network researchers, this is the tool for you!!
Re: (Score:2)
What? (Score:2)
Is it just me, or does the article just sound really confused?
I mean, sudo has little to do with user permissions or anything like that - the mnemonic is "sub user and do". It tries to change the current user to the user specified in the command line (and uses root if none is specified), and executes the command it's given. That's it. That's all it does. It doesn't have anything to do with "fine grained permissions", that sort of thing should be handled at the OS level.
It's not a sudo replacement, it's some
Re: (Score:2)
I mean, sudo has little to do with user permissions or anything like that - the mnemonic is "sub user and do". It tries to change the current user to the user specified in the command line (and uses root if none is specified), and executes the command it's given. That's it. That's all it does. It doesn't have anything to do with "fine grained permissions", that sort of thing should be handled at the OS level.
No, you're the confused one. sudo does that, try man 5 sudoers in your favorite shell
Re: (Score:2)
You do realize that you don't need to use the default settings, right? I have a sudo entry for a daemon which only lets it run one specific command. I also have a sudo entry that lets me run Firefox as another user, to avoid having an exploit screw with my $HOME.
Just because you don't like the default settings doesn't mean the tool isn't useful.
A very real use case scenario (Score:2)
Imitation of Solaris? (Score:4, Informative)
Solaris (and other RBAC's) allow you to remove root and have very fine-grained controls over who does what and where even in virtual machines (containers). This problem has already been solved before many, many times so I doubt there is a need for yet another system. Even sudo itself allows for very fine grained controls.
Re: (Score:2)
Re: (Score:2)
Yup. And you can keystroke log everything, so you can "play it back" to see who did what and when. (Meaning: you can give someone a root shell (ala sudo su -), but still log everything.)
Solaris RBAC (Score:1)
Single user system (Score:2)
Re: (Score:1)
Re: (Score:1)
Re: (Score:2)
What's wrong with Yaourt, and do you know a better option?
Re: (Score:2)
Is there something on your system that prevents you from escalating your privileges without sudo? I mean sure, minimal install set is a fine thing, but we're talking about 150k of data in /usr/sbin -- is it really a big problem for you? It seems a little like complaining that you always launch bash as bash proper and never as sh so the filesystem link annoys you and you're looking for a distro that doesn't include /bin/sh.
Also, being able to not set -- or have to remember or change -- a root password can be
Re: (Score:2)
You provide a sound argument other than "use it because it's security" or calling me a dumbass.
It's not really a problem as much as it's an annoyance. The file system link has nothing to do with it. My take on it is that it conditions the user in much the same way as UAC does in Windows; so the real security aspects of it are somewhat moot for a single user system.
Re: (Score:2)
Not trolling. Just fed up with sudo. For a single user system, why not have the option of just plain not installing it by default? I mean, its my system. I'm going to perform all root operations on it. Why do I have to be inconvenienced by this annoying application?
That is a troll. If you don't like to use sudo, then don't. It's not necessary to whine about it. I don't like ed, but you don't hear me complaining.
Why do users need root? (Score:1)
Re: (Score:2)
Re: (Score:2)
On a well built system, why would the (non-sysadmin) user need unrestricted root access for anything?
FTFY. sudo allows you to specify WHAT each user is allowed to do (and even as which other user). A common use is allowing your webmaster to reload or restart apache. With sudo, you can authorize "sudo /etc/rc.d/httpd reload" but deny them from installing software, modifying iptables, etc.
There are also some VERY creative things you can do such as setting up an internal repository (with limited applications/libraries) and allow desktop users to install extra software from it, but not add further repositories
Re: (Score:2)
If your webmaster can also edit etc/rc.d/httpd or any of the config files it uses then all bets are off.
Re: (Score:2)
what sudo can't do (Score:2)
is wildcards in usernames. For example, i have multiple users that i have named 'test-user1', 'test-user2', etc. Now if i want to give them sudo access for a certain set of commands, i would either have to create an entry for each user in sudoers, or place them all in a group and put that in the sudoers file. Both are not quite optimal as it requires me to maintain the sudoers file manually (i want it to be dynamic) or maintain a separate group on posix level.
What would be nice is if sudo would allow me to
Re: (Score:1)
Of course, that's not dynamic either, but I'm not sure what you mean by dynamic in this scenario anyway.
you've answered yourself (Score:1)
You have no idea how annoying it is if you have to admin a box that has had some system admin try and reinvent the wheel and not document it thoroughly. I do consultancy for a quite a while and just finding out what people have done while a distro/OS provides proper tools for something, is a large part of dealing with emergencies while production systems are down. It may sound like a sure way to be replaced, but ple
Re: (Score:2)
Re: (Score:2)
He wants to have group-determined-by-name behavior and not from POSIX groups. I'll agree it's "easier" in that you don't have to make/use groups, but it's a terrible conflation of functionality which makes it easy to muck up in a whole variety of ways. Just wait until "Jeremy Testarossa" creates what he thinks is a perfectly reasonable username.
That being said, it would be trivial to setup a script that reads the list of users and builds the membership of related groups (possibly even creating groups) based
Re: (Score:2)
Re: (Score:2)
Yes. And to others who have also said this: i did say i'm using that solution now to give permissions to users. What i meant is that wildcards for users in sudoers file would be a nice feature.
Re: (Score:2)
But it wouldn't be a nice feature *at all*. It takes away control from the admin. All a malicious user has to do is find out what things have wild cards in them, and construct a username that matches those wild cards, and trick a user who has adduser permissions to add them.
The sudoers file must be edited with visudo, but it can be viewed with less.
Re: (Score:2)
That's kind of a long shot. Tricking a user with adduser permissions usually means you trick the root user. The one who probably set up the sudoers. If he's that easily tricked, i don't need the sudoers file to do harm.
Re: (Score:2)
Really? (Score:2)
Without reading the article... (Score:2)
...I assume crap. Why? There are plenty systems to get finer grained rights, e.g. acl. Problem is, most developers or administrators are unable to cope with even the most simple owner/group/other access controls. Make it more flexible and powerful and you get that much more security risks that the advantages by far outweigh the problems.
Sudo + LDAP + Plugins (Score:1)
To sum up our responses to this... (Score:2)
Testing (Score:1)
I like my sudo like I like my salad... (Score:1)
Users vs Programs (Score:3)
The problem with the Unix security model is that it is designed to protect users against other malicious users. It does this by allowing each user to trash his own space, but not anyone else's space. But in modern computing environments, there is usually only one user, and sometimes less, and the challenge is to protect the computer against malicious programs. So, letting every program trash the one user's space isn't really that useful.
Of course the Unix security model can be adapted to protect against malicious programs. But in practice it is so difficult that no one bothers to try.
It appears to me, after a brief scan of TFA, that vsys just provides finer granularity without addressing the fact that the security model is fundamentally broken.
We need a model that makes it natural and easy to run every program in its own sandbox.
Re: (Score:2)
It's easy enough to run each program in its own sandbox. It's just that those programs then aren't very useful. I'd frequently like to download files and later open them in something other than my browser. And I'd rather like to be able to print directly from my web browser, rather than downloading files, using whatever external mechanism is allowed to transfer files among the sandboxes, and then opening lpr so I can send those files to my printer.
And as soon as you start poking holes in that system to let
Re: (Score:2)
You don't need SELinux nor Vsys, you can do that using POSIX file permission. I have a 'firefox' user which can only read write to a 'Downloads' directory, and nothing else.
Re: (Score:2)
You don't need SELinux nor Vsys, you can do that using POSIX file permission. I have a 'firefox' user which can only read write to a 'Downloads' directory, and nothing else.
Now try scaling that up to having two real users on the same system. Or 5 users. Or 20.
Re: (Score:2)
Old style, from 1982. [sessink.nl]
Newer style, from BSD [wikipedia.org].
Re: (Score:2)
The problem with the Unix security model is that it is designed to protect users against other malicious users. It does this by allowing each user to trash his own space, but not anyone else's space. But in modern computing environments, there is usually only one user, and sometimes less, and the challenge is to protect the computer against malicious programs. So, letting every program trash the one user's space isn't really that useful.
On Windows, yes, there is usually only one user and the main challenge is malware. But on Unix systems, no, there is no major malware problem. So you're basically saying "the problem with the Unix security model" is that it doesn't work for Windows-specific threats that are virtually non-existent on Unix systems? The main threat if you put a Unix or Linux machine on the Internet is not an infected trojan, it's hackers gaining access through unpatched vulnerabilities.
Re: (Score:2)
Ultimately you end up running against the age old problem. You want to protect users from themselves but they also have to be able to do things for themselves. If you restrict them too much they will just get annoyed and shut security off entirely (Vista). If it's me, chances are that I am going to want to use my own data. It's kind of hard getting around that.
cheese burger? (Score:2)
What? You have a cheese burger now? Fine, Thank you. I am happy with my sandwich. (I see sudo wagging it's tail)
su (Score:1)
su-su-sudIO!
Oh, it's this time of year again... (Score:1)
Fine grained? (Score:2)
People hardly ever use the fine grained security in sudo anyway.
There's no story here...move along. (Score:1)
Sounds like RACF (Resource Access Control Facility) for mainframe operating systems (zOS and zVM). It's been around for 40+ years.
Subject to race conditions -- lame (Score:5, Insightful)
Folks,
Does no one remember 2007? Bob Watson presented a paper on exploiting concurrency to break all kinds of things like systrace back then, complete with example code. Vsys is the same kind of thing -- it has processes executing in an outside space where you can have a race condition and force the parameters to change after the clearance check but before it actually does the work. See:
http://www.watson.org/~robert/2007woot/ [watson.org]
--Paul
Why? (Score:2)
Sudo works.
More complexity breeds less security, so why do it?
This is like upstart coming along vs. sysv. Damn, I hate managing my ubuntu laptop and my phone.
Really not necessary (Score:2)
OK, let's see here.
Sudo is simple, free, and ubiquitous. You can install, configure, and use it in a matter of minutes. It does what it's supposed to do, and doesn't get in the way. The need for something more powerful or fine-grained is just not there, generally speaking. If it were, then any of the other tools (RBAC, PowerBroker, etc.) would have taken hold and displaced sudo. They haven't.
This is like extended ACLs in Unix - a solution to a problem that isn't actually a problem for most people, and has a
Re: (Score:2)
# :vsys su -
Password for User : FU
$ :
- Dan.
Re: (Score:2)
Why did putting ':' on your bash shell output '- Dan'? Seems like an odd alias. ;)
Re: (Score:2)