Locking Down Linux Desktops In an Enterprise?
supermehra writes "How do you move 300 desktops, locked down with Windows ADS Group Policies (GPO), over to Ubuntu desktop? We have tried Centrify, Likewise, Gnome Gconf, and the like. Of course, we evaluated SuSe Desktop Enterprise and RedHat Desktop. Samba 4.0 promises the server side, however nothing for desktop lockdown. And while gnome gconf does offer promise, no real tools for remotely managing 300 desktops running gnome + gconf exist. All the options listed above are expensive, in fact so expensive that it's cheaper to leave M$ on! So while we've figured out the Office suite, email client, browser, VPN, drawing tools, and pretty much everything else, there seems to be no reasonable, open source alternative to locking down Linux terminals to comply with company policies. We're not looking for kiosk mode — we're looking for IT policy enforcement across the enterprise. Any ideas ladies & gentlemen?"
Use puppet to enforce configuration: http://reductivelabs.com/products/puppet/
Issue everyone Mittens!!!! They are relatively cheap and make it oh so hard to type terminal commands when worn.
Why not use LSTP? That way you only have to worry about whatever image(s) you keep on the server.
so expensive that it's cheaper to leave M$ on!
If you want to be taken seriously, please lern 2 spel currektly. I'm not a Microsoft fan, but it sure is annoying seeing it spelt like that.
if you are talking stand alone desktops then it's not so great. linux doesn't really have anything as good as group polices and active directory, it's part of the reason corperate networks are mostly windows.
If you mod me down, I will become more powerful than you can imagine....
I guess the first question is: what are you trying to accomplish? Are you trying to prevent users from installing additional software locally? Are you trying to insure that particular applications get particular preferences set and users are prevented from changing those settings? What? Just saying "lock down the desktops" doesn't say what you're trying to actually do.
Remember that Unix is, in large part, designed to work correctly without needing to be locked down. Much is controlled simply by the system-wide configuration files. The rest tends to be controlled on the server side, so that users simply can't do unacceptable things regardless of how they configure their local user account.
In linux world, there is yet to be a quick, 3 question and 1 button way to add the computer to a domain and then receive straight away:
- group policies - security and software install
- single password store (with cached passwords for notebooks that go away from the network)
- Patch update policy
The only thing linux does right is work on technologies such as DHCP that were written for OTHER unix O/S'.
Ubuntu is not interested in those things, they're more interested in making stories about koalas and hiding popup boxes.
Gnome is dead, Mono and moonlight took all their brains away.
kde is making a next-gen desktop but have yet to understand why so many IT shops have kept Windows at the office.
This is all depressing. Windoze will never be replaced at the current rate.
A desktop where the user does not have su/sudo access is already pretty locked down -- the user can only write to his home directory and other directories that he/she has access to through normal permissions.
If you really want to lock it down, the user's home directory can be mounted in such a way that files cannot be executed from there.
What elso is required?
The real "Libtards" are the Libertarians!
Instead of spending $$$ on bondage and discipline, how about treating your users like adult human beings?
Because a number of them will wind up installing aps that put the company at risk?
I'm a consultant - I convert gibberish into cash-flow.
SELinux is not what he's looking for.
If you just manage the users properly and NFS mount applications it almost takes care of its self and don't need an extra layer of complexity.
use PXE+XDMCP and the workstations be come irrelevant
---- Booth was a patriot ----
You set up the machines to all boot over the network, from a common image, and to load all system files from a NFS share.
The only thing on the workstation is the user's $HOME directory, and some local stuff like /tmp, /var, etc.
Your users don't get root on their workstations. They shouldn't need it. This isn't like Windows, where a huge number of apps don't run correctly if you don't have admin rights. Linux is designed under the assumption that users don't have admin rights.
Maybe I'm being naive, but what more do you need?
I hate it when I make a joke and I get modded "+5 insightful". Mod the stupid comments "funny", not "insightful", pleas
Did you _have_ to wave your hand in that suggestive manner, as if - SELinux is not what he is looking for. Move along.
And it indeed appears to me that it is not what he is looking for.
I remember an article about KDE's long term strategy to be just that: an enterprise ready Desktop with fine grained policies, central administration and all the fluff that makes windows enterprise-ready and the de facto standard for the desktop.
IToday, we have a colorful disaster that isn't even as usable as its predecessor. Developers should have focused on the need for an enterprise desktop that could actually make a dent in MS corporate sales. Instead we got useless eye candy.
The fault, of course, lies with the big distributions that pride themselves on providing enterprise ready Linux. Enterprise sans le Desktop. Useless wanking. The requirements for an enterprise ready desktop are out there for anyone to see and it's not just "applications" as everyone usually points out. It's the ability for administrators to create and maintain a usable desktop according to official corporate policies. No more and no less.
locking down Linux terminals to comply with company policies
Sooo, what exactly ARE these company policies?
You know, as much as I agree with you, I wish it were not so.
More and more things are getting tied to a computer. Back in the early 1990s, a computer was generally used for number crunching and document managing. People (generally) did not use a computer to listen to music, watch a movie, meet people, or to stay in touch with one's friends.
Now people are using computers for all of these functions. It's important that things we need for daily living in the 21st century are not controlled by a single corporation with a known pattern of abusive behavior. Microsoft's latest abusive behavior--suing TomTom for having FAT32 support on their device--shows that the only thing stopping Microsoft from abusing their monopoly are antitrust laws and community activism.
This is why Linux needs to fix the issues that make Linux not a suitable desktop for end users, or why one of the other possible open-source desktop OSes (Haiku, Syllable, etc.) needs to become a suitable end-user desktop.
I use Windows right now instead of Linux because I don't feel Linux is ready for the desktop, but most of my partitions for "extra data" are formatted using the second extended filesystem (Linux's "base" stand file system) and read in Windows using ext2fsd because I don't want my data to be held hostage by Microsoft patents.
So, yes, I really want Linux to succeed.
- Sam
What's wrong with that?
Ya, NO linux based company would EVER do something like that.
www.redhat.com
What's Ubuntu's LTS support? 5 years? And how long has XP been supported? Right...
Mod parent UP. The OP is thinking about it wrong: ie how to manage unix in the style of windows. Don't give them root and they can't install software. Make sure the home directories an /tmp is moutes -noexec and there is NO WAY that they can run programs which aren't already installed.
Now they can have free run of the system and can't do anything harmful. Still not satisfied? Remove all executables that they shouldn't run, or make them a-rx g-rx, and don't have users in the group able to run them.
You can create an RPM to do this for you, then set up the whole thing automagically using Redhat's or SUSE's tools (one is called kickstart). I suspect it is straightforward on debian based systems, too.
If you have the autoupdater running (good for security), then update the setup RPM, put it in your local repository, and sit back as all the desktops get updated with new settings.
Alternatively, you can bodge it with shell scripts and a cron job :-)
SJW n. One who posts facts.
Probably because you can't guarantee that the users will ACT like adult human beings.
Any corporate policy that relies on "Let's just hope users don't do bad things" is doomed to fail.
If you need web hosting, you could do worse than here
...we just used a script that called useradd pointing to the appropriate skeleton directory and then called chown/chmod to keep people from modifying the rc files in their home directories.
Really smart users can probably find a way around this. But then at a company I used to work for, we could never lock down Windows NT to keep the shop floor mechanics from setting the wallpaper to a Pamela Anderson, Tommy Lee photo. So I guess its all relative. You may need users that are dumber than a high school dropout welder.
Have gnu, will travel.
You feel Linux isn't ready for the desktop, or Linux isn't ready for your desktop?
http://sourcemage.org/ - Have fun
You can't install apps without root.
You can't get root without proving your competence and signing an agreement that says you will only install apps that have been approved.
It changes from being a "lockdown the desktop" problem, to an "unlock the desktop for people who absolutely need it, and closely monitor their activities" problem.
You think using technology to help enforce an IT policy and respecting your employees are mutually exclusive aims? I strongly disagree.
A small contingent of 'bad apples' can do serious harm if you do not effectively enforce IT policies. It's not possible to guarantee there is no one like this in your company, so you should protect the company and other staff from from them.
Respecting staff won't stop douchebags being douchebags and screwing up your systems.
Paws... Then they could have Caps Paws...
But, if Puppet offers tiered services, then you can evaluate the... Puppet Tiers (LOL)... Then controlling the employees simply becomes a matter of ... pulling strings...
Previously: "Linux... Toward the Sunrise..." Now: "Linux... Toward the-- No, now, part of Every Sunrise"
Unfortunately, few people in the Unix world seem to grasp what Group Policy is used for in Windows.
It's not simply preventing users from installing software.
Group policy is a set of policies that gevern everything from security policies, to application policies (for instance, say you want all users in a specific AD OU to use a specific proxy server, or maybe you want to limit all computers in a given lab from being able to use an MSN Messenger.
GP can be assigned to specific computers, groups of computers, users, groups of users, and a whole host of situations. The nice thing about it is that it's AD wide, and controls the user or the computer regardless of where, or what may be installed on the machine or how it's configured locally.
If you need web hosting, you could do worse than here
Doesn't work:
bash-3.2$ less douchebaggery
douchebaggery: No such file or directory
bash-3.2$
Or, am I missing something?
Yeah managing this for 300+ people in an environment that changes daily without spending your entire IT budget on admins and the sneakernet support staff.
despite our desire to act like open source is the cure for all ills this is the type of problem we need to solve. You MUST lock down some enterprise environments (or have a CEO who is willing to go to jail) and you MUST be able to manage this without breaking the company piggy bank. He's asking for solutions to these two requirements not how to keep ONE person on ONE desktop from doing ONE of the many forbidden things.
And as for the guy/gal who suggested we treat everyone nice and hope they act right. That's fine for your 10 person IT shop...not so much for a multi-billion dollar public company that needs public trust and investment and is governed by a whole mess of federal regulations in numerous national jurisdictions around the world.
Want to lock stuff down? Don't give users root.
Knowing what policies they're talking about might be helpful because I had the same question. What policies would require root level access? White list the proxy. Backups, share drives, printing...we have all those services on our Linux desktops. We can remote in and install any software they need...??? What policies can't be handled by a user account?
Maybe I've been away from Windows networking too long, but I can't think of why you'd need to do this.
That's our life, the big wheel of shit. - The Fat Man, Blue Tango Salvage
You can't get root without proving your competence and signing an agreement that says you will only install apps that have been approved.
Sometime ask for permission to edit a config file for, say, a webserver to save the admin time. In fact, ask for vi permission because that's your favourite editor:
sudo vi /etc/httpd/httpd.conf
Password:
:sh
sh#
Just a random "trick" you can use to get around things like that. To OP:
I manage my 200-odd machines via ssh-keys and push scripts each night. It's not as pretty as a GUI, but I don't need pretty, I need functional. I keep a machine loaded with an accurate configuration of what should be out there, and every time I make a change on the test machine that I am happy with, I migrate it to the live machine, which pushes out the scripts. But I like the parents post theory anyway, despite what this post may have looked like.
Me failed English...
FreeBSD over Linux. If my comments seem odd, this may explain...
Have you ever met a sales person, or watched them try to use a computer? Seriously, watch them try to send a 500MB powerpoint presentation as an e-mail attachment, or ask for tech support on their limewire install, and marvel at the risk to your company.
If it's cheaper to stay with a Microsoft-based infrastructure, then stay with that. Creating massive infrastructure-wide group policies that go from desktop to web browser is sort of a windows thing. If you're going to maintain security policies in a linux-based system, you better be prepared to start thinking in Unix- that means remembering that you're using a network-based system, not a locally-oriented system on a network.
If you're setting an IT infrastructure, the costs you're cutting on licensing will probably bite you in either support, security, training, or usability/productivity. There's no such thing as free software, I'm sorry.
Why not use LSTP? That way you only have to worry about whatever image(s) you keep on the server.
Better yet, use LSD! Then all you have to worry about is why those images are talking to you.
Anybody want my mod points?
Vim supports a mode referred to as 'restricted' mode.
i.e. cp /usr/bin/vi /usr/bin/rvi
Give the user permission to run 'rvi' instead of permission to run 'vi'
Also, you needn't give root to do that; modern distros have these things called 'group permissions', or even ACLs.
You can create that user a special non-root user that they 'sudo' to in order to edit the config file, and an ACL permits just that particular user to edit the particular allowed config files.
Sneaker net?
This is linux. You do it all remotely, and you can build clone the machines pre-set up
exactly the way you want them.
This is not hard. But first you have to purge the microsoft mentality from your thinking.
Forget Sneakernet. Think more Fat-Ass net. Like me sitting here on my fat ass managing
a dozen machines for naive users located 1400 miles away.
You just never give users root access, and you set your permissions properly.
You can use SeLinux, AppArmor, or any number of free management tools that
all work remotely. You don't have to rely on everyone to act nice because
you can lock it down just as tight as you want.
If its a business, why not start with a business solution like Novell SLED.
Its made for the enterprise. And it locks down nicely.
None of this stuff is free in the windows world, but its all available
for free in the Linux world, OR you can pay for it and still save money
over Windows.
But there are free remote management utilities included with every Linux distro.
Its called ssh.
Sig Battery depleted. Reverting to safe mode.
Unless users are only given a restricted shell, what prevents them from writing applications in shell script and running them?
It's either a kiosk or a fully functional Universal Turing Machine...
Well, one way to do this is to mount the users home / groups with the noexec flag. Only the system partitions should be mounted with execute permissions, and the users shouldn't have any write privileges on them.
Ever stop to think
Normal business is when a virus spreads. Scanning for viruses is not a bad thing and performance should not trump security. This is called being pro-active which is ideal when dealing with computer security. Only scanning for virus's at night is call reactive, which is bad when dealing with computer security.
Also, the IT department is responsible for the network and security of the network. If they make a policy that no linux machines can be on the network then what is the issue? Tight control over computer resources by IT staff is certainly best practices for a secure network.
Granted, Linux desktops are more likely to be safe than Windows desktops, but administration time is also very important. Centralized policies such as a Windows Domain is much easier to manage than a hodgepodge of various desktops with no way to enforce policy.
No, au contraire. The following policy _will_ guarantee that users will act like adult human beings:
We will take a peep at your files randomly and fire you without severance the first time we find something we don't like. Period.
It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
You learn something new every day! That said, I just typed "ln -s /bin/rvi ~/vi ; ~/vi" on my CentOS box (only one nearby, had rvi in it already which had previously denied me a shell) and voila, back to my root prompt. ACL's, however, are quite excellent at circumventing the issue, and are to be applauded. 9/10ths of administrators aren't going to want to mess around with them though, trusting to the "power of the sudo" as they do so often. Still, thanks for pointing out rvi - makes that old saying true: "Everytime you see someone else use vi, you learn something new".
Me failed English...
FreeBSD over Linux. If my comments seem odd, this may explain...
Hmmm, works for me:
$ less douchebaggery
mr_bubb blows goats
douchebaggery (END)
By blocking them out of root access, they can't download a package like a .deb or an .rpm & install it. If they somehow manage to figure out how to download and compile a tarball, all they can install it to is their own home directory. I'd say, best way to do it is make sure they don't have compiler access. So, take them out of the sudo users group.
Understanding the scope of the problem is the first step on the path to true panic.
I'm glad this question came up. I read somewhere that 2009 was going to be the year of Linux on the desktop.
I Heart Sorting Networks
Locking Down Linux Desktops In an Enterprise?
We leave our security in the hands of Mr. Worf.
I work for the Department of Redundancy Department.
How's about I set up iptables to disallow any incoming connections then?
That would slow your relay down. And how are you going to DoS whenyou don't have access to netcat, any compilers or interpreters? Hell, I could stop you even running an xterm...
You can do any/all of these things from windows too. I have yet to see a machine that could do anything useful at all that I couldn't also download and then run PuTTY on.
Instead of spending $$$ on bondage and discipline, how about treating your users like adult human beings?
THIS is why those tools don't exist. Because every time you ask, some self-righteous idealist responds like this. Unfortunately, those self-righteous idealists are often also the really good programmers who have the ability to create such tools.
Many of the things group policy can do has nothing to do with "security" or "preventing users" from doing anything. It has a lot to do with quickly standardizing departments, offices, rooms, or whatever your business structure is.
When you move a computer to a different department you simply drag the computer in AD to the different OU and BAM! That computer now gets everything new with its policies. There's no bringing the computer in to the IT department and reloading its configuration with "Configuration A for Department B".
A lot of this can be done by netbooting the computer and letting it grab its configuration from the filesystems it points to.
The configuration files (mainly in /etc) can contain the default startup scripts for the department's configurations. If you REALLY need to limit what apps the user can run, point to binary and library directories that don't contain anything the user mustn't have.
Move it to a new department? Change the entry for the machine on the DHCP server. No need to pull it in for retweaking.
This also means you don't need to have the OS and apps on the machine's own disk. You have a single copy of each kernel, utility, and library on your fileservers. You can use the whole disk for swap and /tmp. No individual
installs. No local copies. Save the disk for stuff where fast access is needed but is all volatile. Meanwhile the cache take care of unloading the fileservers and network.
Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
Let me try and predict this one: "[Problem they've randomly had in the last two years and didn't bother to research or bugfix] is the biggest issue in desktop Linux. The developers have lost touch because, for example, [anecdote that offers no valuable bug-ridding information, or even enough to replicate it], showing that [Problem] is still a big of a problem as it was four years ago. I've seen [however instances they've seen it, plus four] instances of this issue in my computer but also in other's, and it refuses to be fixed because Linux is simply put, not user-friendly or stable in the least bit. It's things like these that make me draw the conclusion that Linux is simply not ready for the desktop."
Unfortunately, few people in the Windows world seem to grasp that LDAP has been around for many years in the *nix world, and has all the functionality you would find in Group Policies when linked into PAM on the client side.
For a couple years, I maintained a company-wide network that supported unified "home" directories and unified login/password capabilities between Windows workstations, Linux workstations, and Solaris servers, all tied back to Fedora Directory Server. It was hell to set up, and sweet to watch in action.
Active Directory and Group Policies aren't bad for simple installations, but really turn into a mess quickly depending on your setup. LDAP and *nix systems that support PAM are a snap to set up, work fairly well and took significantly LESS time to get working properly than the Windows side did.
There's a lot of research that goes into setting up either side of the equation. Linux/Unix has been more ready for the "enterprise" desktop than Windows has, though, and that's a cold hard fact.
In Linux it's done with policies in LDAP that are used to set variables for login scripts. Using standard Linux tools (written 20+ years ago for UNIX systems), the login process can report back what machine, IP address, etc a user is accessing. That coupled with the group structures in LDAP are used to set environment variables that dictate everything a user can access.
If it weren't for the boneheaded point-n-click gui that windows crams down every admins throat, even windows admins would see that their precious AD is just ldap with environment variables modified by scripts.
You talk about converting 300 seats. I converted 2000 to LTSP desktops. All driven by only 33 servers. See here for details: http://www.localnetsolutions.com/press.html
If you are still stuck, my contact info is on the site. I consult.
What you are forgetting is that most companies, especially large companies ARE boring places staffed by a high percentage of mediocre people. Large organizations have a large amount of administrative overhead, and the vetting process is long, convoluted, and inefficient. It's just the nature of the beast.
1) IT staffed by control freaks? Well duh! It's the only way they can appear to be doing something and not getting their asses handed back to them if anything goes wrong...
2) Trust? How much do YOU trust people you know just barely well enough to remember their name? And anytime you get more than 5 people together, they start grouping up and taking sides. Disputes soon follow. Care to guess what it's like when there are 500?
3) Hiring standards? Have you seen who applies to Monster.com ads? As an employer, I can say the domain name is appropriate...
4) unrealistc expectations... It's often hard enough to simply establish expectations at all. 5) Morale? You want to talk about morale!?!? Large companies spend months rolling out big updates like using actual coffe in the coffe makers at their 2,000 store fronts, or on 6 month programs toget locations to clean their bathrooms. Wait until you spend a man-week working yer ass off because somebody didn't know what 'historic' meant, only to find you didn't need to do anything at all. Then see what your morale is like.
6) Unmotivated employees? Your average wage slave is motivated by a desire to do as little as possible and not get yelled at.
Go work at/for/with some large organizations sometime. You'll see why Dilbert is so popular - not because it's quirky and off-beat but because IT'S TRUE!
I have no problem with your religion until you decide it's reason to deprive others of the truth.
"Like screen savers that try and install crap along with it, then there'll be all the support calls why isn't it working."
Using my remote control truth extractor, I can detect thoughts that are in your brain but not passed to your fingers on the keyboard. Combining your post with the truth extractor, I get the following:
"Treating adults like adults is good in theory, but when you have 300+ people trying to..."
Do their jobs
"...you want to take away as much..."
productivity
"...as possible." So we can feel like we are in charge of something. Even the little people need to feel big every so often. In order to keep our jobs, we need to make sure people need us. Thanks to lockdowns, they will.
Is that awesome technology or what?
Would you rather make people stop working and call the helpdesk when they need some kind of app that is (a) harmless and (b) freely available? And it's OK if they wait: 15 minutes? an hour? all day? So you can prevent a call from a guy who screws up the SCREEN SAVER???
Instead of making Mr. Screensaver wait in the queue because of his counterproductive antics, YOU MAKE EVERONE ELSE WAIT INSTEAD???
Such a strategy would only make sense if >50% of all calls were for unnecessary/unauthorized things. And IF that were true, then a lockdown would work so well that support staff could be cut, right?
Any wonder why IT departments are referred to as the "preventers of information services"???
What happens if they boot Knoppix from CD? Works pretty well in Windows shops as well. Lockdown the BIOS from CD boot? There are numerous published backdoor passwords; almost every BIOS has one.
BTW, this is a much bigger problem in Windows shops, where people tend to go crazy with pirated stuff, trial versions, spyware, and network bandwidth wasters -- all of which contribute to real risks and system instability. Taking away root access solves most of this in Linux, whereas in Windows it's the full employment act for the helpdesk unless you surrender to the draconian tradeoffs described above.
Just because you have python and perl interpreters on the system does not mean you allow users access to them.
You can use file permissions to restrict access to your executable interpreters.
I think the point of the G...GP post was that you can't easily push this out remotely, and on Linux you have to write it, support it and debug it yourself, including all the niggly corner cases.
Frankly Windows has some cool Enterprise stuff that makes this easier.
It's worth noting that these policies aren't Microsoft deciding willy-nilly how you will use your computer. It's the Fortune 500+ companies, and their equivalents in Europe, Asia-Pac etc, who have requested this. They have very big wallets. They spend way more on MS than we do. And apparently some dorkwad once determined that allowing users to set their own desktop background wastes time and thus money, so they want to lock things down, protect themselves from lawsuits etc, and ensure they are paying people to work, not skive off typing long comments on /. ...
Ahem. As I was saying.
In these sorts of cases (desktop wallpaper, sound schemes), to me, the benefit is not time and money, it's the ability to avoid a lawsuit because Big Stu the ladies' man in the centre of the office decided to have some porno chick as his wallpaper and porno sounds for new emails et al. And the 30 women around him get offended and sue the company for letting him be a dickhead even though there's a clear policy in place.
That breaks functionality that uses those interpreters. For example, I see python running on my system for a printer applet. There are a number of things in a "modern" desktop that use python and perl (and ruby and ...).
Also, if you change the permissions, your system package manager will probably at least complain, if not change them back the next time the packages are updated.
That's a good point, but the kind of huge organization you mention will have in-house IT people who can that anyway, and I still think the advantage of a FOSS platform outweighs the relatively lack of ready-to-go deployment facilities.
Any of the major repository systems can be set up in a custom configuration with client machines automatically sucking packages up from a central company repository. Redhat's up2date and satellite systems are especially geared toward this kind of deployment.
If I'm understanding this correctly, you get application installation automation for free with your centralized repository, perhaps automated with cfengine, puppet, or even ssh-in-a-loop.
This is hard, and I'll admit Windows has an edge here, though personally, I feel like that's a little bit about North Korea having an edge in oppression compared to the US; it's not necessarily something desirable.
That said, if you must do something like this, there are ways. Other comments for this article address this point better than I do. For starters, there's kiosk mode "KDE's Kiosk Mode, allows a system administrator to configure all aspects of the desktop for an end user and optionally prevent the end user from making modifications to the provided setup."
Gnome also supports a lockdown system.
And as a last resort, you can always patch the software and distribute the patched version to all your machines.
You've already installed Linux. I doubt they can install anything on there that would be a problem, not without gunning for your job that is.
09F911029D74E35BD84156C5635688C0
+2 Troll is Slashdot's way of saying groupthink is confused
As other posters pointed out, you have to stop thinking the One Microsoft Way.
With a Unix system, you NFS mount the /home and /usr directories and you noexec /home. That is about all there is to it. The machine just needs to boot up minimally - the rest it gets over the network from a central server, so you manage ALL your machines in ONE place.
It is much easier to administer a bunch of Unix machines than Microsoft machines.
End users *are* responsible for telling developers what they're doing wrong.
Guess what? noexec doesn't do jack shit on the majority of Linux systems, and does not prevent anybody from running a. You know why? /lib/ld-linux.so.2. (On x86_64, there's also /lib64/ld-linux-x86-64.so.2.)
Oh really? Seeing how mmap(2) requires the PROT_EXEC flag to make segments executable in the MMU, and checks those flags against the mode of the i-node, I found that hard to believe, and have it a try. These are the results:
Thanks for being intelligent and providing useful answers. Already I have learned about cfengine, bcfg2 and FreeIPA today - all of which look like bridging these gaps. Not that I want them to, really, since effectively Microsoft pays my salary ;-)
Which is not the same as 'sudo rvi'. You can set sudo to only allow certain commands, so if you allowed 'sudo rvi', you couldn't run 'sudo ~/vi'.
sudo filters by the command executed (I've seen things restricted to full command line - i.e. sudo killall -HUP ircd but not sudo killall ircd).
There's an old saying that says pretty much whatever you want it to.
No matter what your desktop OS, you'll break (or have to do without) certain things, if you insist upon strong security and ironclad policy enforcement.
There are desktop options you can use that don't require any interpreters, at the sacrifice of a little usability, and possibly productivity. You may have to make do with a simpler desktop environment than Gnome, such as xfce4 that doesn't rely all the Python scripting.
But even if you leave interpreters full on and just use 'noexec', what you get is ironclad by comparison to Windows group policy.
Adn how long would it take me to SSH into 40,000 desktops to update Adobe Reader 8 to Adobe Reader 9, because there is some new feature that someone decided we just have to implement?
How long to copy the browser link to 40,000 desktops to comply with a mandatory ethics reporting plan we had to put in place? How long to patch 40,000 kernels for a security hole that must be resolved within 72 hours due to Corporate Information Security policy?
you guys that complain about heavy handed IT policies don't realize, that we don't even drive a lot of this stuff. If it was an IT idea, no one would ever give us the money we need to buy these tools. It's all driven from the top down.
Perhaps you've never heard of cssh?
I use it to patch and update ~ 15 linux machines at the same time--in about 3 minutes. Patching a comparative number of Windows servers takes 30 minutes and a reboot.
In all seriousness though, cssh might not work so well for 40,000 machines. You'd probably have to have a 70 inch monitor...
There's no place like
Installing a pre-packaged app is difficult without su privileges, but you can easily build something in a directory that you can set files to executed.
Group policy in Windows is about stopping casual users from breaking policy too easily. Experienced professionals have means to circumvent protections on their workstations.
You can't easily build a thing without compilers, esp. when your home directory is on a filesystem mounted NOEXEC, so you can't run binaries from it.
And Esp. when disk quotas are in place, such that large binaries would set off alerts, and get sysadmins probing around to find out why you suddenly got a few hundred megs of .o files in your directory.
If you're concerned about users compiling their own binaries, then you should be just as concerned about them booting their systems from a CD or USB stick, or opening the case, swapping out the hard drive, or booting single user and gaining root, and goofing off in an OS you have no control over.
Er, Computer use policy. Section 2.
If you leave your system unlocked (accidentally or intentionally) and someone dicks with it, we will fire you immediately, and the other person as soon as we review the cubicle surveillance tapes.
What? You must be joking...
If he has "luser ALL=(ALL) ALL" in sudoers he can sudo bash and become root.
If he's only to have access to /usr/bin/rvi the correct entry would be:
luser ALL = /usr/bin/rvi ...Now, if he can write to /usr/bin the admin has worst problems than luser getting root. ...And if the admin made the entry look like "luser ALL = /home/luser/rvi" (and luser has write access to /home/user) the admin is dumb.
So, your "exploit" needs the admin to be 110% dumb. Great! I know some 90% dumb, but 110% is pushing it :)
Get real, please.
The only supported product in Windows XP's family is named "Windows XP SP3" and was released less than 1 year ago.
Redhat and Ubuntu will update your system to the latest version (think Vista in MS land) for the same price of the SP3 update to a legacy OS. (The price is "free", btw).
Regards,
Use a boot loader password.
:)
Disable CD/USB boot in BIOS or make the hard drive boot first(and password protect it... with clever users, lock the box so no one can clear the CMOS).
The bottom line though is that if someone has physical access to 'your' box, it's no longer yours. This applies to security as well as users. The only thing you can do is make the process so painful and bothersome that they decide it's not worth it.
Speak softly and carry a big stick. Keeping a CAT5 cable that terminates to a power outlet is a good tool to have handy. Plug it in to the spot on the patch panel where the trouble user's connection is - they'll get the point after a couple of 'hardware failures' for their desktop.
If I mod you up, it doesn't necessarily mean I agree with what you've said, sorry.
cssh is great for a handful of computers, but for the 40,000 boxen, try cfengine
Unfortunately few people in the *nix world seem to grasp that LDAP is just a protocol (that's the P bit of the acronym). It's just a standard way of accessing directories - which is what Active Directory is (as is OpenLDAP etc etc). LDAP means nothing as a reference to a directory - OpenLDAP might in your case. So what you meant to say was "directories (that are accessible via LDAP) have been around for years". Whether they do everything the particular implemention of Active Directory does is up for question - some may, some may not. It depends on implementation...
It's not just about "locking down" the desktop; this is quite easy in just about any OS, the real issue here is top-to-bottom manageability.
So yes, specific security requirements is part of that.
Now say for example you want to push out the new OpenOffice to all of accounts department only...and assuming no deployment problems, sales, and R&D too.
Next, patching. Show me all machines that haven't patched $NameOfPatchHere you deployed to the company a few weeks after it was made available to the world (giving enough testing time to be sure there's no reports of anything breaking online first).
Next, branding. The company changes name; merges with another. You want all reference of $COMPANY_X changed to $COMPANY_Y; screensavers, wallpapers, etc, etc. Rebuilding each machine image isn't an option.
Next; security. You want to open an incoming port on every local firewall for a new teleconferencing system...but only for R&D. By default all non MS-AD ports are sealed off.
Windows AD does all of this in about 2 clicks per above need. Doesn't matter if you have 5 clients of 5000.
throw new NoSignatureException();
Who said anything about Microsoft? The name "M$" is clearly a regular expression, so he's running something which ends in "M".
I'm guessing it's tfo$orciM.
Lets examine the threats here:
Viruses? Hardly any.
Rampant piracy? Of open source? haha. Of movies? Block bit torrent
People opening up ports on their desktops to the world? Get a firewall.
People h@x0ring root? Tripwire+logging.
Dissemination of company secrets? Was always a threat. Force everyone through a proxy.
Anything else?
I wrote my first program at the age of six, and I still can't work out how this website works.
Bingo.
If you don't restrict sudo, you can do anything. I would bet that most people here use sudo for full root access and not restricted commands, and don't understand this.
But back to the apache example, why oh why are people still starting it as root with the config files being owned by root? That's nuts. Use iptables to redirect port 80 to 8080 (and 443 to 8443) and get off the "root crackpipe."
To be honest, the legacy requirement that you must be root to run applications on ports less than 1024 doesn't make sense in the modern security world and Linux (along with OSX, Solaris, etc.) should dump it. Unix derivitives are the ONLY OS's with such restrictions, and the workarounds of starting as root and dropping privs is just a bloody nightmare and SOOOOO unneeded. Along similar lines, native jailing of apps really should be built in to the OS. BSD has it, Solaris has it, Linux needs it. Right now it's bloody difficult to jail a user to a portion of the filesystem. vservers help but are not a true replacement for being able to jail a user (or hundreds of users) to a limited area.
Instead of spending $$$ on bondage and discipline, how about treating your users like adult human beings? In real enterprises, there are call center people and sales people. Both groups of people can not be treated like adult human beings. To do so would be like asking a three year old what it wants for dinner. Sure, he's happy for a while, eating cookies and ice cream for dinner, but then you've got to deal with cleaning vomit off of everything, and 10 years later, he's getting his feet cut off from diabeetus.
How long does it take you to install software on just one machine?
Because seriously... NFS mounted app directories. It will change your outlook. Look into it.
I use cfengine to manage my servers. Right now I only have about 50 servers to manage, but with a userbase of about 30,000 very clever users and some really obnoxious corporate policies to enforce. At a previous job I was managing thousands of Linux boxes all by myself, and had half my day left over to help the Windows guys with their pile of work to manage a few hundred desktop machines and a couple of dozen servers.
This isn't rocket science. This is a matter of a professional using the right tools to get the job done effectively and efficiently.
So I'm the guy who runs it at Google. :)
That number as far as clients was something we stated quite a while ago. It's a much larger number now.
You can certainly scale Puppet up more. You just won't be running the one server.
What we do is have a dedicated Puppet CA server, and then geographic masters in each major location.
i don't read slashdot anymore.
"Depending on the support contract, RedHat costs you anything from US$500 to US$thousands per year for updates."
Nope. Sorry. Simply not true. Updates are available regardless. Get over it. The whole model is not comparable to MS. Though millions of dollars change hands because lots of folks, including IT folks, just don't get it. Geez, I wonder if it is worth looking up the thread from maybe 4 years ago with IBMers who thought their support contract was a user license and they had to have it in place before they could use SLES.
But we in the community appreciate you dumping the money out there, even if it is on totally bogus assumptions.
They aren't competent because they have no incentive to be -- if they screw up their computers, that's IT's problem. If it suddenly became their problem, they might see things a little differently.
Just for fun, here's a car analogy: A car is a rather complex piece of machinery, and takes a lot of training -- typically an entire class of driver's education. While some people go on to master it and become stunt drivers, or simply improve their skills and get a truck license, etc, most are content to at least reach some level of competence.
But if you never bother to reach that much, you end up driving into a tree, or a telephone pole, or another person, and it's generally your fault.
Aside from the fact that cars are actually dangerous, and can cause bodily harm, I'll go with the fact that it is entirely the responsibility of the driver to be properly licensed and at least competent, and if they can't do that, it's entirely on their own head, both literally and financially.
Now, granted, many corporations don't like the idea of having to fire their best salesmen because said salesmen are morons about computers. But that only perpetuates the myth that it's somehow hard to attain some level of competence, and allows the salesmen to continue to see computer knowledge as somehow beneath them.
Don't thank God, thank a doctor!
"No, they're not. At least not in any comparable form."
I guess you have to define 'comparable form' since the entire OS and updates are available as white box ....
The updates are available. You can pay for quicker access and to use certain tools, but it is open source software, after all.