<?Pub UDT _bookmark _target?><?Pub EntList bsol dash hellip gt lt minus?><?Pub CX solbook(book(title()bookinfo()part(title()partintro()chapter()?><chapter id="headl-1"><?Pub Tag atict:info tracking="on" ref="0"?><?Pub Tag atict:user
user="sharonr" fullname="Sharon Veach"?><title>Configuring a Headless System
With Trusted Extensions (Tasks)</title><indexterm><primary>Trusted Extensions configuration</primary><secondary>headless systems</secondary>
</indexterm><indexterm><primary>configuring</primary><secondary>access to headless Trusted Extensions</secondary>
</indexterm><indexterm><primary>configuring Trusted Extensions</primary><secondary>headless access</secondary>
</indexterm><highlights><para>Configuring and administering Solaris Trusted Extensions software on headless systems
such as the <trademark>Netra</trademark> series requires modifying security
settings on the headless system to enable remote access. Administering a remote Trusted Extensions system
requires similar setup. To run an administrative GUI, you might need to run
the process on the remote system and display the GUI on the desktop system.</para><para>For an explanation of the requirements, see <olink targetptr="remotead-1" remap="internal">Chapter&nbsp;14, Remote Administration in Trusted Extensions (Tasks)</olink></para><note><para>The configuration methods that headless and remote 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><indexterm><primary>tasks and task maps</primary><secondary>Headless System Configuration in Trusted Extensions (Task Map)</secondary>
</indexterm><indexterm><primary>Headless System Configuration in Trusted Extensions (Task Map)</primary>
</indexterm><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
more secure to less secure in the following table. These instructions also
apply to remote systems.</para><informaltable frame="topbot" pgwide="1"><tgroup cols="3" colsep="1" rowsep="1"><colspec colname="colspec0" colwidth="20.17*"/><colspec colname="colspec2" colwidth="36.03*"/><colspec colname="colspec1" colwidth="30.02*"/><thead><row><?PubTbl row rht="0.41in"?><entry><para>Task</para>
</entry><entry><para>Description</para>
</entry><entry><para>For Instructions</para>
</entry>
</row>
</thead><tbody><row><entry><para>Enable remote login by the <literal>root</literal> user.</para>
</entry><entry><para>If you are not using LDAP, you must initially log in to the headless
system as <literal>root</literal>. If you are using LDAP, you can skip this
procedure.</para>
</entry><entry><para><olink targetptr="headl-9" remap="internal">Enable Remote Login by root User in Trusted
Extensions</olink></para>
</entry>
</row><row><entry morerows="2" rowsep="1"><para>Enable remote login.</para>
</entry><entry><para>Enable remote login for a user who can assume the <literal>root</literal> role
or another administrative role.</para>
</entry><entry><para><olink targetptr="headl-6" remap="internal">Enable Remote Login by a Role in Trusted
Extensions</olink></para>
</entry>
</row><row><entry><para>Enable the administration of Trusted Extensions systems from an unlabeled
system.</para>
</entry><entry><para><olink targetptr="headl-11" remap="internal">Enable Remote Login From an Unlabeled System</olink></para>
</entry>
</row><row><entry><para>Enable a user to access the global zone on a headless system.</para>
</entry><entry><para><olink targetptr="remotead-14" remap="internal">How to Enable Specific Users to Log In Remotely to the Global Zone in Trusted Extensions</olink></para>
</entry>
</row><row><entry><para>(Optional) Enable the display of administrative GUIs.</para>
</entry><entry><para>Enable administrative GUIs that run on the headless system to display
on the desktop system.</para>
</entry><entry><para><olink targetptr="headl-8" remap="internal">Enable the Remote Display of Administrative
GUIs</olink></para>
</entry>
</row><row><entry><para>(Optional)
Enable virtual network computing (vnc)</para>
</entry><entry><para>From any
client, uses the Xvnc server on the remote Trusted Extensions to display a multilevel
session back to the client.</para>
</entry><entry><para><olink targetptr="remotead-20" remap="internal">How to Use Xvnc to Remotely Access a Trusted Extensions
System</olink></para>
</entry>
</row><row><entry morerows="2" rowsep="1"><para>Choose a configuration and administration method to set up the headless
system.</para>
</entry><entry><para>Assume a role or become superuser to administer the remote system.</para>
</entry><entry><para><olink targetptr="headl-4" remap="internal">Use the rlogin or ssh Command to Log In and
Administer a Headless System in Trusted Extensions</olink></para>
</entry>
</row><row><entry><para>Use the Solaris Management Console on the headless system.</para>
</entry><entry><para><olink targetptr="headl-12" remap="internal">Use a Remote Solaris Management Console
to Administer in the Files Scope</olink></para>
</entry>
</row><row><entry><para>If you have no windowing system, you can use serial login as superuser.
This procedure is insecure.</para>
</entry><entry><para>No configuration is required.</para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable><note><para>Consult your security policy to determine which methods of remote
administration are permissible at your site.</para>
</note><task id="headl-9"><title>Enable Remote Login by <literal>root</literal> User
in Trusted Extensions</title><tasksummary><para>As in the Solaris OS, <literal>root</literal> can log in remotely from
a labeled system when the <literal>CONSOLE</literal> entry is disabled.</para><para>If you plan to administer a remote system by editing local files, use
this procedure.</para>
</tasksummary><procedure><step><para>In the trusted editor, comment out the <literal>CONSOLE=</literal> line
in the <filename>/etc/default/login</filename> file.</para><screen># <userinput>/usr/dt/bin/trusted_edit /etc/default/login</userinput></screen><para>The edited line appears similar to the following:</para><screen>#CONSOLE=/dev/console</screen>
</step><step><para>Permit <literal>root</literal> user login over an <command>ssh</command> connection.</para><para>Modify the <filename>/etc/ssh/sshd_config</filename> file. By
default, <command>ssh</command> is enabled on a Solaris system.</para><screen># <userinput>/usr/dt/bin/trusted_edit /etc/ssh/sshd_config</userinput></screen><para>The edited line appears similar to the following:</para><screen>PermitRootLogin <userinput>yes</userinput></screen>
</step>
</procedure><taskrelated role="additional-action"><para>To log in as the <literal>root</literal> user from an unlabeled system,
you must also complete <olink targetptr="headl-11" remap="internal">Enable Remote Login From
an Unlabeled System</olink>.</para><para>To enable remote login by a role, continue with <olink targetptr="headl-6" remap="internal">Enable Remote Login by a Role in Trusted Extensions</olink>.</para>
</taskrelated>
</task><task id="headl-6"><title>Enable Remote Login by a Role in Trusted Extensions</title><indexterm><primary>roles</primary><secondary>logging in remotely</secondary>
</indexterm><indexterm><primary>login</primary><secondary>remote</secondary>
</indexterm><indexterm><primary>remote logins</primary><secondary>enabling for roles</secondary>
</indexterm><indexterm><primary>administering</primary><secondary>remotely by a role</secondary>
</indexterm><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. </para><para>Configuration errors can be debugged remotely.</para>
</tasksummary><taskprerequisites><para>If you are using local files to administer the remote system, you have
completed <olink targetptr="headl-9" remap="internal">Enable Remote Login by root User in Trusted
Extensions</olink>. Then, as the <literal>root</literal> user, perform this
task on both systems.</para>
</taskprerequisites><procedure><step><para>On both systems, identify the other system as a labeled system.</para><para>The desktop system and the headless system must identify each other
as using the identical security template. For the procedure, see <olink targetptr="managetnet-16" remap="internal">How to Assign a Security Template to a Host or a Group of Hosts</olink>.</para><para>To assign a temporary label, see <olink targetptr="headl-7" remap="internal">Example&nbsp;6&ndash;1</olink>.</para>
</step><step><para>On both systems, create identical users and roles.</para><para>The
names and IDs must be identical, and the role must be assigned to the user
on both systems. To create users and roles, see <olink targetptr="txconf-14" remap="internal">Creating
Roles and Users in Trusted Extensions</olink>.</para>
</step><step><para>To contact a remote Solaris Management Console, do the following on both systems:</para><substeps><step><para>Add the other system's host name and IP address to the <filename>/etc/hosts</filename> file.</para><screen># <userinput>/usr/dt/bin/trusted_edit /etc/hosts</userinput></screen><screen>127.0.0.1	localhost	
192.168.66.66	<replaceable>local-system-name</replaceable>	loghost
192.168.66.12	<replaceable>remote-system-name</replaceable></screen>
</step><step><para>To allow remote role assumption, modify the <filename>pam.conf</filename> file
to relax PAM policy.</para><substeps><step><para>Copy the <filename>/etc/pam.conf</filename> file to <filename>/etc/pam.conf.orig</filename>.</para><screen># <userinput>cp /etc/pam.conf /etc/pam.conf.orig</userinput></screen>
</step><step><para>In the trusted editor, open the <filename>pam.conf</filename> file.</para><screen># <userinput>/usr/dt/bin/trusted_edit /etc/pam.conf</userinput></screen>
</step><step><para>Copy the default entries under Account management.</para>
</step><step><para>In each copied entry, change <literal>other</literal> to <literal>smcconsole</literal>.</para>
</step><step><para>To the copied <literal>pam_roles.so.1</literal> entry, add <filename>allow_remote</filename>.</para><para>Use the Tab key between fields. This
section now appears similar to the following:</para><screen># Solaris Management Console definition for Account management
#
smcconsole   account requisite   pam_roles.so.1   allow_remote
smcconsole   account required    pam_unix_account.so.1
smcconsole   account required    pam_tsol_account.so.1

# Default definition for Account management
# Used when service name is not explicitly mentioned for account management
#
other   account requisite    pam_roles.so.1
other   account required     pam_unix_account.so.1
other   account required     pam_tsol_account.so.1</screen>
</step><step><para>Save the file and exit the editor.</para>
</step><step performance="optional"><para>Copy the file to <filename>/etc/pam.conf.site</filename>.</para><screen># <userinput>cp /etc/pam.conf /etc/pam.conf.site</userinput></screen><para>If you upgrade the system to a later release, you must then evaluate
if you should copy the changes from <filename>/etc/pam.conf.site</filename> into
the <filename>pam.conf</filename> file.</para>
</step>
</substeps>
</step>
</substeps>
</step>
</procedure><example id="headl-7"><title>Creating a Temporary Definition of a Trusted Extensions Host Type</title><para>In this example, the administrator wants to start configuring a remote Trusted Extensions system
before the host type definitions are set up. To do so, the administrator uses
the <command>tnctl</command> command on the remote system to temporarily define
the host type of the desktop system:</para><screen>remote-TX# <userinput>tnctl -h desktop-TX:cipso</userinput></screen><para>Later, the administrator wants to reach the remote Trusted Extensions system
from a desktop system that is not configured with Trusted Extensions. In this
case, the administrator uses the <command>tnctl</command> command on the remote
system to temporarily define the host type of the desktop system as an unlabeled
system that runs at the <constant>ADMIN_LOW</constant> label:</para><screen>remote-TX# <userinput>tnctl -h desktop-TX:admin_low</userinput></screen>
</example>
</task><task id="headl-11"><title>Enable Remote Login From an Unlabeled
System</title><taskprerequisites><para>This procedure is not secure.</para><para>You have relaxed PAM policy to allow remote role assumption, as described
in <olink targetptr="headl-6" remap="internal">Enable Remote Login by a Role in Trusted Extensions</olink>.</para>
</taskprerequisites><procedure><step><para>On the trusted system, apply the appropriate security template
to the unlabeled system.</para><caution><para>With the default settings, another unlabeled system could log
in and administer the remote system. Therefore, you must change the <literal>0.0.0.0</literal> network default from <constant>ADMIN_LOW</constant> to a different
label. For the procedure, see <olink targetptr="managetnet-8" remap="internal">How to Limit the Hosts That Can Be Contacted on the Trusted Network</olink>.</para>
</caution>
</step><step><para>In the trusted editor, open the <filename>/etc/pam.conf</filename> file.</para><screen># <userinput>/usr/dt/bin/trusted_edit /etc/pam.conf</userinput></screen>
</step><step><para>Find the <literal>smcconsole</literal> entries.</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>smcconsole   account required  pam_tsol_account.so.1 <userinput>allow_unlabeled</userinput></screen><para>After your edits, this section appears similar to the following:</para><screen># Solaris Management Console definition for Account management
#
smcconsole  account  requisite      pam_roles.so.1    allow_remote
smcconsole  account  required       pam_unix_account.so.1
smcconsole  account  required       pam_tsol_account.so.1 allow_unlabeled</screen>
</step>
</procedure>
</task><task id="headl-12"><title>Use a Remote Solaris Management Console to Administer in the Files Scope</title><tasksummary><para>If you are not using LDAP, and you want to use the Solaris Management Console on a remote
system, you enable remote connection to the Console. This procedure is not
sufficient to enable access for the LDAP scope.</para><para>To enable access for the LDAP scope, you must complete all the procedures
in <olink targetptr="confsys-10" remap="internal">Configuring the Solaris Management Console for LDAP
(Task Map)</olink>.</para>
</tasksummary><taskprerequisites><para>Both systems are labeled systems.</para><itemizedlist><para>You have completed the following procedures: </para><listitem><para><olink targetptr="confsys-21" remap="internal">Initialize the Solaris Management Console Server in
Trusted Extensions</olink></para>
</listitem><listitem><para><olink targetptr="headl-6" remap="internal">Enable Remote Login by a Role in
Trusted Extensions</olink></para>
</listitem>
</itemizedlist>
</taskprerequisites><procedure><step><para>Complete <olink targetptr="txldap-19" remap="internal">Enable the Solaris Management
Console to Accept Network Communications</olink>.</para>
</step><step><para>On the desktop system, become a user that is defined identically
on both systems.</para>
</step><step><para>On the desktop system, assume the role that is defined identically
on both systems.</para>
</step><step><para>On the desktop system, start the Solaris Management Console.</para><screen># <userinput>/usr/sbin/smc</userinput> &amp;</screen>
</step><step><para>In the Server dialog box, type the name of the headless system.</para><para>Then, choose the <literal>Scope=Files</literal> toolbox.</para><screen>This Computer (<replaceable>remote-system</replaceable>: <literal>Scope=Files, Policy=TSOL</literal>)</screen>
</step>
</procedure>
</task><task id="headl-8"><title>Enable the Remote Display of Administrative
GUIs</title><tasksummary><para>The procedure for remote display on a desktop is identical to the procedure
on a Solaris system that is not configured with Trusted Extensions. This
procedure is placed here for convenience.</para>
</tasksummary><procedure><step id="headlx-step-1"><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 on the desktop
system.</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 id="headlx-step-2"><para>On the headless system, set the <constant>DISPLAY</constant> variable
to the desktop system.</para><screen><replaceable>headless</replaceable> $ DISPLAY=<replaceable>desktop</replaceable>:<replaceable>n</replaceable>.<replaceable>n</replaceable>
<replaceable>headless</replaceable> $ export DISPLAY=<replaceable>n</replaceable>:<replaceable>n</replaceable></screen>
</step>
</procedure>
</task><task id="headl-4"><title>Use the <command>rlogin</command> or <command>ssh</command> Command to Log In and Administer a Headless System in Trusted Extensions</title><indexterm><primary>logging in</primary><secondary>using <command>rlogin</command> command</secondary>
</indexterm><tasksummary><para>This procedure enables you to use the command line and the <literal>txzonemgr</literal> GUI to administer a headless system as superuser or as a role.</para><note><para>Remote login by using the <command>rlogin</command> command is
less secure than remote login by using the <command>ssh</command> command.</para>
</note><para>To use the Solaris Management Console to administer a remote system does not require you
to use a remote login command. For the procedure, see <olink targetptr="remotead-12" remap="internal">How to Remotely Administer Systems by Using the Solaris Management Console From a Trusted Extensions System</olink>.</para>
</tasksummary><taskprerequisites><para>You have completed <olink targetptr="headl-6" remap="internal">Enable Remote Login by
a Role in Trusted Extensions</olink>.</para><para>You are a user who is enabled to log in to the headless system with
that same user name and user ID, and you can assume the same role on the headless
system that you can assume on the desktop system.</para>
</taskprerequisites><procedure><step><para>On the desktop system, enable processes from the headless system
to display.</para><screen><replaceable>desktop</replaceable> $ <userinput>xhost + <replaceable>headless-host</replaceable></userinput>
<replaceable>desktop</replaceable> $ <userinput>echo $DISPLAY</userinput>
:<replaceable>n</replaceable>.<replaceable>n</replaceable></screen>
</step><step><para>Ensure that you are the user who is identically defined on both
systems.</para>
</step><step><para>From a terminal window, remotely log in to the headless system.</para><stepalternatives><step><para>Use the <command>ssh</command> command to log in:</para><screen><replaceable>desktop</replaceable> $ ssh -l <replaceable>identical-username</replaceable> <replaceable>headless</replaceable>
Password: <lineannotation>Type the  user's password</lineannotation>
<replaceable>headless</replaceable> $</screen>
</step><step><para>Or, use the <command>rlogin</command> command to log in:</para><screen><replaceable>desktop</replaceable> # rlogin <replaceable>headless</replaceable>
Password: <lineannotation>Type the user's password</lineannotation>
<replaceable>headless</replaceable> $</screen>
</step>
</stepalternatives>
</step><step><para>Assume the role that is defined identically on both systems.</para><para>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. You can now use this terminal to administer
the headless system from the command line.</para>
</step><step><para>Enable processes on the headless system to display on the desktop
system.</para><note><para>You can also display remote GUIs by logging in with the <command>ssh
-X</command> command. For more information, see the <olink targetdoc="refman" targetptr="ssh-1" remap="external"><citerefentry><refentrytitle>ssh</refentrytitle><manvolnum>1</manvolnum></citerefentry></olink> man page. For an example, see <olink targetptr="headl-ex-1" remap="internal">Example&nbsp;6&ndash;2</olink>.</para>
</note><screen><replaceable>headless</replaceable> $  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.
For example, start the <command>txzonemgr</command> GUI:</para><screen><replaceable>headless</replaceable> $ <userinput>/usr/sbin/txzonemgr</userinput></screen><para>The Labeled Zone Manager runs on the remote system and displays on the
desktop system.</para>
</step><step performance="optional"><para>Access Trusted CDE actions.</para><para>To open
and safely close the Application Manager, see <olink targetptr="remotead-13" remap="internal">How to Remotely Administer Trusted Extensions With dtappsession</olink>.</para>
</step>
</procedure><example id="headl-ex-1"><title>Configuring Labeled Zones on a Headless System</title><para>In this example, the administrator uses the <literal>txzonemgr</literal> GUI
to configure labeled zones on a labeled headless system from a labeled desktop
system. As in the Solaris OS, the administrator enables X server access to the
desktop system by using the <option>X</option> option to the <command>ssh</command> command.
The user <literal>install1</literal> is defined identically on both systems,
and can assume the role <literal>remoterole</literal>.</para><screen>TXdesk1 $ <userinput>xhost + TXnohead4</userinput>
TXdesk1 $ <userinput>whoami</userinput>
install1</screen><screen>TXdesk1 $ <userinput>ssh -X -l install1 TXnohead4</userinput>
Password: <userinput>Ins1PwD1</userinput>
TXnohead4 $</screen><para>To reach the global zone, the administrator assumes the role <literal>remoterole</literal>. This role is defined identically on both systems.</para><screen>TXnohead4 # <userinput>su - remoterole</userinput>
Password: <userinput>abcd1EFG</userinput></screen><para>Then, the administrator starts the <literal>txzonemgr</literal> GUI.</para><screen>TXnohead4 $ <userinput>/usr/sbin/txzonemgr &amp;</userinput></screen><para>The Labeled Zone Manager runs on the headless system and displays on
the desktop system.</para>
</example>
</task>
</sect1>
</chapter><?Pub *0000024098 0?>