Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



VPS v2: User Password Security

bullet Introduction

The security of the Virtual Private Server system is assured by the use of passwords used to gain access to personal or privileged information. Since passwords play such an important role in Virtual Private Server security, there are many issues you should consider when choosing and using passwords.

Of the many possible avenues of attack that a malicious individual may resort to when attacking a Virtual Private Server, password cracking is among the most effective and useful. The UNIX operating system, upon which the Virtual Private Server system is based, maintains a list of recognized users and information about their passwords in a special file (or files) used as needed for authentication purposes. The Virtual Private Server system stores this information in a file named ~/etc/passwd located on each Virtual Private Server.

Many cracking techniques in popular usage today by malicious individuals to penetrate server security involve "dictionary guessing" where computers are used to automate a trial-and-error guessing process to discover the correct password to a User Account. As a prelude to cracking activity, these individuals will often attempt to view the ~/etc/passwd file of a server to use it as input to their automated guessing programs. Due to the design of the UNIX password scheme, the ~/etc/passwd file does not contain the actual account passwords. Passwords are instead stored as a special sequence of characters generated by a specific cryptographic algorithm, using the actual password as a encryption key to encrypt a block of known plaintext. In addition, these encrypted passwords are stored in a different file which is harder to get to without already having root access to a Virtual Private Server.

As such, knowing the contents of the ~/etc/passwd file does not provide a direct knowledge of any account passwords. However, it does offer a list of all valid accounts and a skilled hacker can quickly check the validity of a guessed password, greatly assisting any cracking efforts. Using a large word list or dictionary the attackers try every word or permutation of words in an attempt to guess the password, checking their results against the encrypted passwords until they have a match.

This process can be surprisingly successful. As a result you should not use weak passwords that could be feasibly listed in any dictionary, including any foreign language dictionary. Trivial permutations such as spelling a dictionary word or account name backwards, concatenating one or more dictionary words, and prefixing or suffixing dictionary words with letters or digits should also be avoided because they are among the first permutations a dedicated attacker will check. Characteristics of good passwords include sufficient length (traditional UNIX systems recognize and use the first eight characters of the password so plan on choosing passwords seven to eight characters in length), sufficient complexity (UNIX passwords are case sensitive, meaning that uppercase and lowercase letters are not the same, and they may also contain unusual characters such as punctuation characters, so plan on using strange or unusual capitalization and characters), and sufficient obscurity (never use a password that incorporates personal information about yourself that could be easily obtained).

In the book "Practical UNIX Security", Simson Garfinkel and Gene Spafford offer the following checklist of things to consider when choosing password. To be secure, a password should not be any of the following:

  • Your name
  • Your spouse's name
  • Your parent's name
  • Your pet's name
  • Your child's name
  • Names of close friends or coworkers
  • Names of your favorite fantasy characters
  • Your boss's name
  • Anybody's name
  • The name of the operating system you're using
  • The hostname of your computer
  • Your phone number
  • Your license plate number
  • Any part of your social security number (or equivalent)
  • Anybody's birth date
  • Other information that is easily obtained about you
  • Words such as "wizard", "guru", "gandalf", and so on
  • Any username on the computer in any form (as is, capitalized, doubled, etc)
  • A word in the English dictionary
  • A word in a foreign dictionary
  • A place
  • A proper noun
  • Passwords of all the same letter
  • Simple patterns of letters on the keyboard, like "qwerty"
  • Any of the above spelled backwards
  • Any of the above followed or prepended by a single digit

The authors continue and state that good passwords are passwords that are difficult to guess. In general, good passwords:

  • Have both uppercase and lowercase letters
  • Have digits and/or punctuation characters as well as letters
  • Are easy to remember, so they do not have to be written down
  • Are seven or eight characters long
  • Can be typed quickly, so somebody cannot follow what you type by looking over your shoulder

Remember: following a sensible password policy will help ensure that your Virtual Private Server remains the robust and secure system it should always be.

Toll Free 1-866-GSP-4400 • 1-301-464-9363 •
Copyright © 1994-2016 GSP Services, Inc.