Linux Desktop Security for New Users?
theblkadder asks: "Our company is currently undergoing a company-wide transition to Linux on the desktop. While there are numerous excellent guides and tutorials for the admin crowd, I haven't been able to turn up much for the non-technical user. I'm looking for something that would cover such topics as basic desktop do's and don'ts, like 'do choose a non-dictionary password' and 'don't blindly drop to root and install an unverified/unauthenticated RPM that you receive via email,' etc. Anyone seen a guide like this?"
It's called the don't-give-anyone-root.
You don't give anyone root and let them do whatever they want.
Good news that you're making the switch to Linux.
You are being MICROattacked, from various angles, in a SOFT manner.
I'm looking for something that would cover such topics as basic desktop do's and don'ts, like...'don't blindly drop to root and install an unverified/unauthenticated RPM that you receive via email,' etc.
When you say non-technical and 'basic dos and don'ts,' that example seems pretty technical. You might just as easily say "don't double-click unverified email attachments."
IMO you will probably be in the best position to write this documentation because you know your typical user and probably know what they are and aren't allowed to do already on their new desktop. I'd be interested in seeing what something like this looks like if it does exist...
Todd
theblkadder asks: "Our company is currently undergoing a company-wide transition to Linux on the desktop."
and
"I'm looking for something that would cover such topics as basic desktop do's and don'ts, like 'do choose a non-dictionary password' and 'don't blindly drop to root and install an unverified/unauthenticated RPM that you receive via email,' etc."
Um...excuse me. Why do your desktop users have the root password?
Besides Linux can be set up to reject inappropriate passwords.
don't blindly drop to root and install an unverified/unauthenticated RPM that you receive via email
That would be nice to say to a home user.
But on a work environment, why give the root password to the (non-linux-experienced) users in the first place?
Why would non technical users have root access in a commercial environment. Not even management should have such access, beyond being able to get the password from a sealed package in a safe in an emergency, and then only with checks to ensure that no one can withdraw it without authority. No system is secure unless the root password is restricted to the admin that needs to use it, and ideally that should be a single person.
* Choose a password as long as the one on your credit card.
* Protect confidential information as much as airlines keep their customers information private.
Someone once told me that _Alice's Adventures in Wonderland_ is the best book on any subject for the layman. Try that.
I'm looking for something that would cover such topics as basic desktop do's and don'ts, like 'do choose a non-dictionary password' and 'don't blindly drop to root and install an unverified/unauthenticated RPM that you receive via email,' etc. Anyone seen a guide like this?
Why?
Do you expect anyone to actually read this document?
Oh, I wish I were being sarcastic.
Either enforce things (your password policy), or wait for people to have trouble so you know what to document (every installation is unique, and you're wasting time trying to predict how your users will react when you could just wait and see).
The only purpose of such a document, in the end, is CYA anyhow. And again, I wish I were being sarcastic. If you can't enforce it, people are going to do it.
The only possible exception is if this is a technical group of users who will be daily and strongly held accountable for violations. Basically, the only group of people who meet these two criteria are Computer Science (or related disciplines) students.
Otherwise, don't bother. Not sarcasm.
???) PROFIT!!!
I'm guessing the ??? is "Microsoft" ?
In Soviet America the banks rob you!
Let me get this straight. You're company is transitioning to Linux on the desktop, but they're leaving administrative policy to the user? Make sure your resume is in order, because you may need it.
Password policy will already be determined by the IT department. Users will never have to worry about unauthenticated packages, because users will never be able to install them. Yada, yada, yada. This is so damned obvious I must be missing something in the question...
Don't blame me, I didn't vote for either of them!
Others have pointed out that root for an end-user is a bad idea, so here's a couple of other ideas off the top of my head.
When I try to come up with a list of Don'ts for computers, I think of my dad. He's the living embodiment of the phrase, "A little bit of knowledge can be a dangerous thing" (No, Dad, you can't save disk space by getting rid of that .dll). Most users won't ever bring up an xterm, but people get bored at work, and then they start looking for interesting ways to entertain themselves.
With the hype around Linux's security, why are users allowed to do this? Would it not be easier to deny the ability to use a non-alpha+numperic password? This could be easily implemented into any distrobution.
The other half of 'don't give users root' - you need to set permissions or assign users to groups so that they never need root in normal use. And you should leave sshd running so that when a user calls, you can make these changes without leaving your desk.
/dev/floppy, /dev/cdrom; needs to automount when a disk is inserted, or be mountable and ejectable by a desktop icon.
Some examples;
dialup networking; use modemlights, kppp, or set up dial-on-demand.
shutting down; some distros require the root password to shutdown. If yours does, reconfigure this.
The end user shouldn't need root _ever_ for day-to-day computer use. If they want anything more than the basic 'look and feel' desktop settings changed, they should call tech support.
You might also want to make the machine console-secure as far as possible. Boot only from HDD, set a password on the bootloader and BIOS, replace the case screws with torx screws, etc. It depends who has physical access, and how secure you need to be.
455fe10422ca29c4933f95052b792ab2
Under the "start" menu on whatever desktop you choose, name all the shortcuts after their Windows counterparts.
e.g.
Clicking on Word launches OO.org Writer.
Clicking Internet Explorer launches Mozilla.
Clicking Outlook launches KMail.
Clicking My Documents launches Nautilus or Konqueror.
etc.
Given that most popular FOSS productivity software is functionally equivalent to its MS counterparts, the only major barrier for the non-technical user is learning new names for everything.
Unknown host pong.
I'm not asking the subject question to poke fun at you or flame. From your description and discerning how you plan to setup Linux on the desktop it sounds like you're missing one of the benefits of Unix because you're looking at it as a Windows admin. But I could be completely wrong.
You can set up desktop as basically a terminal using X. I know, what a waste of a desktop right? But, that's how Unix is built. You can setup a server (or multiple servers of necessary) to act as your main server and each desktop is really logging into the server using XDMCP. Or look at the Linux Terminal Server ProjectYou lock out logging into the local machine and poof! All user files are forced onto the server so there's no pesky phone calls like "Well I saved the file onto c:\pron\pron\pron\pron2\pron2 but the hard disk just went bad! YOU need to get it back for my board meeting in five minutes!" I realize this is a lot of overhead, but you can gain alot of control this way like upgrading OO.org for everyone without having to update every single desktop.
Perhaps XDMCP is too insecure for you or you have so many users that XDMCP would be too difficult. That doesn't mean you can't set it up like I've described. It just gets complicated, which means its beyond my meager expertise, but I've seen it set up that way at school.
As long as we're on the topic...
sed s/foo/bar/g < in.txt > in.txt
Whoops! (had a coworker do this just yesterday)
Also, I don't know if any distributions still do this, but I used to have an old version of RedHat that defaulted to aliasing rm to rm -i; ditto for cp and mv. It seems newbie-friendly, but it really just encourages carelessness in the event they find themselves on a different system.
Which probably isn't as large a task as you might imagine. It will also give you the chance to customize it to your users, which makes it a whole lot more likely that people will read it. There is plenty of online material to use as a reference, especially when it comes to password choice. Also look around for documents from university computer labs or university computer support services. You may find some ideas there.
You also might want to consider making people pass a quiz in order to get an account. Sure, it's irritating... but it actually does work. Make it part of the regular procedure for getting access, so that you catch new users.
A presentation can also work, if you're a decent speaker or you are willing to hire one. Doing something flashy could be fun. Consider having everyone create an account for themselves on a test machine at the start of the presentation and then having a password cracker grind through them all while the meeting is in progress. If you've got a couple fast machines to spare, you could probably shock the hell out of people by guessing their passwords before the meeting ends. Better have a backup plan, in case your users are more savey than you think.
And, to repeat what's already been repeated many times: you really shouldn't be letting new users choose arbitrary passwords nor giving them root access if you can help it. If you can't avoid giving them root, then try to give it to as few people as possible, and have a nice long talk with them about appropriate procedures first. (And make damned sure you have regular backups, so you can repair things when they screw up.) Sudo is your friend!
It's really not much more complicated like that. If you can get everyone to choose good passwords, change them frequently, and not share them with each other, then you are good to go.
You can hire network administrators to tell you which protocols are safe and which are not, and where you should use them and how. You can hire system administrators to watch your main systems and harden them as well. You can even get some internal tech support people to help out the users and make sure all the machines are up and secure.
But it always comes down to the individual users: Get a good password, change it frequently, and never share it with anyone, period.
The radical sect of Islam would either see you dead or "reverted" to Islam.
Make it easy on people before they make it easy for themselves. If you make it a hassle, I assure you there will be post-its under/in/behind desks/keyboards/drawers/trays/monitors. Offer simple mnemonic devices for constructing acceptable passwords.
If you are migrating from an existing infrastructure then you had policies in places before for desktop users, hadn't you?
Common practices for desktops change very little from platform to platform and have more to do with your environment.
Use the previous policies you surely had, addapt them to Linux, and add the bits that pertain only to Linux.
IANAL but write like a drunk one.
Historically you are correct, but an office should select which apps users run. One thing to select on is conformance with Freedesktop.org standards. KDE and GNOME both follow this, as do most other modern X apps (which is a minority I grant)
- Option "DontVTSwitch" in the appropriate section of your XF86Config file disables switching to text virtual terminals;
- Option "DontZap" Neuters Ctrl-Alt-Backspace;
- Option "DontZoom" Turns of resolution switching.
Read the manual page for XF86Config for details. There are probably several things in here that you want to setup if you are trying to create a linux desktop for normal users.-- Ecks
As many people have suggested you will probably have to write this on your own. Users will not have access to root... is probably a good place to start.
The Linux terminal server project would be a good place to look for ideas on how to build this. In my opinion the real bang for the buck from Linux on the desktop would come from leveraging X11, NFS, and NIS or the "thin client model", to create a graphical computing environment analogous to the VAX/VMS environment for vt-220 terminals from the mid 1980s. The current implementation would centralize user file storage and application storage to few servers. And then deploy a bunch of Linux machines which attach to that storage over the network. It would be really stupid of us as a community to repeat the mistakes made in the Microsoft Windows world by adopting the broken pieces of the windows model of computing.
-- Ecks
1. DO NOT JUST PUSH THE BUTTON TO RELEASE A ::: UNMOUNT IT FIRST
FLOPPY OR CD-ROM
2. If you are networked, it is possible/likely
that others may be running sessions or
processes on your machine - THUS DO NOT
SHUT THE POWER OFF.
OK, now for a SU war story. I used to work at Sun, and shortly before I was hired they instituted a policy that nobody got their machines root password unless they could convince IT they really needed it. This was actually a sensible policy, given some of the stupid stuff people who did have root access did (everybody who'd had it before the policy change was allowed to keep it). One person ran a MySQL-based web application served by her workstation, with no backups. IT innocently overwrote her data during routine maintenance. She was pissed. I was unsympathetic.
Still, I found the policy frustrating -- I was a Solaris newbie, I wanted to learn as much about it as I could, and there's only so much you can learn without fiddling with the system innards.
Finally, Captain Murphy intervened in my favor. My automount daemon kept crashing, and IT couldn't figure it out, and got tired of coming out just to restart it....
And if I'm wrong about that, then it's not enough to get rid of your private bin. You also have to hack the shell so it doesn't read startup scripts like .profile or .login. Cause if it does, then a trojan can simply re-write the scripts to add that private bin. Or define aliases.
I mean, how about if a a user types in this:
while : ; do echo "HAXORED!!!" >> file ; done &
and hit up and enter a few hundred times and your machine is trashed.
quotas, process limiting, and other factors come into play.
At oreilly.com a search on "linux security newbies" came up with some good possibilities, including:
0 4/ 12/summary412.html
http://www.linuxdevcenter.com/pub/a/linux/2000/
Good luck.
Has anyone in here ever recieved a unauthenticated RPM in email?
I have never recieved one personally. It's always nasty window crap I get, and laugh at because I don't run windows.
The only time I get ebuilds are from portage. And from the official websites of programs I am seeking, never in email attachments.
This raises another question though. If linux takes off, will we see a huge influx of linux worms and general crap that are proliferating windows right now?
"When I look back, my life is not a foreign country, it's more like a library book returned long ago." - ????