Do You Run as Admin?

Almost all development shops I've seen or been a part of have given a lot of freedom to their coders. The argument goes something like this: "How can we operate if we don't have full control of our own development environments? Do I have to call desktop support every time I need a new tool installed, need to restart a service?"

It's a valid concern, often hard to address if your IT department is stretched to the limits with mundane maintenance and customer support tasks. But freedom and admin necessity does not preclude security concerns.

I've been lucky enough to experience an IT department that explains the risks behind unrestricted developer power. And while I initially rebelled, I am starting to see the wisdom of not being root/admin on a box. (Either that, or the kool-aid is working.)

Do you run as admin? Think about some of these questions:

  • Are you only doing this because of some sense of not wanting to lose privileges?
  • Do the things you do (after setup) really need root/admin to function?
  • Have you thought about what could happen if someone logs in as you? What that person could do?
  • Do you really know what software is doing "under the hood" as it uses privileges your account can grant it?
  • Are you just being lazy by not wanting to perform extra steps to do "admin-y" tasks?

Creating a non-admin account for yourself on all your computers can be problematic at first. There's transferring personalized settings and setting things up to not run with all power. It's even more difficult to do this for some applications that demand to run as administrator only (yay thanks Win coders). Weaning yourself is even harder if you are used to domain administrator privileges (as you can tell I'm talking Windows right now). Definitely one size does not fit all, but if you are not a systems administrator, and just a coder or business user, consider the security implications of trojans and unauthorized users running with the same privileges as you. Consider what you have access to and how this could be used to really mess up your corporate or home network.

Insert obstacles, and think of what would piss off an intruder who is impersonating you. Compartmentalize your access by keeping everyday tasks in a lower-privilege, and only allowing things like installation, restarting services, and updating apps to your special admin account.

For OS X users, you're not exempt. Consider creating an admin account with a strong password, and removing your main user account from admin privileges. Most of the time this is how OS X operates, and it'll let you know when special cases require an authorized superuser account. Some just assume that OS X insulates against root access by default, and therefore is more secure-- but if your account has "sudo" or admin privileges and an install or application prompts you for a password, you're basically granting that process the highest power you can have yourself. By having a separate admin account at least someone who compromises your account still needs to crack the unique name and strong password to do anything more to your system than play your games and read your mail.

We all do not like power being taken away. Especially by some power-tripping corporate IT administrator. But there is good reason not to always have all permissions all the time. Don't even trust your own account, and it may help you keep your system from getting completely owned.

Some tools and products that help you keep data and passwords secure:

Share |

Posted on October 06, 2008 by Dennis Mojado

Filed under #code | 0 Comments |  Digg it



Comments:

Post a Comment:
  • HTML Syntax: Allowed