Oracle Solaris Trusted Extensions Configuration Guide

Chapter 3 Adding Trusted Extensions Software to the Solaris OS (Tasks)

This chapter describes how to prepare the Solaris OS for Trusted Extensions software. This chapter also describes the information you need before enabling Trusted Extensions. Instructions on how to enable Trusted Extensions is also provided.

Initial Setup Team Responsibilities

Trusted Extensions software is designed to be enabled and configured by two people with distinct responsibilities. However, the Solaris installation program does not enforce this two-role task division. Instead, task division is enforced by roles. Because roles and users are not created until after installation, it is a good practice to have an initial setup team of at least two people present to enable and configure Trusted Extensions software.

Installing or Upgrading the Solaris OS for Trusted Extensions

The choice of Solaris installation options can affect the use and security of Trusted Extensions:

ProcedureInstall a Solaris System to Support Trusted Extensions

This task applies to fresh installations of the Solaris OS. If you are upgrading, see Prepare an Installed Solaris System for Trusted Extensions.

  1. When installing the Solaris OS, take the recommended action on the following installation choices.

    The choices follow the order of Solaris installation questions. Installation questions that are not mentioned in this table do not affect Trusted Extensions.

    Solaris Option 

    Trusted Extensions Behavior 

    Recommended Action 

    NIS naming service 

    NIS+ naming service 

    Trusted Extensions supports files and LDAP for a naming service. For host name resolution, DNS can be used. 

    Do not choose NIS or NIS+. You can choose None, which is equivalent to files. Later, you can configure LDAP to work with Trusted Extensions. 

    Upgrade 

    Trusted Extensions installs labeled zones with particular security characteristics. 

    If you are upgrading, go to Prepare an Installed Solaris System for Trusted Extensions.

    root password

    Administration tools in Trusted Extensions require passwords. If the root user does not have a password, then root cannot configure the system.

    Provide a root password. Do not change the default crypt_unix password encryption method. For details, see Managing Password Information in System Administration Guide: Security Services.

    Developer Group 

    Trusted Extensions uses the Solaris Management Console to administer the network. The End User group and smaller groups do not install the packages for the Solaris Management Console. 

    On any system that you plan to use to administer other systems, do not install the End User, Core, or Reduced Networking Group. 

    Custom Install 

    Because Trusted Extensions installs zones, you might need more disk space in partitions than the default installation supplies. 

    Choose Custom Install, and lay out the partitions. 

    Consider adding extra swap space for roles. If you plan to clone zones, create a 2000 MB partition for the ZFS pool. 

    For auditing files, best practice is to create a dedicated partition. 

ProcedurePrepare an Installed Solaris System for Trusted Extensions

This task applies to Solaris systems that have been in use, and on which you plan to run Trusted Extensions. Also, to run Trusted Extensions on an upgraded Solaris system, follow this procedure. Other tasks that might modify an installed Solaris system can be done during Trusted Extensions configuration.

Before You Begin

