<?Pub UDT _bookmark _target?><chapter id="commontasks-1"><?Pub Tag atict:info tracking="on" ref="0"?><?Pub Tag
atict:user user="sharonr" fullname="Sharon Veach"?><title>Administering Security
Requirements in Trusted Extensions (Tasks)</title><highlights><para>This chapter contains tasks that are commonly performed on a system
that is configured with Solaris Trusted Extensions.</para>
</highlights><sect1 id="commontasks-18"><title>Common Tasks in Trusted Extensions (Task Map)</title><indexterm><primary>tasks and task maps</primary><secondary>Common Tasks in Trusted Extensions (Task Map)</secondary>
</indexterm><indexterm><primary>Common Tasks in Trusted Extensions (Task Map)</primary>
</indexterm><para>The following task map describes procedures that set up a working environment
for administrators of Trusted Extensions.</para><informaltable frame="all" pgwide="1"><tgroup cols="3" colsep="1" rowsep="1"><colspec colwidth="23.72*"/><colspec colwidth="37.69*"/><colspec colwidth="37.59*"/><thead><row><entry><para>Task</para>
</entry><entry><para>Description</para>
</entry><entry><para>For Instructions</para>
</entry>
</row>
</thead><tbody><row><entry><para>Change the editor program for the trusted editor.</para>
</entry><entry><para>Specify the editor for administrative files.</para>
</entry><entry><para><olink targetptr="commontasks-24" remap="internal">How to Assign the Editor of Your Choice
as the Trusted Editor</olink></para>
</entry>
</row><row><entry><para>Change the password for root.</para>
</entry><entry><para>Specify a new password for the <literal>root</literal> user, or for
the <literal>root</literal> role.</para>
</entry><entry><para><olink targetptr="commontasks-12" remap="internal">How to Change the Password for root</olink></para>
</entry>
</row><row><entry><para>Change the password for a role.</para>
</entry><entry><para>Specifies a new password for your current role.</para>
</entry><entry><para><olink targetptr="commontasks-31" remap="internal">Example&nbsp;11&ndash;2</olink></para>
</entry>
</row><row><entry align="left"><para>Use the Secure Attention key combination.</para>
</entry><entry><para>Gets control of the mouse or keyboard. Also, tests whether the mouse
or keyboard is trusted.</para>
</entry><entry><para><olink targetptr="commontasks-48" remap="internal">How to Regain Control of the Desktop's
Current Focus</olink></para>
</entry>
</row><row><entry><para>Determine the hexadecimal number for a label.</para>
</entry><entry><para>Displays the internal representation for a text label.</para>
</entry><entry><para><olink targetptr="commontasks-23" remap="internal">How to Obtain the Hexadecimal Equivalent
for a Label</olink></para>
</entry>
</row><row><entry><para>Determine the text representation for a label.</para>
</entry><entry><para>Displays the text representation for a hexadecimal label.</para>
</entry><entry><para><olink targetptr="commontasks-46" remap="internal">How to Obtain a Readable Label From
Its Hexadecimal Form</olink></para>
</entry>
</row><row><entry align="left"><para>Edit system files.</para>
</entry><entry><para>Securely edits Solaris or Trusted Extensions system files.</para>
</entry><entry><para><olink targetptr="commontasks-36" remap="internal">How to Change Security Defaults in
System Files</olink></para>
</entry>
</row><row><entry align="left"><para>Allocate a device.</para>
</entry><entry><para>Uses a peripheral device to add information to or remove information
from the system.</para>
</entry><entry><para><olink targetdoc="trssug" targetptr="ugelem-27" remap="external"><citetitle remap="section">How to Allocate a Device in Trusted Extensions</citetitle> in <citetitle remap="book">Solaris Trusted Extensions User&rsquo;s Guide</citetitle></olink></para>
</entry>
</row><row><entry align="left"><para>Administer a host remotely.</para>
</entry><entry><para>Administers Solaris or Trusted Extensions hosts from a remote host.</para>
</entry><entry><para><olink targetptr="remotead-1" remap="internal">Chapter&nbsp;14, Remote Administration in Trusted Extensions (Tasks)</olink></para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable><task id="commontasks-24"><title>How to Assign the Editor of Your Choice as
the Trusted Editor</title><indexterm><primary>trusted editor</primary><secondary>assigning your favorite editor</secondary>
</indexterm><indexterm><primary>assigning</primary><secondary>editor as the trusted editor</secondary>
</indexterm><tasksummary><para>The <olink targetptr="glossary-159" remap="internal">trusted editor</olink>  uses the value of the <envar>$EDITOR</envar> environment variable as its editor.</para>
</tasksummary><taskprerequisites><para>You must be in a role in the global zone.</para>
</taskprerequisites><procedure><step><para>Determine the value of the <constant>$EDITOR</constant> variable.</para><screen># <userinput>echo $EDITOR</userinput></screen><para>The following are editor possibilities. The <constant>$EDITOR</constant> variable
might also not be set.</para><itemizedlist><listitem><para><command>/usr/dt/bin/dtpad</command> &ndash; Is the editor
that CDE provides.</para>
</listitem><listitem><para><command>/usr/bin/gedit</command> &ndash; Is the editor that GNOME  provides. Trusted GNOME  is the trusted version of that desktop.</para>
</listitem><listitem><para><command>/usr/bin/vi</command> &ndash; Is the visual editor.</para>
</listitem>
</itemizedlist>
</step><step><para>Set the value of the <constant>$EDITOR</constant> variable.</para><stepalternatives><step><para>To set the value permanently, modify the value in the shell initialization
file for the role.</para><para>For example, in the role's home directory,
modify the <filename>.kshrc</filename> file for a Korn shell, and the <filename>.cshrc</filename> file for a C shell.</para>
</step><step><para>To set the value for the current shell, set the value in the terminal
window.</para><para>For example, in a Korn shell, use the following commands:</para><screen># setenv EDITOR=<replaceable>pathname-of-editor</replaceable>
# export $EDITOR</screen><para>In a C shell, use the following command:</para><screen># setenv EDITOR=<replaceable>pathname-of-editor</replaceable></screen><para>In a Bourne shell, use the following commands:</para><screen># EDITOR=<replaceable>pathname-of-editor</replaceable>
# export EDITOR</screen>
</step>
</stepalternatives>
</step>
</procedure><example id="commontasks-35"><title>Specifying the Editor for the Trusted Editor</title><para>The Security Administrator role wants to use <command>vi</command> when
editing system files. A user who has assumed the role modifies the <filename>.kshrc</filename> initialization file in the role's home directory.</para><screen>$ <userinput>cd /home/secadmin</userinput>
$ <userinput>vi .kshrc</userinput>

