<chapter id="txldap-1"><title>Configuring LDAP for Trusted Extensions (Tasks)</title><highlights><para>This chapter covers how to configure the Sun <trademark>Java</trademark> System Directory Server and the Solaris Management Console for
use with Solaris Trusted Extensions. The Directory Server provides LDAP services. LDAP is the
supported naming service for Trusted Extensions. The Solaris Management Console is the administrative
GUI for local and LDAP databases.</para><itemizedlist><para>You have two options when configuring the Directory Server. You can
configure an LDAP server on a Trusted Extensions system, or you can use an existing
server and connect to it by using a Trusted Extensions proxy server. Follow the
instructions in <emphasis>one</emphasis> of the following task maps:</para><listitem><para><olink targetptr="txldap-16" remap="internal">Configuring an LDAP Server on
a Trusted Extensions Host (Task Map)</olink></para>
</listitem><listitem><para><olink targetptr="txldap-18" remap="internal">Configuring an LDAP Proxy Server
on a Trusted Extensions Host (Task Map)</olink></para>
</listitem>
</itemizedlist>
</highlights><sect1 id="txldap-16"><title>Configuring an LDAP Server on a Trusted Extensions Host
(Task Map)</title><informaltable frame="topbot" pgwide="1"><tgroup cols="3" colsep="1" rowsep="1"><colspec colname="colspec2" colwidth="21.17*"/><colspec colname="colspec1" colwidth="41.68*"/><colspec colname="colspec0" colwidth="36.12*"/><thead><row><entry><para>Task</para>
</entry><entry><para>Description</para>
</entry><entry><para>For Instructions</para>
</entry>
</row>
</thead><tbody><row><entry><para>Set up a Trusted Extensions LDAP server.</para>
</entry><entry><para>If you do not have an existing Sun Java System Directory Server, make your first Trusted Extensions system
the Directory Server. The other Trusted Extensions systems are clients of this
server.</para>
</entry><entry><para><olink targetptr="txldap-3" remap="internal">Collect Information for the Directory Server
for LDAP</olink></para><para><olink targetptr="txldap-4" remap="internal">Install the Sun Java System Directory Server</olink></para><para><olink targetptr="txldap-12" remap="internal">Protect Access Logs for the Sun Java System
Directory Server</olink></para><para><olink targetptr="txldap-14" remap="internal">Protect Error Logs for the Sun Java System
Directory Server</olink></para><para><olink targetptr="txldap-10" remap="internal">Configure a Multilevel Port for the Sun
Java System Directory Server</olink></para>
</entry>
</row><row><entry><para>Add Trusted Extensions databases to the server.</para>
</entry><entry><para>Populate the LDAP server with data from the Trusted Extensions system files.</para>
</entry><entry><para><olink targetptr="txldap-2" remap="internal">Populate the Sun Java System Directory Server</olink></para>
</entry>
</row><row><entry><para>Configure the Solaris Management Console to work with the Directory Server.</para>
</entry><entry><para>Manually set up an LDAP toolbox for the Solaris Management Console. The toolbox can be used
to modify Trusted Extensions attributes on network objects.</para>
</entry><entry><para><olink targetptr="confsys-10" remap="internal">Configuring the Solaris Management Console
for LDAP (Task Map)</olink></para>
</entry>
</row><row><entry><para>Configure all other Trusted Extensions systems as clients of this server.</para>
</entry><entry><para>When you configure another system with Trusted Extensions, make the system
a client of this LDAP server.</para>
</entry><entry><para><olink targetptr="txldap-8" remap="internal">Make the Global Zone an LDAP Client in Trusted
Extensions</olink></para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect1><sect1 id="txldap-18"><title>Configuring an LDAP Proxy Server on a Trusted Extensions Host
(Task Map)</title><para>Use this task map if you have an existing Sun Java System Directory Server that is running on
a Solaris system.</para><informaltable frame="topbot" pgwide="1"><tgroup cols="3" colsep="1" rowsep="1"><colspec colname="colspec2" colwidth="26.01*"/><colspec colname="colspec1" colwidth="36.49*"/><colspec colname="colspec0" colwidth="36.49*"/><thead><row><entry><para>Task</para>
</entry><entry><para>Description</para>
</entry><entry><para>For Instructions</para>
</entry>
</row>
</thead><tbody><row><entry><para>Add Trusted Extensions databases to the server.</para>
</entry><entry><para>The Trusted Extensions network databases, <filename>tnrhdb</filename> and <filename>tnrhtp</filename>, need to be added to the LDAP server.</para>
</entry><entry><para><olink targetptr="txldap-2" remap="internal">Populate the Sun Java System Directory Server</olink></para>
</entry>
</row><row><entry><para>Set up an LDAP proxy server.</para>
</entry><entry><para>Make one Trusted Extensions system the proxy server for the other Trusted Extensions systems.
The other Trusted Extensions systems use this proxy server to reach the LDAP server.</para>
</entry><entry><para><olink targetptr="txldap-6" remap="internal">Create an LDAP Proxy Server</olink></para>
</entry>
</row><row><entry><para>Configure the proxy server to have a multilevel port for LDAP.</para>
</entry><entry><para>Enable the Trusted Extensions proxy server to communicate with the LDAP
server at specific labels.</para>
</entry><entry><para><olink targetptr="txldap-10" remap="internal">Configure a Multilevel Port for the Sun
Java System Directory Server</olink></para>
</entry>
</row><row><entry><para>Configure the Solaris Management Console to work with the LDAP proxy server.</para>
</entry><entry><para>You manually set up an LDAP toolbox for the Solaris Management Console. The toolbox can be
used to modify Trusted Extensions attributes on network objects.</para>
</entry><entry><para><olink targetptr="confsys-10" remap="internal">Configuring the Solaris Management Console
for LDAP (Task Map)</olink></para>
</entry>
</row><row><entry><para>Configure all other Trusted Extensions systems as clients of the LDAP proxy
server.</para>
</entry><entry><para>When you configure another system with Trusted Extensions, make the system
a client of the LDAP proxy server.</para>
</entry><entry><para><olink targetptr="txldap-8" remap="internal">Make the Global Zone an LDAP Client in Trusted
Extensions</olink></para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect1><sect1 id="txconf-8"><title>Configuring the Sun Java System Directory Server on a Trusted Extensions System</title><para>The LDAP naming service is the supported naming service for Trusted Extensions.
If your site is not yet running the LDAP naming service, configure a Sun Java System Directory Server (Directory
Server) on a system that is configured with Trusted Extensions. If your site is
already running a Directory Server, then you need to add the Trusted Extensions databases
to the server. To access the Directory Server, you then set up an LDAP proxy
on a Trusted Extensions system.</para><note><para>If you do not use this LDAP server as an NFS server or as a server
for Sun <trademark>Ray</trademark> clients, then you do not need to install
any labeled zones on this server.</para>
</note><task id="txldap-3"><title>Collect Information for the Directory Server for
LDAP</title><procedure remap="single-step"><step><para>Determine the values for the following items.</para><para>The
items are listed in the order of their appearance in the Sun Java Enterprise
System Install Wizard.</para><informaltable frame="topbot"><tgroup cols="2" colsep="0" rowsep="0"><colspec colname="colspec0" colwidth="31.24*"/><colspec colname="colspec1" colwidth="68.76*"/><thead><row><entry rowsep="1"><para>Install Wizard Prompt</para>
</entry><entry rowsep="1"><para>Action or Information</para>
</entry>
</row>
</thead><tbody><row><entry namest="colspec0" nameend="colspec1" colsep="1"><para>Sun Java System Directory Server <replaceable>version</replaceable></para>
</entry>
</row><row><entry><para>Administrator User ID</para>
</entry><entry><para>The default value is <literal>admin</literal>.</para>
</entry>
</row><row><entry><para>Administrator Password</para>
</entry><entry><para>Create a password, such as <literal>admin123</literal>.</para>
</entry>
</row><row><entry><para>Directory Manager DN</para>
</entry><entry><para>The default value is <literal>cn=Directory Manager</literal>.</para>
</entry>
</row><row><entry><para>Directory Manager Password</para>
</entry><entry><para>Create a password, such as <literal>dirmgr89</literal>.</para>
</entry>
</row><row><entry><para>Directory Server Root</para>
</entry><entry><para>The default value is <filename>/var/Sun/mps</filename>. This path is
also used later if the proxy software is installed.</para>
</entry>
</row><row><entry><para>Server Identifier</para>
</entry><entry><para>The default value is the local system.</para>
</entry>
</row><row><entry><para>Server Port</para>
</entry><entry><para>If you plan to use the Directory Server to provide standard LDAP naming
services to client systems, use the default value, <literal>389</literal>.</para><para>If you plan to use the Directory Server to support a subsequent installation
of a proxy server, enter a nonstandard port, such as <literal>10389</literal>.</para>
</entry>
</row><row><entry><para>Suffix</para>
</entry><entry><para>Include your domain component, as in <literal>dc=example-domain,dc=com</literal>.</para>
</entry>
</row><row><entry><para>Administration Domain</para>
</entry><entry><para>Construct to correspond to the Suffix, as in, <literal>example-domain.com</literal>.</para>
</entry>
</row><row><entry><para>System User</para>
</entry><entry><para>The default value is <literal>root</literal>.</para>
</entry>
</row><row><entry><para>System Group</para>
</entry><entry><para>The default value is <literal>root</literal>.</para>
</entry>
</row><row><entry><para>Data Storage Location</para>
</entry><entry><para>The default value is <literal>Store configuration data on this server</literal>.</para>
</entry>
</row><row><entry><para>Data Storage Location</para>
</entry><entry><para>The default value is <literal>Store user data and group data on this
server</literal>.</para>
</entry>
</row><row><entry><para>Administration Port</para>
</entry><entry><para>The default value is the Server Port. A suggested convention for changing
the default is <literal>software-version TIMES 1000</literal>. For software
version 5.2, this convention would result in port <literal>5200</literal>.</para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</step>
</procedure>
</task><task id="txldap-4"><title>Install the Sun Java System Directory Server</title><tasksummary><para>The Directory Server packages are available from the <ulink url="http://www.sun.com/software/solaris" type="text_url">Sun Software Gateway
web site</ulink>. </para>
</tasksummary><procedure><step><para>Find the Sun Java System Directory Server packages on the Sun web site.</para><substeps><step><para>On the <ulink url="http://www.sun.com/software/solaris" type="text_url">Sun Software Gateway</ulink> page, click the Get It tab.</para>
</step><step><para>Click the checkbox for the Sun Java Identity Management Suite.</para>
</step><step><para>Click the Submit button.</para>
</step><step><para>If you are not registered, register.</para>
</step><step><para>Log in to download the software.</para>
</step><step><para>Click the Download Center at the upper left of the screen.</para>
</step><step><para>Under Identity Management, download the most recent software that
is appropriate for your platform.</para>
</step>
</substeps>
</step><step><para>In the <filename>/etc/hosts</filename> file, add the FQDN to your
system's hostname entry.</para><para>The FQDN is the Fully Qualified Domain
Name. This name is a combination of the host name and the administration domain,
as in:</para><screen>192.168.5.5 myhost myhost.example-domain.com</screen>
</step><step><para>Install the Directory Server packages.</para><para>Answer the
questions by using the information from <olink targetptr="txldap-3" remap="internal">Collect
Information for the Directory Server for LDAP</olink>.</para>
</step><step><para>Ensure that the Directory Server starts at every boot.</para><substeps><step><para>Add an <filename>init.d</filename> script.</para><para>In the
following example, change the <literal>SERVER_ROOT</literal> and <literal>SERVER_INSTANCE</literal> variables to match your installation.</para><screen>/etc/init.d/ldap.directory-myhost
---------------------------------------
#!/sbin/sh