Trusted Extensions cannot be enabled in some Solaris environments:

  1. If non-global zones are installed on your system, remove them.

    Or, you can re-install the Solaris OS. If you are going to re-install the Solaris OS, follow the instructions in Install a Solaris System to Support Trusted Extensions.

    Trusted Extensions use branded zones.

  2. If your system does not have a root password, create one.

    Administration tools in Trusted Extensions require passwords. If the root user does not have a password, then root cannot configure the system.

    Use the default crypt_unix password encryption method for the root user. For details, see Managing Password Information in System Administration Guide: Security Services.


    Note –

    Users must not disclose their passwords to another person, as that person might then have access to the data of the user and will not be uniquely identified or accountable. Note that disclosure can be direct, through the user deliberately disclosing her/his password to another person, or indirect, for example, through writing it down, or choosing an insecure password. The Solaris OS provides protection against insecure passwords, but cannot prevent a user from disclosing her or his password, or from writing it down.


  3. If you plan to administer the site from this system, add the Solaris packages for the Solaris Management Console.

    Trusted Extensions uses the Solaris Management Console to administer the network. If your system was installed with the End User group or a smaller group, the system does not have the packages for the Solaris Management Console.

  4. If you have created an xorg.conf file, you need to modify it.

    Add the following line to the end of the Module section in the /etc/X11/xorg.conf file.


    load "xtsol"

    Note –

    By default, the xorg.conf file does not exist. Do nothing if this file does not exist.


  5. In the Solaris 10 9/09 and Solaris 10 9/10 releases, if your system is part of an Oracle Solaris Cluster configuration, you can enable Trusted Extensions in the cluster.


    Note –

    Applications must run only in Oracle Solaris Cluster zone clusters.


    For more information about Oracle Solaris Cluster support of Trusted Extensions, see "How to Prepare for Trusted Extensions Use With Zone Clusters" in Chapter 7, "Creating Non-Global Zones and Zone Clusters" in the Oracle Solaris Cluster Software Installation Guide.

  6. If you are upgrading a Trusted Extensions system, read the following before upgrading the system:

    • Chapter 1, What’s New in the Solaris 10 10/08 Release, in Solaris 10 What’s New

    • Solaris 10 10/08 Release Notes


    Tip –

    To find pertinent information, search for the string Trusted Extensions.


  7. If you plan to clone zones, create a partition for the ZFS pool.

    To decide on your zone creation method, see Planning for Zones in Trusted Extensions.

  8. If you plan to install labeled zones on this system, check that your partitions have sufficient disk space for zones.

    Most systems that are configured with Trusted Extensions install labeled zones. Labeled zones can require more disk space than the installed system has set aside.

    However, some Trusted Extensions systems do not require that labeled zones be installed. For example, a multilevel printing server, a multilevel LDAP server, or a multilevel LDAP proxy server do not require labeled zones to be installed. These systems might not need the extra disk space.

  9. (Optional) Add extra swap space for roles.

    Roles administer Trusted Extensions. Consider adding extra swap for role processes.

  10. (Optional) Dedicate a partition for audit files.

    Trusted Extensions enables auditing by default. For audit files, best practice is to create a dedicated partition.

  11. (Optional) To run a hardened configuration, run the netservices limited command before you enable Trusted Extensions.


    # netservices limited
    

Collecting Information and Making Decisions Before Enabling Trusted Extensions

For each system on which Trusted Extensions is going to be configured, you need to know some information, and make some decisions about configuration. For example, because you are going to create labeled zones, you might want to set aside disk space where the zones can be cloned as a Solaris ZFSTM File System. Solaris ZFS provides additional isolation for the zones.

ProcedureCollect System Information Before Enabling Trusted Extensions

  1. Determine the system's main hostname and IP address.

    The hostname is the name of the host on the network, and is the global zone. On a Solaris system, the getent command returns the hostname, as in:


    # getent hosts machine1
    192.168.0.11   machine1
  2. Determine the IP address assignments for labeled zones.

    A system with two IP addresses can function as a multilevel server. A system with one IP address must have access to a multilevel server in order to print or perform multilevel tasks. For a discussion of IP address options, see Planning for Multilevel Access.

    Most systems require a second IP address for the labeled zones. For example, the following is a host with a second IP address for labeled zones:


    # getent hosts machine1-zones
    192.168.0.12   machine1-zones
  3. Collect LDAP configuration information.

    For the LDAP server that is running Trusted Extensions software, you need the following information:

    • The name of the Trusted Extensions domain that the LDAP server serves

    • The IP address of the LDAP server

    • The LDAP profile name that will be loaded

    For an LDAP proxy server, you also need the password for the LDAP proxy.

ProcedureMake System and Security Decisions Before Enabling Trusted Extensions

