
Choosing Passwords for Your Virtual Server Accounts |
The security of the Virtual 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 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 Server, password cracking is among the most effective and
useful. The UNIX operating system, upon which the Virtual 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 Server
system stores this information in a file named "passwd"
located in the etc on each virtual 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 an 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. It instead contains 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.
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 provides the means to 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 contents of the etc/passwd
file 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:
|
The authors continue and state that good passwords are passwords that are difficult to guess. In general, good passwords:
|
Remember: Following a sensible password policy will help ensure that your Virtual Server remains the robust and secure system it should always be.