SERVER_ROOT=/var/Sun/mps
SERVER_INSTANCE=myhost

case "$1" in
start)
${SERVER_ROOT}/slapd-${SERVER_INSTANCE}/start-slapd
;;
stop)

${SERVER_ROOT}/slapd-${SERVER_INSTANCE}/stop-slapd
;;
*)

echo "Usage: $0 { start | stop }"
exit 1
esac
exit 0</screen>
</step><step><para>Link the <filename>init.d</filename> script to the <filename class="directory">rc2.d</filename> directory.</para><screen>/usr/bin/ln \
/etc/init.d/ldap.directory-myhost \
/etc/rc2.d/S70ldap.directory-myhost</screen>
</step>
</substeps>
</step><step><para>Verify your installation.</para><substeps><step><para>Examine your installation directory.</para><para>A
subdirectory that is named <literal>slapd-</literal><replaceable>server-hostname</replaceable> must
exist.</para>
</step><step><para>Start the Directory Server.</para><screen># <replaceable>installation-directory</replaceable>/slapd-<replaceable>server-hostname</replaceable>/restart-slapd</screen>
</step><step><para>Verify that the <command>slapd</command> process exists.</para><screen># <userinput>ps -ef | grep slapd</userinput>
./ns-slapd -D <replaceable>installation-directory</replaceable>/slapd-<replaceable>server-instance</replaceable> -i
<replaceable>installation-directory</replaceable>/slapd-<replaceable>server-instance</replaceable>/</screen>
</step>
</substeps>
</step>
</procedure><taskrelated role="troubleshooting"><para>For strategies to solve LDAP configuration problems, see <olink targetdoc="sysadv5" targetptr="setupproblems-1" remap="external">Chapter 13, <citetitle remap="chapter">LDAP Troubleshooting (Reference),</citetitle> in <citetitle remap="book">System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP)</citetitle></olink>.</para>
</taskrelated>
</task><task id="txldap-12"><title>Protect Access Logs for the Sun Java System Directory Server</title><tasksummary><itemizedlist><para>The LDIF script that this procedure creates sets up the following rules
for access logs:</para><listitem><para>Log events at log level 256 and create buffered logs (default).</para>
</listitem><listitem><para>Rotate logs daily.</para>
</listitem><listitem><para>Keep a maximum of 100 log files, and each file is at most
500 MBytes.</para>
</listitem><listitem><para>Expire log files that are older than 3 months.</para>
</listitem><listitem><para>Delete oldest logs if less than 500 MBytes free disk space
is available.</para>
</listitem><listitem><para>All log files use a maximum of 20,000 MBytes of disk space.</para>
</listitem>
</itemizedlist>
</tasksummary><procedure><step><para>Create a script to manage access logs.</para><para>Create a <filename>/var/tmp/logs-access.ldif</filename> file with the following content:</para><screen>dn: cn=config
changetype: modify
replace: nsslapd-accesslog-logging-enabled
nsslapd-accesslog-logging-enabled: on
-
replace: nsslapd-accesslog-level
nsslapd-accesslog-level: 256
-
replace: nsslapd-accesslog-logbuffering
nsslapd-accesslog-logbuffering: on
-
replace: nsslapd-accesslog-logrotationtime
nsslapd-accesslog-logrotationtime: 1
-
replace: nsslapd-accesslog-logrotationtimeunit
nsslapd-accesslog-logrotationtimeunit: day
-
replace: nsslapd-accesslog-maxlogsize
nsslapd-accesslog-maxlogsize: 500
-
replace: nsslapd-accesslog-maxlogsperdir
nsslapd-accesslog-maxlogsperdir: 100
-
replace: nsslapd-accesslog-logexpirationtime
nsslapd-accesslog-logexpirationtime: 3
-
replace: nsslapd-accesslog-logexpirationtimeunit
nsslapd-accesslog-logexpirationtimeunit: month
-
replace: nsslapd-accesslog-logmaxdiskspace
nsslapd-accesslog-logmaxdiskspace: 20000
-
replace: nsslapd-accesslog-logminfreediskspace
nsslapd-accesslog-logminfreediskspace: 500</screen>
</step><step><para>Run the script.</para><screen># <userinput>ldapmodify -h localhost -D 'cn=directory manager' \
-f /var/tmp/logs-access.ldif</userinput></screen>
</step><step><para>Type the password.</para><screen>Enter bind password: <lineannotation>Type the appropriate password</lineannotation>
modifying entry cn=config</screen>
</step>
</procedure>
</task><task id="txldap-14"><title>Protect Error Logs for the Sun Java System Directory Server</title><tasksummary><itemizedlist><para>The LDIF script that this procedure creates sets up the following rules
for the error logs:</para><listitem><para>Rotate logs weekly.</para>
</listitem><listitem><para>Keep a maximum of 30 log files, and each file is at most 500
MBytes.</para>
</listitem><listitem><para>Expire log files that are older than 3 months.</para>
</listitem><listitem><para>Delete oldest logs if less than 500 MBytes free disk space
is available.</para>
</listitem><listitem><para>All log files use a maximum of 20,000 MBytes of disk space.</para>
</listitem>
</itemizedlist>
</tasksummary><procedure><step><para>Create a script to manage error logs.</para><para>Create a <filename>/var/tmp/logs-error.ldif</filename> file with the following content:</para><screen>dn: cn=config
changetype: modify
replace: nsslapd-errorlog-logging-enabled
nsslapd-errorlog-logging-enabled: on
-
replace: nsslapd-errorlog-logexpirationtime
nsslapd-errorlog-logexpirationtime: 3
-
replace: nsslapd-errorlog-logexpirationtimeunit
nsslapd-errorlog-logexpirationtimeunit: month
-
replace: nsslapd-errorlog-logrotationtime
nsslapd-errorlog-logrotationtime: 1
-
replace: nsslapd-errorlog-logrotationtimeunit
nsslapd-errorlog-logrotationtimeunit: week
-
replace: nsslapd-errorlog-maxlogsize
nsslapd-errorlog-maxlogsize: 500
-
replace: nsslapd-errorlog-maxlogsperdir
nsslapd-errorlog-maxlogsperdir: 30
-
replace: nsslapd-errorlog-logmaxdiskspace
nsslapd-errorlog-logmaxdiskspace: 20000
-
replace: nsslapd-errorlog-logminfreediskspace
nsslapd-errorlog-logminfreediskspace: 500</screen>
</step><step><para>Run the script.</para><screen># <userinput>ldapmodify -h localhost -D 'cn=directory manager' -f
/var/tmp/logs-error.ldif</userinput></screen>
</step><step><para>Answer the prompts.</para><screen>Enter bind password: <lineannotation>Type the appropriate password</lineannotation>
modifying entry cn=config</screen>
</step>
</procedure>
</task><task id="txldap-10"><title>Configure a Multilevel Port for the Sun Java System Directory Server</title><tasksummary><para>To work in Trusted Extensions, the server port of the Directory Server must
be configured as a multilevel port (MLP) in the global zone.</para>
</tasksummary><procedure><step><para>Start the Solaris Management Console.</para><screen># <userinput>/usr/sbin/smc &amp;</userinput></screen>
</step><step><para>Select the This Computer (<replaceable>this-host</replaceable>: <literal>Scope=Files, Policy=TSOL</literal>) toolbox.</para>
</step><step><para>Click System Configuration, then click Computers and Networks.</para><para>You are prompted for your password.</para>
</step><step><para>Type the appropriate password.</para>
</step><step><para>Double-click Trusted Network Zones.</para>
</step><step><para>Double-click the global zone.</para>
</step><step><para>Add a multilevel port for the TCP protocol:</para><substeps><step><para>Click Add for the Multilevel Ports for Zone's IP Addresses.</para>
</step><step><para>Type 389 for the port number, and click OK.</para>
</step>
</substeps>
</step><step><para>Add a multilevel port for the UDP protocol:</para><substeps><step><para>Click Add for the Multilevel Ports for Zone's IP Addresses.</para>
</step><step><para>Type 389 for the port number.</para>
</step><step><para>Choose the udp protocol, and click OK.</para>
</step>
</substeps>
</step><step><para>Click OK to save the settings.</para>
</step><step><para>Update the kernel.</para><screen># <userinput>tnctl -fz /etc/security/tsol/tnzonecfg</userinput></screen>
</step>
</procedure>
</task><task id="txldap-2"><title>Populate the Sun Java System Directory Server</title><tasksummary><para>Several LDAP databases have been created or modified to hold Trusted Extensions data
about label configuration, users, and remote systems. In this procedure, you
populate the Directory Server databases with Trusted Extensions information.</para>
</tasksummary><procedure><step><para>Create a staging area for files that
you plan to use to populate the naming service databases.</para><screen># <userinput>mkdir -p /setup/files</userinput></screen>
</step><step><para>Copy the sample <filename class="directory">/etc</filename> files
into the staging area.</para><screen># <userinput>cd /etc</userinput>
# <userinput>cp aliases group networks netmasks protocols /setup/files</userinput>
# <userinput>cp rpc services auto_master /setup/files</userinput>

