<chapter id="startinst-1"><title>Installing Solaris Trusted Extensions Software
 (Tasks)</title><highlights><itemizedlist><para>This chapter describes how to prepare the Solaris OS for Solaris Trusted Extensions installation.
This chapter also describes the information you need before installing the Trusted Extensions packages.
Instructions on how to install the packages are also provided.</para><listitem><para><olink targetptr="startinst-11" remap="internal">Install Team Responsibilities</olink></para>
</listitem><listitem><para><olink targetptr="startinst-4" remap="internal">Installing or Upgrading the
Solaris OS for Trusted Extensions</olink></para>
</listitem><listitem><para><olink targetptr="startinst-6" remap="internal">Collecting Information and
Making Decisions Before Installing Trusted Extensions</olink></para>
</listitem><listitem><para><olink targetptr="startinst-3" remap="internal">Installing the Solaris Trusted
Extensions Packages (Tasks)</olink></para>
</listitem>
</itemizedlist>
</highlights><sect1 id="startinst-11"><title>Install Team Responsibilities</title><para>Trusted Extensions software is designed to be installed and configured by
two people with distinct responsibilities. However, the 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 <olink targetptr="glossary-59" remap="internal">install team</olink> of
at least two people present to install Trusted Extensions software.</para>
</sect1><sect1 id="startinst-4"><title>Installing or Upgrading the Solaris OS for Trusted Extensions</title><itemizedlist><para>The choice of Solaris installation options can affect the use
and security of Trusted Extensions:</para><listitem><para>To properly install Trusted Extensions, you must install the underlying Solaris OS securely.
For Solaris installation choices that affect Trusted Extensions, see <olink targetptr="startinst-7" remap="internal">Install a Solaris System to Support Trusted Extensions</olink>.</para>
</listitem><listitem><para>If you have been using the Solaris OS, check your current configuration
against the requirements for Trusted Extensions. For configuration choices that
affect Trusted Extensions, see <olink targetptr="startinst-5" remap="internal">Prepare an Installed
Solaris System for Trusted Extensions</olink>.</para>
</listitem>
</itemizedlist><task id="startinst-7"><title>Install a Solaris System to Support Trusted Extensions</title><tasksummary><para>This task applies to fresh installations of the Solaris OS. If you are
upgrading, see <olink targetptr="startinst-5" remap="internal">Prepare an Installed Solaris
System for Trusted Extensions</olink>.</para>
</tasksummary><procedure remap="single-step"><step><para>When installing the Solaris OS, take the recommended action on the
following installation choices.</para><para>The choices follow the order of Solaris installation
questions. Installation questions that are not mentioned in this table do
not affect Trusted Extensions.</para><informaltable frame="all"><tgroup cols="3" colsep="1" rowsep="1"><colspec colwidth="17.20*"/><colspec colwidth="26.02*"/><colspec colwidth="31.78*"/><thead><row><entry><para>Solaris Option</para>
</entry><entry><para>Trusted Extensions Behavior</para>
</entry><entry><para>Recommended Action</para>
</entry>
</row>
</thead><tbody><row><entry><para>NIS naming service</para><para>NIS+ naming service</para>
</entry><entry><para>Trusted Extensions supports files and LDAP for a naming service. For host
name resolution, DNS can be used.</para>
</entry><entry><para>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.</para>
</entry>
</row><row><entry><para>Upgrade</para>
</entry><entry><para>Trusted Extensions installs labeled zones with particular security characteristics.</para>
</entry><entry><para>If you are upgrading, go to <olink targetptr="startinst-5" remap="internal">Prepare an
Installed Solaris System for Trusted Extensions</olink>.</para>
</entry>
</row><row><entry><para><literal>root</literal> password</para>
</entry><entry><para>Administration tools in Trusted Extensions require passwords. If the <literal>root</literal> user does not have a password, then <literal>root</literal> cannot
configure the system.</para>
</entry><entry><para>Provide a <literal>root</literal> password. Do not change the default <literal>crypt_unix</literal> password encryption method. For details, see <olink targetdoc="sysadv6" targetptr="concept-41" remap="external"><citetitle remap="section">Managing Password Information</citetitle> in <citetitle remap="book">System Administration Guide: Security Services</citetitle></olink>.</para>
</entry>
</row><row><entry><para>Developer Group</para>
</entry><entry><para>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.</para>
</entry><entry><para>On any system that you plan to use to administer other systems, do not
install the End User, Core, or Reduced Networking Group.</para>
</entry>
</row><row><entry><para>Select Products</para>
</entry><entry><para>You can install Java ES Software from this screen.</para>
</entry><entry><para>Do not select Solaris 10 Extra Value Software. You add Trusted Extensions software
later, in <olink targetptr="startinst-3" remap="internal">Installing the Solaris Trusted Extensions
Packages (Tasks)</olink>.</para>
</entry>
</row><row><entry><para>Custom Install</para>
</entry><entry><para>Because Trusted Extensions installs zones, you might need more disk space
in partitions than the default installation supplies.</para>
</entry><entry><para>Choose Custom Install, and lay out the partitions.</para><para>Consider adding extra swap space for roles. If you plan to clone zones,
create a 2000 MB partition for the ZFS pool.</para><para>For auditing files, best practice is to create a dedicated partition.</para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</step>
</procedure>
</task><task id="startinst-5"><title>Prepare an Installed Solaris System for Trusted Extensions</title><tasksummary><para>This task applies to Solaris systems that have been in use, and
on which you plan to add Trusted Extensions packages. Also, to install Trusted Extensions on
an upgraded Solaris 10 system, follow this procedure. Other tasks that might
modify an installed Solaris system can be done after the Trusted Extensions packages
have been added.</para>
</tasksummary><taskprerequisites><itemizedlist><para>Trusted Extensions cannot be installed into some Solaris environments:</para><listitem><para>If your system is part of a cluster,  Trusted Extensions cannot
be installed.</para>
</listitem><listitem><para>The installation of Trusted Extensions into an alternate boot
environment (BE) is not supported. Trusted Extensions can only be installed into
the current boot environment.</para><para>If <filename>live_upgrade</filename> tools
have been used to install the Solaris OS on an alternate BE, the alternate BE
must first be activated, and the system must be booted from the new BE before Trusted Extensions packages
are added. Live upgrade and BE are explained in the <olink targetdoc="refman5" targetptr="live-upgrade-5" remap="external"><citerefentry><refentrytitle>live_upgrade</refentrytitle><manvolnum>5</manvolnum></citerefentry></olink> man page.</para>
</listitem>
</itemizedlist>
</taskprerequisites><procedure><step><para>If non-global zones are installed on your system, remove them.</para><para>Or, you can re-install the Solaris OS. If you are going to re-install the Solaris OS,
follow the instructions in <olink targetptr="startinst-7" remap="internal">Install a Solaris
System to Support Trusted Extensions</olink>.</para>
</step><step><para>If your system does not have a <literal>root</literal> password,
create one.</para><para>Administration tools in Trusted Extensions require passwords.
If the <literal>root</literal> user does not have a password, then <literal>root</literal> cannot
configure the system.</para><para>Use the default <literal>crypt_unix</literal> password
encryption method for the <literal>root</literal> user. For details, see <olink targetdoc="sysadv6" targetptr="concept-41" remap="external"><citetitle remap="section">Managing Password Information</citetitle> in <citetitle remap="book">System Administration Guide: Security Services</citetitle></olink>.</para><note><para>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.</para>
</note>
</step><step><para>If you plan to administer the site from this system, add the Solaris packages
for the Solaris Management Console.</para><para>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.</para>
</step><step><para>If you have created an <filename>xorg.conf</filename> file, you
need to modify it.</para><para>Add the following line to the end of the Module
section in the <filename>/etc/X11/xorg.conf</filename> file.</para><screen>load "xtsol"</screen><note><para>By default, the <filename>xorg.conf</filename> file does not exist.
Do nothing if this file does not exist.</para>
</note>
</step><step><para>If you are upgrading a Solaris Trusted Extensions system, read the following before
installing the system:</para><para><olink targetdoc="srelnts" remap="external"><citetitle remap="book">Solaris 10 Release Notes</citetitle></olink> &ndash;
To find pertinent information, search for the string <literal>Trusted Extensions</literal>.</para>
</step><step><para>If you plan to clone zones, create a partition for the ZFS pool.</para><para>To decide on your zone creation method, see <olink targetptr="ovw-11" remap="internal">Planning
for Zones in Trusted Extensions</olink>.</para>
</step><step><para>If you plan to install labeled zones on this system, check that
your partitions have sufficient disk space for zones.</para><para>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.</para><para>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.</para>
</step><step performance="optional"><para>Add extra swap space for roles.</para><para>Roles
administer Trusted Extensions. Consider adding extra swap for role processes.</para>
</step><step performance="optional"><para>Dedicate a partition for audit files.</para><para>Trusted Extensions enables auditing by default. For audit files, best practice
is to create a dedicated partition.</para>
</step><step performance="optional" id="startinst-step-netservices-ltd-1"><para>To
run a hardened configuration, run the <command>netservices limited</command> command
before you install Trusted Extensions.</para><screen># <userinput>netservices limited</userinput></screen>
</step>
</procedure>
</task>
</sect1><sect1 id="startinst-6"><title>Collecting Information and Making
Decisions Before Installing Trusted Extensions</title><para>For each system on which Solaris 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 zettabyte file system
(ZFS). Solaris ZFS provides additional isolation for the zones.</para><task id="startinst-12"><title>Collect System Information Before
Installing Trusted Extensions</title><procedure><step><para>Determine the system's main hostname and IP address.</para><para>The
hostname is the name of the host on the network, and is the global zone. On
a Solaris system, the <command>getent</command> command returns the
hostname, as in:</para><screen># <userinput>getent hosts</userinput> machine1
192.168.0.11   machine1</screen>
</step><step><para>Determine the IP address assignments for labeled zones.</para><para>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 <olink targetptr="ovw-12" remap="internal">Planning for Multilevel Access</olink>.</para><para>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:</para><screen># <userinput>getent hosts</userinput> machine1-zones
192.168.0.12   machine1-zones</screen>
</step><step><para>Collect LDAP configuration information.</para><itemizedlist><para>For the LDAP server that is running Trusted Extensions software, you need
the following information:</para><listitem><para>The name of the Trusted Extensions domain that the LDAP server
serves</para>
</listitem><listitem><para>The IP address of the LDAP server</para>
</listitem><listitem><para>The LDAP profile name that will be loaded</para>
</listitem>
</itemizedlist><para>For an LDAP proxy server, you also need the password for the LDAP proxy.</para>
</step>
</procedure>
</task><task id="startinst-13"><title>Make System and Security Decisions
Before Installing Trusted Extensions</title><tasksummary><para>For each system on which Solaris Trusted Extensions is going to be configured, make these
configuration decisions before installing the packages.</para>
</tasksummary><procedure><step><para>Decide how securely the system hardware needs to be protected.</para><itemizedlist><para>At a secure site, this step has been done for every installed Solaris system.</para><listitem><para>For SPARC systems, a PROM security level and password has
been provided.</para>
</listitem><listitem><para>For x86 systems, the BIOS is protected.</para>
</listitem><listitem><para>On all systems, <literal>root</literal> is protected with
a password.</para>
</listitem>
</itemizedlist>
</step><step><para>Prepare your <filename>label_encodings</filename> file.</para><para>If you have a site-specific <filename>label_encodings</filename> file,
the file must be checked and installed before other configuration tasks can
be started. If your site does not have a <filename>label_encodings</filename> file,
you can use the default file that Sun supplies. Sun also supplies other <filename>label_encodings</filename> files, which you can find in the <filename>/etc/security/tsol</filename> directory. The Sun files are demonstration files. They might not
be suitable for production systems.</para><para>To customize a file for your
site, see <olink targetdoc="trsollbladmin" remap="external"><citetitle remap="book">Solaris Trusted Extensions Label Administration</citetitle></olink>.</para>
</step><step><para>From the list of labels in your <filename>label_encodings</filename> file,
make a list of the labeled zones you need to create.</para><para>For the default <filename>label_encodings</filename> file, the labels are the following, and the zone
names can be similar to the following:</para><informaltable frame="topbot"><tgroup cols="2" colsep="0" rowsep="0"><colspec colwidth="50*"/><colspec colwidth="50*"/><thead><row rowsep="1"><entry><para>Label</para>
</entry><entry><para>Zone Name</para>
</entry>
</row>
</thead><tbody><row><entry><para><literal>PUBLIC</literal></para>
</entry><entry><para><literal>public</literal></para>
</entry>
</row><row><entry><para><literal>CONFIDENTIAL : INTERNAL</literal></para>
</entry><entry><para><literal>internal</literal></para>
</entry>
</row><row><entry><para><literal>CONFIDENTIAL : NEED TO KNOW</literal></para>
</entry><entry><para><literal>needtoknow</literal></para>
</entry>
</row><row><entry><para><literal>CONFIDENTIAL : RESTRICTED</literal></para>
</entry><entry><para><literal>restricted</literal></para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable><para>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.</para>
</step><step><para>Decide when to create roles.</para><para>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.</para><para>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.</para>
</step><step><para>Choose a zone creation method.</para><para>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 <olink targetptr="ovw-11" remap="internal">Planning for Zones in Trusted Extensions</olink>.</para>
</step><step><para>Plan your LDAP configuration.</para><para>Using local files for
administration is practical for non-networked systems.</para><para>LDAP is
the naming service for a networked environment. A populated LDAP server is
required when you configure several machines.</para><itemizedlist><listitem><para>If you have an existing Sun <trademark>Java</trademark> 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.</para>
</listitem><listitem><para>If you do not have an LDAP server, you can configure a system
that runs Trusted Extensions software as a multilevel LDAP server.</para>
</listitem>
</itemizedlist>
</step><step><para>Decide other security issues for each system and for the network.</para><itemizedlist><para>For example, you might want to consider the following security issues:</para><listitem><para>Determine which devices can be attached to the system and
allocated for use.</para>
</listitem><listitem><para>Identify which printers at what labels are accessible from
the system.</para>
</listitem><listitem><para>Identify any systems that have a limited label range, such
as a gateway system or a public kiosk.</para>
</listitem><listitem><para>Identify which labeled systems can communicate with particular
unlabeled systems.</para>
</listitem>
</itemizedlist>
</step>
</procedure>
</task>
</sect1><sect1 id="startinst-3"><title>Installing the Solaris Trusted Extensions Packages (Tasks)</title><para>Before you install the packages, you should have completed the tasks
in <olink targetptr="startinst-4" remap="internal">Installing or Upgrading the Solaris OS for
Trusted Extensions</olink> and <olink targetptr="startinst-6" remap="internal">Collecting Information
and Making Decisions Before Installing Trusted Extensions</olink>.</para><task id="startinst-8"><title>Install the Solaris Trusted Extensions Packages</title><tasksummary><para>Packages can be added by using the Java wizard or the <command>pkgadd</command> command.
For options to the <command>pkgadd</command> command, see the <olink targetdoc="refman1m" targetptr="pkgadd-1m" remap="external"><citerefentry><refentrytitle>pkgadd</refentrytitle><manvolnum>1M</manvolnum></citerefentry></olink> man page.</para>
</tasksummary><procedure><step id="startinst-step-85"><para>Insert the Solaris installation media
into the drive.</para>
</step><step><para>Navigate to the <filename class="directory">Trusted_Extensions</filename> directory.</para><screen># <userinput>cd</userinput> <userinput>Solaris_<replaceable>release-number</replaceable>/ExtraValue/CoBundled/Trusted_Extensions</userinput></screen>
</step><step><para>Load all packages.</para><para>Choose one of the following options:</para><stepalternatives><step><para>Use the Java wizard.</para><screen># <userinput>java wizard</userinput></screen><para>A Java installation GUI prompts you to install the packages.</para>
</step><step><para>From the <filename class="directory">Packages</filename> directory,
use the <command>pkgadd</command> command.</para><screen># <userinput>cd Packages</userinput>
# <userinput>pkgadd -d .</userinput></screen><substeps><step><para>Press <keysym>Return</keysym> to load all the packages.</para>
</step><step><para>Answer <literal>y</literal> to all the prompts.</para>
</step>
</substeps>
</step>
</stepalternatives>
</step><step><para>Check for the proper installation of the packages.</para><stepalternatives><step><para>In the Java wizard, click the Details button.</para>
</step><step><para>From the command line, scroll back through the log.</para><para>You
can also go to the <filename class="directory">/var/sadm/install/logs</filename> directory
and read the log.</para><tip><para>You can also use the <command>pkginfo</command> command to confirm
that the packages are installed.</para><screen># <userinput>pkginfo | grep Trust</userinput>
system      SUNWdttshelp            Trusted Extensions, CDE Desktop Help
system      SUNWdttsr               Trusted Extensions, CDE Desktop, (Root)
system      SUNWdttsu               Trusted Extensions, CDE Desktop, (Usr)
system      SUNWmgts                Trusted Extensions, SMC
system      SUNWtsg                 Trusted Extensions global
system      SUNWtsman               Trusted Extensions Man Pages
application SUNWtsmc                Trusted Extensions SMC Server
system      SUNWtsr                 Trusted Extensions, (Root)
system      SUNWtsu                 Trusted Extensions, (Usr)
system      SUNWxwts                Trusted Extensions, X Window System</screen>
</tip>
</step>
</stepalternatives>
</step>
</procedure><taskrelated role="troubleshooting"><para><emphasis role="strong">Java wizard &ndash;</emphasis> If the
message <literal>Exception in thread "main" java.lang.NoClassDefFoundError:
wizard</literal> appears, then you invoked the wizard from the wrong directory.</para>
</taskrelated><taskrelated role="additional-action"><para>If you are upgrading a Solaris Trusted Extensions system, read the following before continuing:</para><para><olink targetdoc="srelnts" remap="external"><citetitle remap="book">Solaris 10 Release Notes</citetitle></olink></para><para><olink targetdoc="srelnts" remap="external"><citetitle remap="book">Solaris 10 Release Notes</citetitle></olink></para>
</taskrelated>
</task>
</sect1>
</chapter>