<chapter id="headl-1"><title>Configuring a Headless System
With Trusted Extensions (Tasks)</title><highlights><para>Configuring and administering Solaris Trusted Extensions software on headless systems
such as the <trademark>Netra</trademark> series require different procedures
than the same tasks on systems that have monitors. Trusted Extensions software
divides administrative responsibilities into roles, which cannot be assumed
remotely. The software also provides an administrative GUI. The GUI does not
display on a serial line.</para><note><para>The configuration methods that headless systems require do not
satisfy the criteria for an evaluated configuration. For more information,
see <olink targetptr="ovw-14" remap="internal">Understanding Your Site's Security Policy</olink>.</para>
</note>
</highlights><sect1 id="headl-2"><title>Headless System Configuration in Trusted Extensions (Task
Map)</title><para>On headless systems, a console is connected by means of a serial line
to a terminal emulator window. The line is typically secured by the <command>tip</command> command.
Depending on what type of second system is available, you can use one of the
following methods to configure a headless system. The methods are listed from
most preferred to least preferred in Task 3 in the following table.</para><informaltable frame="topbot" pgwide="1"><tgroup cols="3" colsep="1" rowsep="1"><colspec colname="colspec0" colwidth="20.21*"/><colspec colname="colspec2" colwidth="26.29*"/><colspec colname="colspec1" colwidth="39.72*"/><thead><row><entry><para>Tasks</para>
</entry><entry><para>Description</para>
</entry><entry><para>For Instructions</para>
</entry>
</row>
</thead><tbody><row><entry><para>1. Identify the headless system as a <literal>cipso</literal> system.</para>
</entry><entry><para>If the desktop system where you are going to configure the headless
system is configured with Trusted Extensions, make the headless system of host
type <literal>cipso</literal>.</para>
</entry><entry><para>If you have not already made the headless system part of the trusted
network, assign to the system the appropriate security template. See <olink targetdoc="trsoladmproc" targetptr="managetnet-16" remap="external"><citetitle remap="section">How to Assign a Security Template to a Host or a Group of Hosts</citetitle> in <citetitle remap="book">Solaris Trusted Extensions Administrator&rsquo;s Procedures</citetitle></olink>.</para>
</entry>
</row><row><entry><para>2. Enable remote login.</para>
</entry><entry><para>As superuser, enable remote login to the headless system.</para>
</entry><entry><para><olink targetptr="headl-6" remap="internal">Enable Remote Login in Trusted Extensions</olink></para>
</entry>
</row><row><entry morerows="2" rowsep="1"><para>3. Choose a configuration and administration method to set up the headless
system.</para><para>The choice is based on available hardware and software on a second system
that communicates with the headless system. The choices are listed in descending
order of ease and security.</para>
</entry><entry><para>Use the <command>rlogin</command> command to administer the remote system
in a role.</para>
</entry><entry><para>To assume a role to administer the remote system, go to <olink targetptr="headl-4" remap="internal">Use the rlogin Command to Log In to a Headless System
in Trusted Extensions</olink>.</para>
</entry>
</row><row><entry><para>Use the <command>ssh</command> command to administer the remote system
as superuser.</para>
</entry><entry><para>To administer the remote system as superuser, go to <olink targetptr="headl-3" remap="internal">Use the ssh Command to Log In to a Headless System in
Trusted Extensions</olink>.</para>
</entry>
</row><row><entry><para>If you have no windowing system, you can use serial login. This procedure
is insecure.</para>
</entry><entry><para>To use serial login to configure and administer the headless system,
go to <olink targetptr="headl-5" remap="internal">Set Up Administration by Serial Login in
Trusted Extensions</olink>.</para>
</entry>
</row><row><entry colname="colspec0"><para>4. Configure Trusted Extensions on the headless system.</para>
</entry><entry><para>Having logged in, continue configuration as you would on a system with
a monitor.</para>
</entry><entry colname="colspec1"><para>See <olink targetptr="txconf-1" remap="internal">Chapter&nbsp;4, Configuring Trusted
Extensions (Tasks)</olink>, and use the methods that are possible given your
chosen login method.</para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable><task id="headl-6"><title>Enable Remote Login in Trusted Extensions</title><tasksummary><para>Follow this procedure <emphasis>only if</emphasis> you must administer
a headless system by using the <command>rlogin</command> or <command>ssh</command> command.
This procedure is not secure.</para><para>Configuration errors can be debugged remotely.</para>
</tasksummary><taskprerequisites><para>Consult your security policy to determine which methods of remote login
are permissible at your site. The desktop system and the headless system must
identify each other as using the identical security template.</para>
</taskprerequisites><procedure><step><para>Log in to the <literal>root</literal> account through the console
device.</para>
</step><step><para>Choose to activate one or more of the following methods of remote
login:</para><stepalternatives><step><para>Enable remote login by the <literal>root</literal> user.</para><substeps><step><para>Comment out the <literal>CONSOLE=</literal> line in the <filename>/etc/default/login</filename> file.</para><screen><userinput>#</userinput>CONSOLE=/dev/console</screen>
</step><step><para>Permit <literal>root</literal> user login for the <command>ssh</command> service.</para><para>Modify the <filename>/etc/ssh/sshd_config</filename> file. By
default, <command>ssh</command> is enabled on a Solaris system.</para><screen>PermitRootLogin <userinput>yes</userinput></screen>
</step>
</substeps>
</step><step><para>Permit roles to log in by using the <command>rlogin</command> service.</para><para>If <literal>root</literal> is a role, this modification is required
for remote logins by the <literal>root</literal> role.</para><substeps><step><para>In a text editor, open the <filename>pam.conf</filename> file.</para><screen># <userinput>vi /etc/pam.conf</userinput></screen>
</step><step><para>Find <literal>other account requisite</literal> toward the end
of the file.</para>
</step><step><para>Add <literal>allow_remote</literal> to the roles module.</para><para>Use the <keysym>Tab</keysym> key between fields.</para><screen>other account requisite      pam_roles.so.1        <userinput>allow_remote</userinput></screen><para>After your edits, this section looks similar to the following:</para><screen>other account requisite      pam_roles.so.1        allow_remote
other account required       pam_unix_account.so.1
other account required       pam_tsol_account.so.1</screen>
</step>
</substeps>
</step><step><para>Allow remote login to the global zone from an unlabeled host.</para><substeps><step><para>In a text editor, open the <filename>pam.conf</filename> file.</para><screen># <userinput>vi /etc/pam.conf</userinput></screen>
</step><step><para>Find <literal>other account requisite</literal> toward the end
of the file.</para>
</step><step><para>Add <literal>allow_unlabeled</literal> to the <literal>tsol_account</literal> module.</para><para>Use the <keysym>Tab</keysym> key between fields.</para><screen>other account required       pam_tsol_account.so.1 <userinput>allow_unlabeled</userinput></screen><para>After your edits, this section looks similar to the following:</para><screen>other account requisite      pam_roles.so.1        allow_remote
other account required       pam_unix_account.so.1
other account required       pam_tsol_account.so.1 allow_unlabeled</screen>
</step>
</substeps>
</step><step><para>Enable specific users to log in to the global zone.</para><para>Assign
to these users an administrative label range. The username on the desktop
must be the same as the username on the headless system.</para><screen># usermod -R root -K min_label=ADMIN_LOW -K clearance=ADMIN_LOW <replaceable>username</replaceable></screen>
</step>
</stepalternatives>
</step><step><para>On the headless system, define the host type of your desktop.</para><para>The host type of the desktop system and the host type of the headless
system must match. To create this temporary definition, use the <command>tnctl</command> command.
For more information, see the <olink targetdoc="trsolrefman" targetptr="tnctl-1m" remap="external"><citerefentry><refentrytitle>tnctl</refentrytitle><manvolnum>1M</manvolnum></citerefentry></olink> man
page.</para><stepalternatives><step><para>For a labeled desktop system, define the host type as <literal>cipso</literal>.</para><screen># tnctl -h <replaceable>desktop-IP-address</replaceable>:cipso</screen>
</step><step><para>For an unlabeled desktop system, define the host type as an unlabeled
system that is running at <constant>ADMIN_LOW</constant>.</para><screen># tnctl -h <replaceable>desktop-IP-address</replaceable>:admin_low</screen>
</step>
</stepalternatives>
</step>
</procedure>
</task><task id="headl-4"><title>Use the <command>rlogin</command> Command to Log
In to a Headless System in Trusted Extensions</title><tasksummary><para>This procedure enables you to use the command line and Trusted Extensions GUIs
to administer a headless system by assuming a role.</para>
</tasksummary><taskprerequisites><para>The headless system must have enough memory to use the Solaris Management Console. The requirements
are the same as for the Solaris OS. For details, see <olink targetdoc="solarisinstall" targetptr="webstart-83" remap="external"><citetitle remap="section">System Requirements and Recommendations</citetitle> in <citetitle remap="book">Solaris Express Installation Guide: Basic Installations</citetitle></olink>.</para><para>If the administrator's desktop system is configured with Trusted Extensions,
the headless system is identified as a CIPSO system on the desktop system.
For details, see <olink targetdoc="trsoladmproc" targetptr="managetnet-16" remap="external"><citetitle remap="section">How to Assign a Security Template to a Host or a Group of Hosts</citetitle> in <citetitle remap="book">Solaris Trusted Extensions Administrator&rsquo;s Procedures</citetitle></olink>.</para><para>You have completed <olink targetptr="headl-6" remap="internal">Enable Remote Login in
Trusted Extensions</olink>.</para><para>You are a user who is enabled to log in to the headless system.</para>
</taskprerequisites><procedure><step><para>On the desktop system, enable processes from the headless system
to display.</para><substeps><step><para>Enable the headless system to access the X server.</para><screen><replaceable>desktop</replaceable> $ <userinput>xhost + <replaceable>headless-host</replaceable></userinput></screen>
</step><step><para>Determine the value of the desktop's <constant>DISPLAY</constant> variable.</para><screen><replaceable>desktop</replaceable> $ <userinput>echo $DISPLAY</userinput>
:<replaceable>n</replaceable>.<replaceable>n</replaceable></screen>
</step>
</substeps>
</step><step><para>On the Trusted Extensions desktop system, open a Trusted Path workspace.</para><stepalternatives><step><para>If your user account has direct access to the global zone, create
a Trusted Path workspace, then open a terminal window.</para>
</step><step><para>If your user account does not have direct access to the global
zone, assume a role, then open a terminal window.</para>
</step>
</stepalternatives>
</step><step><para>From this terminal window, remotely log in to the headless system.</para><screen><replaceable>desktop</replaceable> # rlogin <replaceable>headless</replaceable>
Password: <lineannotation>Type the headless user's password</lineannotation></screen>
</step><step><para>Assume a role.</para><para>If you are logged in to the headless
system as an unprivileged user, assume a role with administrative privileges.
Use the same terminal window. For example, assume the <literal>root</literal> role.</para><screen><replaceable>headless</replaceable> $ su - root
Password: <lineannotation>Type the root password</lineannotation></screen><para>You are now in the global zone.</para>
</step><step><para>Enable processes on the headless system to display on the desktop
system.</para><screen><replaceable>headless</replaceable> $ setenv DISPLAY <replaceable>desktop</replaceable>:<replaceable>n</replaceable>.<replaceable>n</replaceable>
<replaceable>headless</replaceable> $ export DISPLAY=<replaceable>n</replaceable>:<replaceable>n</replaceable></screen><para>You can now administer the headless system by using Trusted Extensions GUIs.</para>
</step><step><para>Administer the headless system.</para><stepalternatives><step><para>Start the Solaris Management Console.</para><screen><replaceable>headless</replaceable> $ <userinput>/usr/sbin/smc &amp;</userinput></screen><para>The Solaris Management Console displays on the desktop system. From the list of toolboxes,
choose the <literal>Scope=Files, Policy=TSOL</literal> for the headless system.</para>
</step><step><para>Start the <command>txzonemgr</command>.</para><screen><replaceable>headless</replaceable> $ <userinput>/usr/sbin/txzonemgr</userinput></screen>
</step><step><para>Access Trusted CDE actions.</para><screen><replaceable>headless</replaceable> # /usr/dt/bin/dtappsession <replaceable>desktop</replaceable>
Password: <lineannotation>Type the remote password</lineannotation></screen>
</step>
</stepalternatives>
</step>
</procedure>
</task><task id="headl-3"><title>Use the <command>ssh</command> Command to Log In
to a Headless System in Trusted Extensions</title><tasksummary><para>This procedure enables you to use the command line to administer a headless
system as superuser. To use Trusted Extensions GUIs, complete the steps for remote
display in <olink targetptr="headl-4" remap="internal">Use the rlogin Command to Log In to
a Headless System in Trusted Extensions</olink>.</para>
</tasksummary><taskprerequisites><para>The headless system must have enough memory to use the Solaris Management Console. The requirements
are the same as for the Solaris OS. For details, see <olink targetdoc="solarisinstall" targetptr="webstart-83" remap="external"><citetitle remap="section">System Requirements and Recommendations</citetitle> in <citetitle remap="book">Solaris Express Installation Guide: Basic Installations</citetitle></olink>.</para><para>If the administrator's desktop system is configured with Trusted Extensions,
the headless system is identified as a CIPSO system on the desktop system.
For details, see <olink targetdoc="trsoladmproc" targetptr="managetnet-16" remap="external"><citetitle remap="section">How to Assign a Security Template to a Host or a Group of Hosts</citetitle> in <citetitle remap="book">Solaris Trusted Extensions Administrator&rsquo;s Procedures</citetitle></olink>.</para><para>You have completed <olink targetptr="headl-6" remap="internal">Enable Remote Login in
Trusted Extensions</olink>.</para><para>You are a user who is enabled to log in to the headless system.</para>
</taskprerequisites><procedure><step><para>On the Trusted Extensions desktop system, open a Trusted Path workspace.</para><stepalternatives><step><para>If your user account has direct access to the global zone, create
a Trusted Path workspace, then open a terminal window.</para>
</step><step><para>If your user account does not have direct access to the global
zone, assume a role, then open a terminal window.</para>
</step>
</stepalternatives>
</step><step><para>From this terminal window, remotely log in to the headless system.</para><screen><replaceable>desktop</replaceable> $ ssh -l <replaceable>username-on-headless</replaceable> <replaceable>headless</replaceable>
Password: <lineannotation>Type the headless user's password</lineannotation>
<replaceable>headless</replaceable> $</screen><para>The terminal window now displays actions on the headless system.</para>
</step><step><para>Become superuser.</para><para>If you are not in the global zone
on the headless system, switch user to <literal>root</literal> in the same
terminal window:</para><screen><replaceable>headless</replaceable> $ su - root
Password: <lineannotation>Type the root password</lineannotation></screen><para>You can now administer the headless system by using the command line.</para><para>To administer the system by using the administrative GUIs, enable the
headless system to display its processes on the desktop. For details, see <olink targetptr="headl-4" remap="internal">Use the rlogin Command to Log In to a Headless System
in Trusted Extensions</olink>.</para>
</step>
</procedure><example id="headl-ex-1"><title>Setting Up Remote Administration of a Headless System</title><para>In this example, the administrator sets up a labeled headless system
from a labeled desktop system. As in the Solaris OS, the administrator enables
X server access to the desktop system and sets the <constant>DISPLAY</constant> variable
on the headless system.</para><screen>TXdesk1 $ <userinput>xhost + TXnohead4</userinput>
TXdesk1 $ <userinput>whoami</userinput>
config1
TXdesk1 $ <userinput>uname -n ; echo $DISPLAY</userinput>
TXdesk1
:1.0</screen><screen>TXdesk1 $ <userinput>ssh -l install1 TXnohead4</userinput>
Password: <userinput>Ins1PwD1</userinput>
TXnohead4 $</screen><para>In the global zone, the administrator sets the <constant>DISPLAY</constant> variable.</para><screen>TXnohead4 # <userinput>su -</userinput>
Password: <userinput>abcd1EFG</userinput>
TXnohead4 # <userinput>setenv DISPLAY TXdesk1:1.0</userinput>
TXnohead4 # <userinput>export DISPLAY=TXdesk1:1.0</userinput></screen><para>Then, the administrator starts the Solaris Management Console.</para><screen>TXnohead4 # <userinput>/usr/sbin/smc &amp;</userinput></screen><para>Finally, the administrator selects the <literal>This Computer (TXnohead</literal>:<literal>Scope=Files, Policy=TSOL</literal><literal>)</literal> toolbox.</para>
</example>
</task><task id="headl-5"><title>Set Up Administration by Serial Login in Trusted Extensions</title><tasksummary><para>Follow this procedure <emphasis>only if</emphasis> you do not have a
desktop system with which to configure the headless system. This procedure
is not secure.</para>
</tasksummary><taskprerequisites><para>You must be superuser in single-user mode on the headless system. For
a modicum of security, two people should be present while the system is being
configured.</para>
</taskprerequisites><procedure><step><para>Allocate the serial port.</para><para>For details, see the serial
login procedure in <olink targetdoc="trsoladmproc" targetptr="managedev-33" remap="external"><citetitle remap="section">Managing Devices in Trusted Extensions (Task Map)</citetitle> in <citetitle remap="book">Solaris Trusted Extensions Administrator&rsquo;s Procedures</citetitle></olink>.</para>
</step><step><para>Administer the system as superuser.</para>
</step>
</procedure>
</task>
</sect1>
</chapter>