|   HOME     |   MAIL    | 

 

SNC SafeNet Whitepaper

August 14, 2007

 

Abstract:

Many people and organizations are using the free operating system UBUNTU. It is a powerful Linux distribution that has been widely accepted. It comes with a rather unique root access security architecture that most users accept out of the box. The UBUNTU security approach is refreshing, but it might not be the best approach for you. In this article, I want to stimulate thought about the choice of your approach to using UBUNTU and let you know that you can modify its security model to best fit your needs.   

 

Jim Burdick, SNCSafeNet, www.sncsafenet.com.

Is UBUNTU’S Security Model Best For You?

UBUNTU, An Introduction

UBUNTU is an implementation (called a ‘Distribution’) of the free and open source Linux operating system. Linux is a UNIX-like multi-user, multi-tasking computer Operating System written by a huge number of people from around the world.

UBUNTU can be installed in many configurations, including some standard uses such as Desktop or Server and innumerable customizations between. Because of its power, security, reliability, price (it is free!), standardization, and other characteristics, UBUNTU is used by a wide range of people and organizations from hobbyists to large organizations.

This article is intended to question and perhaps resolve some issues related to the built-in security of the UBUNTU system, particularly focusing on sensitive environments such as financial institutions.

Security Model Overview

In UNIX environments, the highest concentration of power is called the super-user or ‘root’ account. This is the account that is powerful enough to literally kill the system. It is standard practice to use the root account only as much as absolutely necessary. It may be obvious from this that one should never use the root account for routine activities.

In most other UNIX and related operating systems, the root authority is exerted simply by logging in as root and doing the desired tasks. In this model, actions requiring root authority and other authority are mixed together in many cases.

The UBUNTU distributions have a rather unique approach to use of the root account. In the UBUNTU environment, access to the root account is only allowed for temporary periods and then only to a limited number of users.

UBUNTU uses commands and files related to the ‘su’ command to control root access. The su command stands for set user or switch user.  This and a series of related commands control who can invoke root authority, when, how, where, and perhaps in what context.

 

Risk Management

There are many factors that govern how a security architecture integrates with your organization. In fact many (most?) UBUNTU users are likely to be private individuals, not an organization. I do not aim this article toward private individuals, but there is nothing in the article that isn’t essentially true for the personal use of UBUNTU.

For organizations, the thrust of this discussion is related to Risk Management. Briefly, Risk Management is a discipline that recognizes that there are a lot of bad things that can happen in this world, that these things can happen to you, and that you have taken steps for those factors within your control to limit the bad things to a level you can live with.

When you have identified a risk, there are only three things you can do to that risk: avoid, assign, or accept.

You avoid a risk by placing a control to cancel or eliminate the risk. A firewall or antivirus program is intended to avoid risk by eliminating certain threats.

You assign a risk by placing a resource under the control and responsibility of another. This is what happens when we purchase insurance (e.g. business interruption insurance) or when we outsource, such as purchasing email service from a vendor.

There are two ways that we accept a risk. The first way is to recognize a risk, either assign or avoid the risk, and then we accept any risk that ‘falls through the cracks’ of what we have done to assign or avoid the risk. The other way to accept risk is to do nothing. This is not good. Risk acceptance is the default. If we chose to do nothing, or if we aren’t aware of threats that pose risk, we are accepting that risk knowingly or otherwise.

This article is specifically intended for people and organizations that use UBUNTU and are in need of understanding the Risk Management implications of this operating system.

 

Possible Flaws

On the surface, the UBUNTU model seems clever and effective. However, there are potential flaws to the model. For instance, every root access requires two password entries, one to log on and one to verify the root task. Every password entry is a risk-event, which is a potential for compromise.

Normal user access presents a risk to root access in the long run as the compromised user password can be used later for root access. This means an ordinary user account can be used with no need to do a root function and compromised on Thursday and the hacker can wait and use that same password the next Tuesday and then ascend to root.

Always remember that using the access of a normal user to climb the trust ladder and become a privileged user has long been a hacker tactic, and an effective tactic at that!

Using multiple trustees of root responsibility renders root access only as strong as the weakest of the normal user account passwords.

Distribution of root responsibilities and capability complicates the detection and management of root attacks and compromises.

 

Your Specific Environment

It is easy to talk about UBUNTU, or any operating system, and place values on its security, but that security does not exist in a vacuum. UBUNTU always exists in an environment. There is an enormous difference between the lobby of a public library and the inner bowels of a locked computer room. There are risks to a laptop hooked up in a hotel that do not exist in a network management shop. And there are other risks apparent in all situations.

This article can not cover all uses or environments and you absolutely need to filter all evaluation through the lens of you own implementations and situations.

 

Special Thoughts About Examiners

If your organization is a financial institution that has examiners looking over your security controls, you need to take appropriate actions.  Regulations require that you show adequate control of privileged access. You need to document how you control access, how you verify compliance, and how you react to exceptions in operational situations.

Understand that not all organizations fall under the review of examiners, but if you do, this may help you see how this topic is influenced by the process.

If you use the UBUNTU security model you need to track user accounts of those individuals whose accounts are tied to the sudo capability. This means that you need to track every routine access as though it might escalate authority because it could escalate.

The good side of this is that UBUNTU’s approach allows sufficient logging and support programs to satisfy an examination, though you will need to work to stay on top of things.

Another examiner-related issue is that the examiner will expect policies and procedures to match the security controls, be sure to develop or modify both policies and procedures so that the entire control manages your risk and controls it.

What examiners really need to ascertain is that you:

§   recognize a resource in your environment that might present risk,

§   you have evaluated the potential risk,

§   you have placed controls (that WORK!) on that resource,

§   the controls are congruent to policies and procedures,

§   you test the controls to assure that they work, and

§   you understand and accept the residual risk.

If you meet these points, you will probably pass muster for an examiner.

 

Recommendation

Okay, so I’ve been in security for a long time, folks always ask me what I recommend. I’ll tell you. But let me first share what I say in this matter with the warning, that much (most!) depends on your situation. But what I share will be generally applicable.

First, everyone, no matter what, should assign a good, strong root password and put it under the organization’s password policy and procedure. You should never have a machine in your environment that has an account you do not have covered by your organization’s password policy and procedure.

Make appropriate changes to allow root login at the console. This may also be expanded to root login using the SSH protocol, or other encrypted equivalent. Authorized users have the root password and use the root account to do privileged tasks.

Unless the machine will not allow it because of an error state, authorized root users should always first log in using their personal account. This helps maintain a proper log trail.

When ascending from a user account to root account and privileges, always use the “su –“ (called “su dash” or “su minus”) command. Never, ever ascend to root by using only the “su” command. The hyphen assures that the root account uses the root environment instead of using the person’s personal environment.

Make a thorough review of those folks that require the root privileges and give the root account access to only them. Repeat this review on a regular basis according to corporate policy and procedures.

If some functions require a limited root access, such as user account administration, use the UBUNTU root architecture for these functions, limiting the access in every way that makes sense, such as person, privileged activity, time of day, connecting host, and appropriate logging. Review and repeat the review of these assignments on a regular basis according to corporate policy and procedures.

And as equally important as all the above, and probably before accomplishing the above, create or update policies and procedures to reflect these security controls.

In closing, I suggest that you use UBUNTU. Use it when it makes sense for your operational requirements. But don’t feel tied to its built-in security model. It is not a bad model; I just don’t think it fits all situations.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

word to html converter html help workshop This Web Page Created with PageBreeze Free Website Builder  chm editor perl editor ide