# <userinput>cd /etc/security</userinput>
# <userinput>cp auth_attr prof_attr exec_attr /setup/files/</userinput>
#
# <userinput>cd /etc/security/tsol</userinput>
# <userinput>cp tnrhdb tnrhtp /setup/files</userinput></screen><para>If you are running the Solaris&nbsp;10&nbsp;11/06 release without patches, copy the <filename>ipnodes</filename> file.</para><screen># <userinput>cd /etc/inet</userinput>
# <userinput>cp ipnodes /setup/files</userinput></screen>
</step><step><para>Remove the <literal>+auto_master</literal> entry from the <filename>/setup/files/auto_master</filename> file.</para>
</step><step><para>Remove the <literal>?:::::?</literal> entry from the <filename>/setup/files/auth_attr</filename> file.</para>
</step><step><para>Remove
the <literal>::::</literal> entry from the <filename>/setup/files/prof_attr</filename> file.</para>
</step><step><para>Create the zone automaps in the staging area.</para><itemizedlist><para>In the following list of automaps, the first of each pair of lines shows
the name of the file. The second line of each pair shows the file contents.
The zone names identify labels from the default <filename>label_encodings</filename> file
that is included with the Trusted Extensions software.</para><listitem><para>Substitute your zone names for the zone names in these lines.</para>
</listitem><listitem><para><replaceable>myNFSserver</replaceable> identifies the NFS
server for the home directories.</para>
</listitem>
</itemizedlist><screen>/setup/files/auto_home_public
 * <replaceable>myNFSserver</replaceable>_FQDN:/zone/public/root/export/home/&amp;

