| Service | Purpose |
|---|---|
| Authentication | The means by which one can prove or identify oneself. For example, a user account login with a password. |
| Access control | Determines what system resources a user or service may use, view, or change. After a user has been authenticated, the access control service on an operating system determines where that authenticated user can go. |
| Data confidentiality | Protects data from unauthorized disclosure. For example, remote users may use some form of encryption so eavesdroppers cannot "see" their work. |
| Data integrity | Protects against active threats (such as altering data) by verifying or maintaining the consistency of information. |
| Non-repudiation | When two systems interact, if one later denies that the set of transactions occurred, it is attempting repudiation. The other party may then try to prove that the transaction actually did occur. Nonrepudiation is the security service that provides such proof. |
| Level | Description |
|---|---|
| D | No inherent security. A classic example is an MS-DOS system. |
| C1 | Discretionary security protection. The system need not differentiate between users. It can provide rudimentary access control. An example might be a small departmental desktop publishing system, with files for common use and an area for individual use. |
| C2 | Discretionary access security. The system differentiates between users, but treats them uniquely. System-level protection exists for resources, data, files, and processes. Certain implementations of Windows 2000 and Linux can be made C2-compliant. |
| B1 | Labeled security protection. The system provides more protection, such as varied security levels. Also, mandatory access controls beyond those levels place resources in compartments, isolating users in cells, and thus offering further protection. Examples are AT&T System V UNIX with MLS, and IBM MVS/ESA. |
| B2 | Structured protection. This level supports hardware protection. Memory areas are virtually segmented and rigidly protected. Examples are Trusted XENIX and Honeywell MULTICS. |
| B3 | Security domains. This level offers data hiding and layering, preventing all interaction between layers. An example is Honeywell Federal Systems XTS-200. |
| A1 | Verified design. This level requires rigorous mathematical proof that the system cannot be compromised, and provides all the features listed in lower levels. An example is Honeywell SCOMP. |
| Concept | Definition |
|---|---|
| Protection Profile (PP) | A document created by IT administrators, users, product developers, and other parties that defines a specific set of security needs. It communicates the needs to the manufacturer. |
| Security Target (ST) | A statement from the manufacturer that claims what security an IT product or system can provide. It contains product-specific information that explains how the particular product or system meets the needs of the PP. |
| Target of Evaluation (TOE) | The IT product or system to be evaluated. It must be evaluated using the specific security requirements listed in the PP and the ST documents. To comply with the CC, the product must be analyzed and tested by an accredited third party. |
| Step | Action |
|---|---|
| 1 | Visit the ITSEC homepage at: www.cesg.gov.uk/assurance/iacs/itsec/index.htm. |
| 2 | Navigate to the page on security evaluation criteria and read the general descriptions of the ITSEC, TCSEC, and Common Criteria standards. |
| 3 | Search their products database, and produce a list of networking products with E2 level ITSEC classification. |
| 4 | Download the formal document defining ITSEC criteria and review the definitions of ITSEC security levels. |
| 5 | Visit the Common Criteria Project Web site at: csrc.nist.gov/cc/. |
| 6 | Download the latest version of the Common Criteria. Read the first section, which introduces you to the general model. |
| 7 | Follow links to pages about specific products that have been tested. List at least five that have passed the Common Criteria evaluation process. |
| Level | Applicability | Implementation |
|---|---|---|
| Low | Computer is in a secure location. Computer does not contain or access sensitive information. |
No operating system security is applied. Virus software is used. Computer is secured against theft. |
| Medium | Computer holds or accesses corporate data. Computer is accessible to more than one individual. Accidental information-damage protection is needed. |
Auditing is enabled. File permissions are used. Account policies are implemented. Countermeasures and protections are enabled in the operating system. |
| High | Computer holds or accesses highly sensitive or very valuable information. Computer is in a high-risk location. |
The operating system is stripped down to the bare minimum needed for chosen functions. Additional strict countermeasures and protections are enabled in the operating system. |
| Step | Action |
|---|---|
| 1 | Examine the process of security management used at your company. List the security activities that each person performs and try to place each activity into one of the three basic areas of security management:
|
| 2 | Identify which security mechanisms are currently being used, and determine how they are administered. |
| Step | Action |
|---|---|
| 1 | Use your favorite search engine to locate the latest information on known Linux security vulnerabilities. |
| 2 | Identify at least five of the most common security bugs. |
| 3 | For each item on your list, research steps that are taken to reduce the risk or plug the security hole. |
| PAM Directory | Description |
|---|---|
| /etc/pam.d/ | Contains the files that allow you to determine what must occur before a user can be logged in |
| /etc/security/ | Contains files that allow you to set limits concerning users and daemons when they have logged onto the system |
| /lib/security/ | The actual location of the PAM modules |
| Module Type | Description |
|---|---|
| Auth | Specifies ways in which the user will authenticate with the system (usually via a password) |
| Password | Allows the system to update a user's account information (username and password) |
| Account | Controls how the user will access the system. Allows you to control when a user can access the system and which resources she can access. Also allows you to choose specific locations and terminals from which a user can authenticate. |
| Session | Invokes checks on applications and services that a user invokes after authentication |
| File | Description | Entry |
|---|---|---|
| access.conf | Determines which users can access the machine and from where | account required /lib/security/pamaccess.so |
| group.conf | Controls login at a group level | account required /lib/security/pamgroup.so |
| time.conf | Sets times when specific accounts can log on | account required /lib/security/pamtime.so |
| limits.conf | Specifies limits based upon percentage of processor usage and number of processes a user can run simultaneously | session required /lib/security/pamlimits.so |
| console.apps | A directory that contains text files that allow you to configure who can use an application | You can specify users as well as entries. |
| Step | Action |
|---|---|
| 1 | Please Note: For the exercises in this course, you should set up an isolated network for practice. Do not use your production network for these practice exercises. Open the /etc/pam.d/login file. |
| 2 | Examine the file and determine if any PAM services are currently being used. PAM entries will begin with one of the four module types: auth, password, account, or session. |
| 3 | Add an entry to restrict direct root login from remote systems. |
| 4 | Add an entry to check for the presence of the shadow passwords database. |
| 5 | Add an entry to specify which users can log on. |
| 6 | Add an entry to set times when specific accounts can log on. |
| 7 | After saving the file, check as many of your new settings as you can. Try logging on as an unauthorized user, at the wrong time, or to the root from a remote system. Verify that your new login restrictions are working. |
| Step | Action |
|---|---|
| 1 | Please Note: For the exercises in this course, you should set up an isolated network for practice. Do not use your production network for these practice exercises. Enable the password complexity requirement in the Local Security Policy snap-in of your Windows 2000 machine. |
| 2 | Shut down and restart Windows 2000. |
| 3 | Try changing the password on a user account. Verify that you are now forced to use a strong password. |
| Step | Action |
|---|---|
| 1 | Please Note: For the exercises in this course, you should set up an isolated network for practice. Do not use your production network for these practice exercises. In X-Windows or at the terminal, open linuxconf. |
| 2 | In linuxconf, navigate to Users accounts | Policies | Password & account policies. |
| 3 | At the Policies tab, change the Minimum length value to 8, and the Minimum amount of non alpha char value to 2. |
| 4 | Select the Params tab. Change the Must change after # days value to 180, and the Warn # days before expiration value to 15. |
| 5 | Test your work by adding a new user and creating a password. |
| Step | Action |
|---|---|
| 1 | Please Note: For the exercises in this course, you should set up an isolated network for practice. Do not use your production network for these practice exercises. On a Windows 2000 system, create three new user accounts and two group accounts. |
| 2 | Generate a text file with a list of users and a file with a list of group accounts. |
| 3 | Open the text files in Notepad. Identify one user account and one group account that you would like to delete. |
| 4 | Delete the two accounts you have identified. |
| 5 | Access the system task scheduler and arrange for user and group account lists to be generated every Monday morning at 8:00 a.m. |
| Feature | Definition |
|---|---|
| Maximum password age | The amount of time a user can keep an existing password before changing it. |
| Minimum password age | The amount of time a user must keep a password before changing it. |
| Password history | The number of passwords the operating system will remember. If a user chooses a password that resides in the user's password history database, the operating system will force the user to choose another password. |
| Minimum password length | The lowest acceptable number of characters for a user password. |
| Password complexity | Requires use of non-alphanumeric characters and/or uppercase letters. The resulting security gain is often small, since many users resort to techniques such as using password01, password02, etc., to get around it. While not optimal, this is an improvement over using the same password continuously. |
| Encryption options | Red Hat Linux allows the use of md5 (theoretically non-recoverable) or 3DES passwords. Windows 2000 offers similar options. |
| Option | Meaning |
|---|---|
| -m | The minimum number of days between password changes. A value of zero means the user may change a password at any time. |
| -M | The maximum number of days between password changes. |
| -W | The number of days before the user gets a warning message that her password will be rendered invalid. |
| -E | The expiration date. After this date, the account will not be usable. Specified either as a number of days since UNIX epoch (January 1, 1970) or in MM/DD/YY form. |
| -d | The day of the last change. The number of days since UNIX epoch (January 1, 1970) when the password was last changed. May also be specified in MM/DD/YY format. |
| -I (upper case i) | If a password has been inactive for I days, the account will be disabled. |
| -l (lower case L) | List current settings. Used by unprivileged users to determine when their passwords or accounts will expire. |
| NTFS Permission | On a Folder | On a File |
|---|---|---|
| Read (R) | Display folder name, attributes, owner, and permissions. | Display file data, attributes, owner, and permissions. |
| Write (W) | Add files and folders, change a folder's attributes, and display owner and permissions. | Display owner and permissions; change file attributes; create data in and append data to a file. |
| Execute (X) | Display folder attributes, make changes to folders within a folder, and display owner and permissions. | Display file attributes, owner, and permissions. Run a file if it is executable. |
| Delete (D) | Delete a folder. | Delete a file. |
| Modify (M) | Change a folder's permissions. | Change a file's permissions. |
| Take Ownership (O) | Take ownership of a folder. | Take ownership of a file. |
| Standard | Folders | Files |
|---|---|---|
| No Access | None | None |
| List Folder/ Read Data | R, X | Not applicable |
| Read | R | R |
| Read & Execute | R, X | R, X |
| Add | W, X | The ability to only add to a file |
| Add and Read | R, W, X | R, X |
| Change | R, W, X, D | R, W, X, D |
| Full Control | All | All |
| Permission | Allows |
|---|---|
| Full Control | Change file permissions. Take ownership of files on NTFS volumes. Perform all tasks allowed by the change permission. |
| Modify | Create folders and add files. Change data in, and append data to, files. Change file attributes. Delete folders and files. Perform all tasks permitted by the read permission. |
| Read & Execute | Display folder and file names. Display file data and attributes. Run program files. Change to folders within a folder. |
| No Access | Establish only a connection to the shared folder. Access to the folder is denied and the contents do not appear. This permission overrides all others. |
| Permission Bit | Meaning |
|---|---|
| S | Indicates that setuid is on, but execution bit (x) is not set. The numeric permission for this bit is 4000. |
| s | When set in file's owner component, indicates to Linux kernel that if executed, its effective UID should be set to that of the owner. The numeric permission for this bit is 4100. |
| S | Indicates that setgid is on, but the group execution bit (x) is not set. The numeric permission for this bit would be at least 2000. |
| s | When set in file's group component, indicates to Linux kernel that upon execution, effective GID should be set to that group. The numeric permission for this bit would be at least 2100. |
| T | Upon program termination, indicates that program will not be immediately removed from Linux swap/paging area. This option is obsolete. Modern UNIX systems ignore this bit and make their own decisions about memory management. This bit will be capitalized The numeric permission for this bit would be at least 1000. |
| t | When set on a directory, a user can delete a file in that directory only if she has write permission for that file. Normally, only write permission on the directory is needed. The numeric permission for this bit would be at least 1001. |
| Output Symbol | Meaning |
|---|---|
| d | Indicates directory |
| r | Read access to owner (whose login name is root) |
| w | Write access to owner |
| x | For directory, implies that search access or capability is granted to owner |
| - | Read access is not available to group (in this case, staff) |
| - | No write permission is granted to group |
| - | Search permission for this directory is not granted to group |
| - | Read permission is denied to others (or everybody) |
| - | No write permission exists for others |
| - | Search permission in this directory is not available to others |
| root | Owner's login name |
| root | Group to which this user belongs. Linux assigns users to their own group to help simplify group administration. With groups named after users, it is possible to know exactly which groups you can work with; as long as you know a user's name, you know a group name, as well. |
| 4096 | Size (in bytes) of this directory |
| Time Stamp | Date on which the size last changed |
| 7:59 | Time at which that change occurred |
| ./ | File name to which all this information pertains |
| Field Value | Meaning |
|---|---|
| - | Plain file. |
| r | Read access granted to owner. |
| w | Write access set to owner. |
| - | No "x" usually indicates plain file; i.e., not executable. |
| r | Read access granted to group. |
| - | No write permission granted to group. |
| - | No execute permission to any members of group. |
| r | Read access available to others (everybody). |
| - | No write permission to world. |
| - | No execute permission to world. |
| 1566 | File size. |
| Time Stamp | Date on which file was created. When time stamp exceeds six months, file-listing program or utility will convert to year display. |
| File Value | Meaning |
|---|---|
| c | Indicates a character device. Character devices are often video monitors (as in this case), or printers. |
| rw | Read and write access granted to owner. |
| rw- | Read and write access granted to group. |
| rw- | Read and write access available to all others. |
| 1 | Reference count (indicates unique file). |
| root | Actual owner of this file. |
| root | The group to which file belongs. |
| 5 | File size (in bytes). |
| Time Stamp | Date on which file was first created. |
| /dev/tty | Location of file. |
| Mode Values | Meaning |
|---|---|
| 7 | Read, write, and execute |
| 6 | Read and write |
| 5 | Read and execute |
| 4 | Read only |
| 3 | Write and execute |
| 2 | Write |
| 1 | Execute |
| 0 | No mode bits (i.e., access absent) |
| Symbol | Meaning |
|---|---|
| u | User or owner |
| g | Group |
| o | Others |
| a | All user, group, and other components |
| + | Add these permissions |
| - | Take away these permissions |
| = | Set these permissions to |
| Step | Action |
|---|---|
| 1 | Please Note: For the exercises in this course, you should set up an isolated network for practice. Do not use your production network for these practice exercises. As root, try the following umask commands. As you issue each command, create text files to see how different umask values change the default file and folder settings: umask 222 umask 333 umask 066 |
| 2 | The umask value will return to its default when you reboot. Configure your system to use a custom umask value each time it boots using the /etc/bashrc file. |
| 3 | Open /etc/bashrc, and enter the following text at the end: fi umask 066 fi |
| 4 | Reboot your system and test your new umask value. |
| 1. | What are the five security services listed in ISO 7498-2? Define each service. |
| 2. | Describe the following basic security standards: ITSEC, TCSEC, and the Common Criteria. |
| 3. | What is the difference between specific and wide security mechanisms? Give examples of each. |
| 4. | Describe the default Windows 2000 security settings. |
| 5. | List the five components of the local Windows 2000 security subsystem. Define each component. |
| 6. | What are the four PAM module types? What function does each perform? |
| 7. | At least three out of four basic elements are usually present in a strong password. What are the four elements? |
| 8. | What commands do you use at a Windows 2000 command prompt to obtain lists of users and groups? |
| 9. | List and define the six password aging features found in most operating systems. |
| 10. | What is the difference between password lockout and password aging? |
| 11. | What file and folder permission settings are available in the NTFS file system? What kind of access does each provide? |
| 12. | What four permissions are available when setting share directories for remote access in Windows 2000? |