For each system on which Trusted Extensions is going to be configured, make these configuration decisions before enabling the software.

  1. Decide how securely the system hardware needs to be protected.

    At a secure site, this step has been done for every installed Solaris system.

    • For SPARC systems, a PROM security level and password has been provided.

    • For x86 systems, the BIOS is protected.

    • On all systems, root is protected with a password.

  2. Prepare your label_encodings file.

    If you have a site-specific label_encodings file, the file must be checked and installed before other configuration tasks can be started. If your site does not have a label_encodings file, you can use the default file that Sun supplies. Sun also supplies other label_encodings files, which you can find in the /etc/security/tsol directory. The Sun files are demonstration files. They might not be suitable for production systems.

    To customize a file for your site, see Oracle Solaris Trusted Extensions Label Administration.

  3. From the list of labels in your label_encodings file, make a list of the labeled zones that you need to create.

    The following table lists the label names and suggested zone names for the default label_encodings file.

    Label 

    Zone Name 

    PUBLIC

    public

    CONFIDENTIAL : INTERNAL

    internal

    CONFIDENTIAL : NEED TO KNOW

    needtoknow

    CONFIDENTIAL : RESTRICTED

    restricted

    For ease of NFS mounting, the zone name of a particular label must be identical on every system. Some systems, such as multilevel print servers, do not need to have labeled zones installed. However, if you do install labeled zones on a print server, the zone names must be identical to the zone names of other systems on your network.

  4. Decide when to create roles.

    Your site's security policy can require you to administer Trusted Extensions by assuming a role. If so, or if you are configuring the system to satisfy criteria for an evaluated configuration, you must create roles early in the configuration process.

    If you are not required to configure the system by using roles, you can choose to configure the system as superuser. This method of configuration is less secure. Audit records do not indicate which user was superuser during configuration. Superuser can perform all tasks on the system, while a role can perform a more limited set of tasks. Therefore, configuration is more controlled when being performed by roles.

  5. Choose a zone creation method.

    You can create zones from scratch, copy zones, or clone zones. These methods differ in speed of creation, disk space requirements, and robustness. For the trade-offs, see Planning for Zones in Trusted Extensions.

  6. Plan your LDAP configuration.

    Using local files for administration is practical for non-networked systems.

    LDAP is the naming service for a networked environment. A populated LDAP server is required when you configure several machines.

    • If you have an existing Sun JavaTM System Directory Server (LDAP server), you can create an LDAP proxy server on a system that is running Trusted Extensions. The multilevel proxy server handles communications with the unlabeled LDAP server.

    • If you do not have an LDAP server, you can configure a system that runs Trusted Extensions software as a multilevel LDAP server.

  7. Decide other security issues for each system and for the network.

    For example, you might want to consider the following security issues:

    • Determine which devices can be attached to the system and allocated for use.

    • Identify which printers at what labels are accessible from the system.

    • Identify any systems that have a limited label range, such as a gateway system or a public kiosk.

    • Identify which labeled systems can communicate with particular unlabeled systems.

Enabling the Trusted Extensions Service

Starting in the Solaris 10 5/08 release, Trusted Extensions is a service that is managed by the service management facility (SMF). The name of the service is svc:/system/labeld:default. By default, the labeld service is disabled.

ProcedureEnable Trusted Extensions

The labeld service attaches labels to communications endpoints. For example, the following are labeled:

Before You Begin

You have completed the tasks in Installing or Upgrading the Solaris OS for Trusted Extensions and Collecting Information and Making Decisions Before Enabling Trusted Extensions.

  1. On a Solaris system, enable the labeld service.


    # svcadm enable -s svc:/system/labeld:default
    

    The labeld service adds labels to the system and starts the Solaris auditing service and device allocation. Do not perform other tasks until the cursor returns to the prompt.

  2. Verify that the service is enabled.


    # svcs -x labeld
    svc:/system/labeld:default (Trusted Extensions)
     State: online since weekday month date hour:minute:second year
       See: labeld(1M)
    Impact: None.

    Note –

    The labels do not appear until after you reboot the system. Setting Up the Global Zone in Trusted Extensions includes tasks that you might want to perform before rebooting.


Troubleshooting

The following message indicates that you are not running a Solaris release that supports Trusted Extensions as a service: svcs: Pattern 'labeld' doesn't match any instances.

To run Trusted Extensions on a Solaris system that does not support the labeld service, follow the instructions in the Solaris Trusted Extensions Installation and Configuration guide.