/setup/files/auto_home_internal
 * <replaceable>myNFSserve</replaceable>r_FQDN:/zone/internal/root/export/home/&amp;

/setup/files/auto_home_needtoknow
 * <replaceable>myNFSserver</replaceable>_FQDN:/zone/needtoknow/root/export/home/&amp;

/setup/files/auto_home_restricted
 * <replaceable>myNFSserver</replaceable>_FQDN:/zone/restricted/root/export/home/&amp;</screen>
</step><step><para>Add every system on the network to the <filename>/setup/files/tnrhdb</filename> file. </para><para>No wildcard mechanism can be used here. The IP address of every
system to be contacted, including the IP addresses of labeled zones, <emphasis>must</emphasis> be in this file.</para><substeps><step><para>Open the trusted editor and edit <filename>/setup/files/tnrhdb</filename>.</para>
</step><step><para>Add every IP address on a labeled system in the Trusted Extensions domain.</para><para>Labeled systems are of type <literal>cipso</literal>. Also, the
name of the security template for labeled systems is <literal>cipso</literal>.
Therefore, in the default configuration, a <literal>cipso</literal> entry
is similar to the following:</para><screen>192.168.25.2:cipso</screen><note><para>This list includes the IP addresses of global zones and labeled
zones.</para>
</note>
</step><step><para>Add every unlabeled system with which the domain can communicate.</para><para>Unlabeled systems are of type <literal>unlabeled</literal>. The name
of the security template for unlabeled systems is <literal>admin_low</literal>.
Therefore, in the default configuration, an entry for an unlabeled system
is similar to the following:</para><screen>192.168.35.2:admin_low</screen>
</step><step><para>Save the file, and exit the editor.</para>
</step><step><para>Check the syntax of the file.</para><screen># <userinput>tnchkdb -h /setup/files/tnrhdb</userinput></screen>
</step><step><para>Fix any errors before continuing.</para>
</step>
</substeps>
</step><step><para>Copy the <filename>/setup/files/tnrhdb</filename> file to the <filename>/etc/security/tsol/tnrhdb</filename> file.</para>
</step><step id="nisp-step-64"><para>Use the <command>ldapaddent</command> command
to populate every file in the staging area.</para><screen># <userinput>/usr/sbin/ldapaddent -D "cn=directory manager" \
-w dirmgr123 -a simple -f /setup/files/hosts hosts</userinput></screen>
</step>
</procedure>
</task>
</sect1><sect1 id="txconf-37"><title>Creating a Trusted Extensions Proxy for an Existing Sun Java System Directory Server</title><para>First, you need to add the Trusted Extensions databases to the existing
Directory Server on a Solaris system. Second, to enable Trusted Extensions systems
to access the Directory Server, you then need to configure a Trusted Extensions system
to be the LDAP proxy server.</para><task id="txldap-6"><title>Create an LDAP Proxy Server</title><tasksummary><para>If an LDAP server already exists at your site, create a proxy server
on a Trusted Extensions system.</para>
</tasksummary><taskprerequisites><para>You have added the databases that contain Trusted Extensions information
to the LDAP server. For details, see <olink targetptr="txldap-2" remap="internal">Populate
the Sun Java System Directory Server</olink>.</para>
</taskprerequisites><procedure><step><para>On a system that is configured with Trusted Extensions, create a proxy
server.</para><para>For details, see <olink targetdoc="sysadv5" targetptr="clientsetup-1" remap="external">Chapter 12, <citetitle remap="chapter">Setting Up LDAP Clients (Tasks),</citetitle> in <citetitle remap="book">System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP)</citetitle></olink>.</para>
</step><step><para>Verify that the Trusted Extensions databases can be viewed by the
proxy server.</para><screen># <userinput>ldaplist -l</userinput> <replaceable>database</replaceable></screen>
</step>
</procedure><taskrelated role="troubleshooting"><para>For strategies to solve LDAP configuration problems, see <olink targetdoc="sysadv5" targetptr="setupproblems-1" remap="external">Chapter 13, <citetitle remap="chapter">LDAP Troubleshooting (Reference),</citetitle> in <citetitle remap="book">System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP)</citetitle></olink>.</para>
</taskrelated>
</task>
</sect1><sect1 id="confsys-10"><title>Configuring the Solaris Management Console for LDAP (Task Map)</title><para>The Solaris Management Console is the GUI for administering the network of systems that are
running Trusted Extensions.</para><informaltable frame="topbot" pgwide="1"><tgroup cols="3" colsep="1" rowsep="1"><colspec colname="colspec2" colwidth="21.13*"/><colspec colname="colspec1" colwidth="44.28*"/><colspec colname="colspec0" colwidth="33.56*"/><thead><row><entry><para>Task</para>
</entry><entry><para>Description</para>
</entry><entry><para>For Instructions</para>
</entry>
</row>
</thead><tbody><row><entry><para>Initialize the Solaris Management Console.</para>
</entry><entry><para>Initialize the Solaris Management Console. This procedure is performed once per system in
the global zone.</para>
</entry><entry><para><olink targetptr="confsys-21" remap="internal">Initialize the Solaris Management Console
Server in Trusted Extensions</olink></para>
</entry>
</row><row><entry><para>Register credentials.</para>
</entry><entry><para>Authenticate the Solaris Management Console with the LDAP server.</para>
</entry><entry><para><olink targetptr="txldap-11" remap="internal">Register LDAP Credentials With the Solaris
Management Console</olink></para>
</entry>
</row><row><entry><para>Enable LDAP administration on a system.</para>
</entry><entry><para>By default, LDAP administration is turned off at installation. You explicitly
enable particular systems to be LDAP administration systems.</para>
</entry><entry><para><olink targetptr="txldap-19" remap="internal">Enable an LDAP Client to Administer LDAP</olink></para>
</entry>
</row><row><entry><para>Create the LDAP toolbox.</para>
</entry><entry><para>Create the LDAP toolbox in the Solaris Management Console for Trusted Extensions.</para>
</entry><entry><para><olink targetptr="txldap-7" remap="internal">Edit the LDAP Toolbox in the Solaris Management
Console</olink></para>
</entry>
</row><row><entry><para>Verify communications.</para>
</entry><entry><para>Verify that Trusted Extensions hosts can become LDAP clients.</para>
</entry><entry><para><olink targetptr="txldap-8" remap="internal">Make the Global Zone an LDAP Client in Trusted
Extensions</olink></para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable><task id="txldap-11"><title>Register LDAP Credentials With the Solaris Management Console</title><taskprerequisites><para>You must be the <literal>root</literal> user on an LDAP server that
is running Trusted Extensions. The server can be a proxy server.</para><itemizedlist><para>Your Sun Java System Directory Server must be configured. You have completed one of the following
configurations:</para><listitem><para><olink targetptr="txldap-16" remap="internal">Configuring an LDAP Server on
a Trusted Extensions Host (Task Map)</olink></para>
</listitem><listitem><para><olink targetptr="txldap-18" remap="internal">Configuring an LDAP Proxy Server
on a Trusted Extensions Host (Task Map)</olink></para>
</listitem>
</itemizedlist>
</taskprerequisites><procedure><step><para>Register the LDAP administrative credentials.</para><screen># <userinput>/usr/sadm/bin/dtsetup storeCred</userinput>
Administrator DN:<lineannotation>Type the value for cn on your system</lineannotation>
Password:<lineannotation>Type the Directory Manager password</lineannotation>
Password (confirm):<lineannotation>Retype the password</lineannotation></screen>
</step><step><para>Verify communications with the Directory Server.</para><screen># <userinput>/usr/sadm/bin/dtsetup scopes</userinput>
Getting list of manageable scopes...
Scope 1 file:<lineannotation>Displays name of file scope</lineannotation>
Scope 2 ldap:<lineannotation>Displays name of ldap scope</lineannotation></screen><para>Your LDAP server setup determines the LDAP scopes that are listed. After
the server is registered, the LDAP toolbox can be edited, and then used.</para>
</step>
</procedure><example id="txldap-ex-cred-1"><title>Registering LDAP Credentials</title><para>In this example, the name of the LDAP server is <literal>LDAP1</literal>,
the name of the LDAP client is <literal>myhost</literal>, and the value for <literal>cn</literal> is the default, <literal>Directory Manager</literal>.</para><screen># <userinput>/usr/sadm/bin/dtsetup storeCred</userinput>
Administrator DN:<userinput>cn=Directory Manager</userinput>
Password:<userinput>abcde1;!</userinput>
Password (confirm):<userinput>abcde1;!</userinput>
# <userinput>/usr/sadm/bin/dtsetup scopes</userinput>
Getting list of manageable scopes...
Scope 1 file:/myhost/myhost
Scope 2 ldap:/myhost/cd=myhost,dc=example,dc=com</screen>
</example>
</task><task id="txldap-19"><title>Enable an LDAP Client to Administer LDAP</title><tasksummary><para>By default, systems are installed to not listen on ports that present
security risks. Therefore, you must explicitly turn on network communications
with the LDAP server. Perform this procedure only on systems from which you
plan to administer your network of systems and users.</para>
</tasksummary><taskprerequisites><para>You must be superuser or in the Security Administrator role in the global
zone.</para>
</taskprerequisites><procedure remap="single-step"><step><para>Enable the system to administer LDAP.</para><screen># <userinput>svccfg -s wbem setprop options/tcp_listen=true</userinput></screen><para>To view the LDAP toolbox, you must complete <olink targetptr="txldap-7" remap="internal">Edit
the LDAP Toolbox in the Solaris Management Console</olink>.</para>
</step>
</procedure>
</task><task id="txldap-7"><title>Edit the LDAP Toolbox in the Solaris Management Console</title><taskprerequisites><para>You must be superuser. The LDAP credentials must be registered with
the Solaris Management Console, and you must know the output of the <command>/usr/sadm/bin/dtsetup
scopes</command> command. For details, see <olink targetptr="txldap-11" remap="internal">Register
LDAP Credentials With the Solaris Management Console</olink>.</para>
</taskprerequisites><procedure><step><para>Find the LDAP toolbox.</para><screen># <userinput>cd /var/sadm/smc/toolboxes/tsol_ldap</userinput>
# <userinput>ls *tbx</userinput>
tsol_ldap.tbx</screen>
</step><step><para>Provide the LDAP server name.</para><substeps><step><para>Open the trusted editor.</para>
</step><step><para>Copy and paste the full pathname of the <filename>tsol_ldap.tbx</filename> toolbox
as the argument to the editor.</para><para>For example, the following path
is the default location of the LDAP toolbox:</para><screen>/var/sadm/smc/toolboxes/tsol_ldap/tsol_ldap.tbx</screen>
</step><step><para>Replace the scope information.</para><para>Replace the <literal>server</literal> tags between the <literal>&lt;Scope></literal> and <literal>&lt;/Scope></literal> tags with the output of the <literal>ldap:/......</literal> line
from the <command>/usr/sadm/bin/dtsetup scopes</command> command.</para><screen>&lt;Scope>ldap:/&lt;<replaceable>myhost</replaceable>>/&lt;dc=<replaceable>domain</replaceable>,dc=<replaceable>suffix</replaceable>>&lt;/Scope></screen>
</step><step><para>Replace every instance of <literal>&lt;?server?></literal> or <literal>&lt;?server ?></literal> with the LDAP server.</para><screen>&lt;Name> <replaceable>ldap-server-name</replaceable>: Scope=ldap, Policy=TSOL&lt;/Name>
services and configuration of <replaceable>ldap-server-name</replaceable>.&lt;/Description>
and configuring <replaceable>ldap-server-name</replaceable>.&lt;/Description>
&lt;ServerName><replaceable>ldap-server-name</replaceable>&lt;/ServerName>
&lt;ServerName><replaceable>ldap-server-name</replaceable>&lt;/ServerName></screen>
</step><step><para>Save the file, and exit the editor.</para>
</step>
</substeps>
</step><step><para>Stop and start the <command>wbem</command> service.</para><para>The <command>smc</command> daemon is controlled by the <command>wbem</command> service.</para><screen># <userinput>svcadm disable wbem</userinput>
# <userinput>svcadm enable wbem</userinput></screen>
</step>
</procedure><example id="txldap-17"><title>Configuring the LDAP Toolbox</title><para>In this example, the name of the LDAP server is <literal>LDAP1</literal>.
To configure the toolbox, the administrator replaces the instances of <literal>server</literal> with LDAP1.</para><screen>&lt;Name><userinput>LDAP1</userinput>: Scope=ldap, Policy=TSOL&lt;/Name>
services and configuration of <userinput>LDAP1</userinput>.&lt;/Description>
and configuring <userinput>LDAP1</userinput>.&lt;/Description>
&lt;ServerName><userinput>LDAP1</userinput>&lt;/ServerName>
&lt;ServerName><userinput>LDAP1</userinput>&lt;/ServerName></screen>
</example>
</task><task id="txldap-9"><title>Verify That the Solaris Management Console Contains Trusted Extensions Information</title><taskprerequisites><para>You must be logged in to an LDAP client in an administrative role, or
as superuser. To make a system an LDAP client, see <olink targetptr="txldap-8" remap="internal">Make
the Global Zone an LDAP Client in Trusted Extensions</olink>.</para><para>To use the LDAP toolbox, you must have completed <olink targetptr="txldap-7" remap="internal">Edit the LDAP Toolbox in the Solaris Management Console</olink> and <olink targetptr="confsys-21" remap="internal">Initialize the Solaris Management Console Server in
Trusted Extensions</olink>.</para>
</taskprerequisites><procedure><step><para>Start the Solaris Management Console.</para><screen># <userinput>/usr/sbin/smc &amp;</userinput></screen>
</step><step><para>Open a Trusted Extensions toolbox.</para><para>A Trusted Extensions toolbox
has the value <literal>Policy=TSOL</literal>.</para><stepalternatives><step><para>To check that local files can be accessed, open the This Computer (<replaceable>this-host</replaceable>: <literal>Scope=Files, Policy=TSOL</literal>) toolbox.</para>
</step><step><para>To check that databases on the LDAP server can be accessed, open
the This Computer (<replaceable>this-host</replaceable>: <literal>Scope=LDAP, Policy=TSOL</literal>) toolbox.</para>
</step>
</stepalternatives>
</step><step><para>Under System Configuration, navigate to Computers and Networks,
then Security Templates.</para>
</step><step><para>Check that the correct templates and labels have been applied
to the remote systems.</para>
</step>
</procedure><taskrelated role="troubleshooting"><para>To troubleshoot LDAP configuration, see <olink targetdoc="sysadv5" targetptr="setupproblems-1" remap="external">Chapter 13, <citetitle remap="chapter">LDAP Troubleshooting (Reference),</citetitle> in <citetitle remap="book">System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP)</citetitle></olink>.</para>
</taskrelated>
</task>
</sect1>
</chapter>