## Interactive shell
<userinput>set -o vi</userinput>
...
<userinput>export EDITOR=vi</userinput></screen><para>The next time that any user assumes the Security Administrator role, <command>vi</command> is the trusted editor.</para>
</example>
</task><task id="commontasks-12"><title>How to Change the Password for <literal>root</literal></title><indexterm><primary>Change Password menu item</primary><secondary>using to change <literal>root</literal> password</secondary>
</indexterm><indexterm><primary>passwords</primary><secondary>Change Password menu item</secondary>
</indexterm><indexterm><primary>passwords</primary><secondary>changing for <literal>root</literal></secondary>
</indexterm><tasksummary><para>The Security Administrator role is authorized to change any account's
password at any time by using the Solaris Management Console. However, the Solaris Management Console cannot change
the password of a system account. A <emphasis>system account</emphasis> is
an account whose UID is below 100. <literal>root</literal> is a system account
because its UID is 0.</para>
</tasksummary><procedure><step><para>Become superuser.</para><para>If your site has made superuser
into the <literal>root</literal> role, assume the <literal>root</literal> role.</para>
</step><step><para>Choose Change Password from the Trusted Path menu.</para><mediaobject><imageobject><imagedata entityref="tpmenu.tiff"/>
</imageobject><textobject><simpara>The illustration shows the Trusted Path menu.</simpara>
</textobject>
</mediaobject>
</step><step><para>Change the password, and confirm the change.</para>
</step>
</procedure><example id="commontasks-31"><title>Changing the Password for a Role</title><para>Any user who can assume a role that is defined in LDAP can use the Trusted
Path menu to change the password for the role. The password is then changed
in LDAP for all users who attempt to assume the role.</para><para>As in the Solaris OS, the Primary Administrator role can change the password
for a role by using the Solaris Management Console. In Trusted Extensions, the Security Administrator
role can change another role's password by using the Solaris Management Console.</para>
</example>
</task><task id="commontasks-48"><title>How to Regain Control of the Desktop's Current
Focus</title><indexterm><primary>hot key</primary><secondary>regaining control of desktop focus</secondary>
</indexterm><indexterm><primary>key combinations</primary><secondary>testing if grab is trusted</secondary>
</indexterm><indexterm><primary>regaining control of desktop focus</primary>
</indexterm><indexterm><primary>restoring control of desktop focus</primary>
</indexterm><indexterm><primary>users</primary><secondary>restoring control of desktop focus</secondary>
</indexterm><indexterm><primary>trusted grab</primary><secondary>key combination</secondary>
</indexterm><indexterm><primary>secure attention</primary><secondary>key combination</secondary>
</indexterm><tasksummary><para>The &ldquo;Secure Attention&rdquo; key combination can be used to break
a pointer grab or a keyboard grab by an untrusted application. The key combination
can also be used to verify if a pointer or a keyboard has been grabbed by
a trusted application. On a multiheaded system that has been spoofed to display
more than one trusted stripe, this key combination warps the pointer to the
authorized trusted stripe.</para>
</tasksummary><procedure><step><para>To regain control of a Sun keyboard, use the following key combination.</para><para>Press the keys simultaneously to regain control of the current
desktop focus. On the Sun keyboard, the diamond is the <keysym>Meta</keysym> key.</para><screen>&lt;Meta&gt; &lt;Stop&gt;</screen><para>If the grab, such as a pointer, is not trusted, the pointer moves to
the stripe. A trusted pointer does not move to the trusted stripe.</para>
</step><step><para>If you are not using a Sun keyboard, use the following key combination.</para><screen>&lt;Alt&gt; &lt;Break&gt;</screen><para>Press the keys simultaneously to regain control of the current desktop
focus on your laptop.</para>
</step>
</procedure><example id="commontasks-49"><title>Testing If the Password Prompt Can Be Trusted</title><indexterm><primary>passwords</primary><secondary>testing if password prompt is trusted</secondary>
</indexterm><para>On an x86 system that is using a Sun keyboard, the user has been prompted
for a password. The cursor has been grabbed, and is in the password dialog
box. To check that the prompt is trusted, the user presses the <keysym>&lt;Meta&gt;
&lt;Stop&gt;</keysym> keys simultaneously. When the pointer remains in the dialog
box, the user knows that the password prompt is trusted.</para><para>If the pointer had moved to the trusted stripe, the user would know
that the password prompt could not be trusted, and contact the administrator.</para>
</example><example id="commontasks-47"><title>Forcing the Pointer to the Trusted Stripe</title><indexterm><primary>trusted stripe</primary><secondary>warping pointer to</secondary>
</indexterm><para>In this example, a user is not running any trusted processes but cannot
see the mouse pointer. To bring the pointer to the center of the trusted stripe,
the user presses the <keysym>&lt;Meta&gt; &lt;Stop&gt;</keysym> keys simultaneously.</para>
</example>
</task><task id="commontasks-23"><title>How to Obtain the Hexadecimal Equivalent
for a Label</title><indexterm><primary><command>atohexlabel</command> command</primary>
</indexterm><indexterm><primary>labels</primary><secondary>displaying in hexadecimal</secondary>
</indexterm><indexterm><primary>finding</primary><secondary>label equivalent in hexadecimal</secondary>
</indexterm><tasksummary><para>This procedure provides an internal hexadecimal representation of a
label. This representation is safe for storing in a public directory. For
more information, see the <olink targetdoc="group-refman" targetptr="atohexlabel-1m" remap="external"><citerefentry><refentrytitle>atohexlabel</refentrytitle><manvolnum>1M</manvolnum></citerefentry></olink> man page.</para>
</tasksummary><taskprerequisites><para>You must be in the Security Administrator role in the global zone. For
details, see <olink targetptr="commontasks-19" remap="internal">How to Enter the Global Zone
in Trusted Extensions</olink>.</para>
</taskprerequisites><procedure remap="single-step"><step><para>To obtain a hexadecimal value for a label, do one of the following.</para><stepalternatives><step><para>To obtain the hexadecimal value for a sensitivity label, pass
the label to the command.</para><screen>$ <userinput>atohexlabel "CONFIDENTIAL : NEED TO KNOW"</userinput>
0x0004-08-68</screen>
</step><step><para>To obtain the hexadecimal value for a clearance, use the <option>c</option> option.</para><screen>$ <userinput>atohexlabel -c "CONFIDENTIAL NEED TO KNOW"</userinput>
0x0004-08-68</screen><note><para>Human readable sensitivity labels and clearance labels are formed
according to rules in the <filename>label_encodings</filename> file. Each
type of label uses rules from a separate section of this file. When a sensitivity
label and a clearance label both express the same underlying level of sensitivity,
the labels have identical hexadecimal forms. However, the labels can have
different human readable forms. System interfaces that accept human readable
labels as input expect one type of label. If the text strings for the label
types differ, these text strings cannot be used interchangeably.</para><para>In
the default <filename>label_encodings</filename> file, the text equivalent
of a clearance label does not include a colon (:).</para>
</note>
</step>
</stepalternatives>
</step>
</procedure><example id="commontasks-27"><title>Using the <command>atohexlabel</command> Command</title><para>When you pass a valid label in hexadecimal format, the command returns
the argument.</para><screen>$ <userinput>atohexlabel 0x0004-08-68</userinput>
0x0004-08-68</screen><para>When you pass an administrative label, the command returns the argument.</para><screen>$ <userinput>atohexlabel admin_high</userinput>
ADMIN_HIGH
<userinput>atohexlabel admin_low</userinput>
ADMIN_LOW</screen>
</example><taskrelated role="troubleshooting"><para>The error message <literal>atohexlabel parsing error found in &lt;string&gt;
at position 0</literal> indicates that the <literal>&lt;string&gt;</literal> argument
that you passed to <command>atohexlabel</command> was not a valid label or
clearance. Check your typing, and check that the label exists in your installed <filename>label_encodings</filename> file.</para>
</taskrelated>
</task><task id="commontasks-46"><title>How to Obtain a Readable Label
From Its Hexadecimal Form</title><indexterm><primary><command>hextoalabel</command> command</primary>
</indexterm><indexterm><primary>text label equivalents</primary><secondary>determining</secondary>
</indexterm><indexterm><primary>labels</primary><secondary>determining text equivalents</secondary>
</indexterm><indexterm><primary>labels</primary><secondary>troubleshooting</secondary>
</indexterm><indexterm><primary>labels</primary><secondary>repairing in internal databases</secondary>
</indexterm><indexterm><primary>troubleshooting</primary><secondary>repairing labels in internal databases</secondary>
</indexterm><indexterm><primary>repairing</primary><secondary>labels in internal databases</secondary>
</indexterm><indexterm><primary>finding</primary><secondary>label equivalent in text format</secondary>
</indexterm><tasksummary><para>This procedure provides a way to repair labels that are stored in internal
databases. For more information, see the <olink targetdoc="group-refman" targetptr="hextoalabel-1m" remap="external"><citerefentry><refentrytitle>hextoalabel</refentrytitle><manvolnum>1M</manvolnum></citerefentry></olink> man page.</para>
</tasksummary><taskprerequisites><para>You must be in the Security Administrator role in the global zone.</para>
</taskprerequisites><procedure remap="single-step"><step><para>To obtain the text equivalent for an internal representation of
a label, do one of the following.</para><stepalternatives><step><para>To obtain the text equivalent for a sensitivity label, pass the
hexadecimal form of the label.</para><screen>$ <userinput>hextoalabel 0x0004-08-68</userinput>
CONFIDENTIAL : NEED TO KNOW</screen>
</step><step><para>To obtain the text equivalent for a clearance, use the <option>c</option> option.</para><screen>$ <userinput>hextoalabel -c 0x0004-08-68</userinput>
CONFIDENTIAL NEED TO KNOW</screen>
</step>
</stepalternatives>
</step>
</procedure>
</task><task id="commontasks-36"><title>How to Change Security Defaults
in System Files</title><indexterm><primary>administering</primary><secondary>system files</secondary>
</indexterm><indexterm><primary>editing</primary><secondary>system files</secondary>
</indexterm><indexterm><primary>system files</primary><secondary>editing</secondary>
</indexterm><indexterm><primary>changing</primary><secondary>system security defaults</secondary>
</indexterm><indexterm><primary>enabling</primary><secondary>keyboard shutdown</secondary>
</indexterm><indexterm><primary>keyboard shutdown</primary><secondary>enabling</secondary>
</indexterm><indexterm><primary><keysym>Stop-A</keysym></primary><secondary>enabling</secondary>
</indexterm><indexterm><primary><filename>policy.conf</filename> file</primary>
</indexterm><indexterm><primary><filename>/etc/security/policy.conf</filename> file</primary><secondary>how to edit</secondary>
</indexterm><indexterm><primary><filename>/etc/default/kbd</filename> file</primary><secondary>how to edit</secondary>
</indexterm><indexterm><primary><filename>/etc/default/login</filename> file</primary><secondary>how to edit</secondary>
</indexterm><indexterm><primary><filename>/etc/default/passwd</filename> file</primary><secondary>how to edit</secondary>
</indexterm><indexterm><primary>files</primary><secondary><filename>policy.conf</filename></secondary>
</indexterm><indexterm><primary>files</primary><secondary><filename>/etc/default/kbd</filename></secondary>
</indexterm><indexterm><primary>files</primary><secondary><filename>/etc/default/login</filename></secondary>
</indexterm><indexterm><primary>files</primary><secondary><filename>/etc/default/passwd</filename></secondary>
</indexterm><tasksummary><para>In Trusted Extensions, the security administrator changes or accesses default
security settings on a system. </para><para>Files in the <filename>/etc/security</filename> and <filename>/etc/default</filename> directories
contain security settings. On a Solaris system, superuser can edit these
files. For Solaris security information, see <olink targetdoc="group-sa" targetptr="secsys-1" remap="external">Chapter 3, <citetitle remap="chapter">Controlling Access to Systems (Tasks),</citetitle> in <citetitle remap="book">System Administration Guide: Security Services</citetitle></olink>.</para><caution><para>Relax system security defaults only if site security policy
allows you to.</para>
</caution>
</tasksummary><taskprerequisites><para>You must be in the Security Administrator role in the global zone.</para>
</taskprerequisites><procedure remap="single-step"><step><para>Use the trusted editor to edit the system file.</para><para>For
details, see <olink targetptr="roles-10" remap="internal">How to Edit Administrative Files
in Trusted Extensions</olink>.</para><informaltable frame="topbot" pgwide="1"><tgroup cols="3" colsep="0" rowsep="0"><colspec colwidth="18.35*"/><colspec colwidth="23.12*"/><colspec colwidth="32.54*"/><thead><row rowsep="1"><entry><para>File</para>
</entry><entry><para>Task</para>
</entry><entry><para>For More Information</para>
</entry>
</row>
</thead><tbody><row rowsep="1"><entry><para><filename>/etc/default/login</filename></para>
</entry><entry><para>Reduce the allowed number of password tries.</para>
</entry><entry><para>See the example under <olink targetdoc="group-sa" targetptr="secsys-36" remap="external"><citetitle remap="section">How to Monitor All Failed Login Attempts</citetitle> in <citetitle remap="book">System Administration Guide: Security Services</citetitle></olink>.</para><para><olink targetdoc="group-refman" targetptr="passwd-1" remap="external"><citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum></citerefentry></olink> man
page</para>
</entry>
</row><row><entry rowsep="1"><para><filename>/etc/default/kbd</filename></para>
</entry><entry rowsep="1"><para>Disable keyboard shutdown.</para>
</entry><entry rowsep="1"><para><olink targetdoc="group-sa" targetptr="secsys-30" remap="external"><citetitle remap="section">How to Disable a System&rsquo;s Abort Sequence</citetitle> in <citetitle remap="book">System Administration Guide: Security Services</citetitle></olink></para><note><para>On hosts that are used by administrators for debugging, the default
setting for <literal>KEYBOARD_ABORT</literal> allows access to the <command>kadb</command> kernel
debugger. For more information about the debugger, see the <olink targetdoc="group-refman" targetptr="kadb-1m" remap="external"><citerefentry><refentrytitle>kadb</refentrytitle><manvolnum>1M</manvolnum></citerefentry></olink> man page.</para>
</note>
</entry>
</row><row rowsep="1"><entry><para><filename>/etc/security/policy.conf</filename></para>
</entry><entry><para>Require a more powerful algorithm for user passwords.</para><para>Remove a basic privilege from all users of this host.</para><para>Restrict users of this host to Basic Solaris User authorizations.</para>
</entry><entry rowsep="1"><para><olink targetdoc="group-refman" targetptr="policy.conf-4" remap="external"><citerefentry><refentrytitle>policy.conf</refentrytitle><manvolnum>4</manvolnum></citerefentry></olink> man page</para>
</entry>
</row><row><entry><para><filename>/etc/default/passwd</filename></para>
</entry><entry><para>Require users to change passwords frequently.</para><para>Require users to create maximally different passwords.</para><para>Require a longer user password.</para><para>Require a password that cannot be found in your dictionary.</para>
</entry><entry rowsep="1"><para><olink targetdoc="group-refman" targetptr="passwd-1" remap="external"><citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum></citerefentry></olink> man
page</para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</step>
</procedure>
</task>
</sect1>
</chapter><?Pub *0000023439 0?>