Freeipa 1.2.1 Client Configuration Guide: Ipa Solutions From The Ipa Experts
Freeipa 1.2.1 Client Configuration Guide: Ipa Solutions From The Ipa Experts
1
Client Configuration Guide
IPA Solutions from the IPA Experts
Client Configuration Guide
Copyright © 2008 Red Hat. This material may only be distributed subject to the terms and conditions
set forth in the Open Publication License, V1.0 or later. The latest version of the OPL is presently
available at http://www.opencontent.org/openpub/.
Red Hat and the Red Hat "Shadow Man" logo are registered trademarks of Red Hat, Inc. in the United
States and other countries.
All other trademarks referenced herein are the property of their respective owners.
CA 20 86 86 2B D6 9D FC 65 F6 EC C4 21 91 80 CD DB 42 A6 0E
This guide describes how to configure IPA on each of the supported client platforms.
Preface v
1. Audience ........................................................................................................................ v
2. Document Conventions ................................................................................................... v
2.1. Typographic Conventions ...................................................................................... v
2.2. Pull-quote Conventions ........................................................................................ vii
2.3. Notes and Warnings ............................................................................................ vii
3. We Need Feedback! ..................................................................................................... viii
iii
Client Configuration Guide
iv
Preface
Welcome to the IPA Client Configuration Guide. This guide provides you with the information
necessary to configure each of the supported client platforms to connect to the IPA server. This
includes:
• Using Firefox to access the IPA web interface (for administrative operations)
1. Audience
The IPA Client Configuration Guide is intended for system administrators and those responsible for
ensuring the successful configuration of IPA clients.
This guide assumes a good understanding of various operating systems, including Linux, Solaris
and other UNIX systems, Macintosh and Microsoft Windows. It also assumes a working knowledge
of LDAP and either Red Hat or Fedora Directory Server.
2. Document Conventions
This manual uses several conventions to highlight certain words and phrases and draw attention to
specific pieces of information.
1
In PDF and paper editions, this manual uses typefaces drawn from the Liberation Fonts set. The
Liberation Fonts set is also used in HTML editions if the set is installed on your system. If not,
alternative but equivalent typefaces are displayed. Note: Red Hat Enterprise Linux 5 and later includes
the Liberation Fonts set by default.
Mono-spaced Bold
Used to highlight system input, including shell commands, file names and paths. Also used to highlight
key caps and key-combinations. For example:
To see the contents of the file my_novel in your current working directory, enter the
cat my_novel command at the shell prompt and then press Enter.
The above example includes a file name, a shell command and a key cap, all presented in Mono-
spaced Bold and all distinguishable thanks to context.
Key-combinations can be distinguished from key caps by the hyphen connecting each part of a key-
combination. For example:
1
https://fedorahosted.org/liberation-fonts/
v
Preface
Press Ctrl-Alt-F1 to switch to the first virtual terminal. Press Ctrl-Alt-F7 to return
to your X-Windows session.
The first sentence highlights the particular key cap to press. The second highlights two sets of three
key caps, each set pressed simultaneously.
If source code is discussed, class names, methods, functions, variable names and returned values
mentioned within a paragraph will be presented as above, in Mono-spaced Bold. For example:
File-related classes include filesystem for file systems, file for files, and dir for
directories. Each class has its own associated set of permissions.
Proportional Bold
This denotes words or phrases encountered on a system, including application names; dialogue
box text; labelled buttons; check-box and radio button labels; menu titles and sub-menu titles. For
example:
Choose System > Preferences > Mouse from the main menu bar to launch Mouse
Preferences. In the Buttons tab, click the Left-handed mouse check box and click
Close to switch the primary mouse button from the left to the right (making the mouse
suitable for use in the left hand).
The above text includes application names; system-wide menu names and items; application-specific
menu names; and buttons and text found within a GUI interface, all presented in Proportional Bold and
all distinguishable by context.
Note the > shorthand used to indicate traversal through a menu and its sub-menus. This avoids the
difficult-to-follow 'Select Mouse from the Preferences sub-menu in the System menu of the main
menu bar' approach.
Whether Mono-spaced Bold or Proportional Bold, the addition of Italics indicates replaceable or
variable text. Italics denotes text you do not input literally or displayed text that changes depending on
circumstance. For example:
To see the version of a currently installed package, use the rpm -q package
command. It will return a result as follows: package-version-release.
Note the words in bold italics above — username, domain.name, package, version and release. Each
word is a placeholder, either for text you enter when issuing a command or for text displayed by the
system.
Aside from standard usage for presenting the title of a work, italics denotes the first use of a new or
important term. For example:
When the Apache HTTP Server accepts requests, it dispatches child processes
or threads to handle them. This group of child processes or threads is known as
vi
Pull-quote Conventions
a server-pool. Under Apache HTTP Server 2.0, the responsibility for creating and
maintaining these server-pools has been abstracted to a group of modules called
Multi-Processing Modules (MPMs). Unlike other modules, only one module from the
MPM group can be loaded by the Apache HTTP Server.
Source-code listings are also set in Mono-spaced Roman but are presented and highlighted as
follows:
package org.jboss.book.jca.ex1;
import javax.naming.InitialContext;
System.out.println("Created Echo");
Note
A Note is a tip or shortcut or alternative approach to the task at hand. Ignoring a note
should have no negative consequences, but you might miss out on a trick that makes your
life easier.
vii
Preface
Important
Important boxes detail things that are easily missed: configuration changes that only
apply to the current session, or services that need restarting before an update will apply.
Ignoring Important boxes won't cause data loss but may cause irritation and frustration.
Warning
A Warning should not be ignored. Ignoring warnings will most likely cause data loss.
3. We Need Feedback!
If you find a typographical error in this manual, or if you have thought of a way to make this manual
better, we would love to hear from you! Please submit a report in Bugzilla: https://bugzilla.redhat.com/
enter_bug.cgi?product=freeIPA against the Documentation component.
When submitting a bug report, be sure to mention the manual's identifier: Client_Configuration_Guide
If you have a suggestion for improving the documentation, try to be as specific as possible when
describing it. If you have found an error, please include the section number and some of the
surrounding text so we can find it easily.
viii
Chapter 1.
Before starting the IPA installation, update your system with all the latest packages.
Note
The IPA client installation process requires that an IPA server already exist.
Many of the following procedures and instructions use example host names, domain
names, and realm names for illustration purposes. You need to replace these example
names with those that apply to your own deployment.
Important
The following instructions assume that you have purchased a subscription to the Red Hat
Enterprise IPA channel. freeIPA does not provide client packages for Red Hat Enterprise
Linux.
Procedure 1.1. To install the Red Hat Enterprise Linux 5 IPA packages:
1. • For a user workstation, run the following command: # yum install ipa-client
• For an administrator's workstation, run the following command: # yum install ipa-
client ipa-admintools
2. If the IPA server is also configured as the DNS server, and is in the same domain as the client,
add the server's IP address as the first entry in the client's /etc/resolv.conf file.
1
Chapter 1. Configuring Red Hat Enterprise Linux Clients
Procedure 1.2. To configure client authentication on Red Hat Enterprise Linux 5, run the following
command:
• # ipa-client-install
If DNS Discovery is configured correctly, the script should set up the client without prompting for any
further information. This includes configuring the name service cache daemon (nscd) to start at boot
time. The nscd caches the most common name service requests from the client, and reduces the
load on the server. If DNS Discovery is not configured, the script will prompt you for the information it
requires.
When the script has finished configuring the IPA client, it displays information about the realm, DNS
domain, IPA server, and other related information, similar to the following:
Note
Ensure that you run the correct command to set up the client. Separate scripts exist for
Red Hat Enterprise Linux 4 and 5, and they are not interchangeable.
If the IPA server and client are not in the same domain, the setup script will prompt you for
the information that it requires.
[libdefaults]
default_realm = EXAMPLE.COM
dns_lookup_realm = true
dns_lookup_kdc = true
forwardable = yes
ticket_lifetime = 24h
[realms]
EXAMPLE.COM = {
kdc = ipaserver.example.com:88
admin_server = ipaserver.example.com:749
default_domain = example.com
2
Configuring Client TLS
}
[domain_realm]
.example.com = EXAMPLE.COM
example.com = EXAMPLE.COM
Procedure 1.3. To configure a Red Hat Enterprise Linux 5 client for TLS:
1. Make the following changes to the /etc/ldap.conf file:
uri ldap://ipaserver.example.com/
base dc=example,dc=com
ssl start_tls
tls_checkpeer yes
tls_cacertdir /etc/cacerts/
Note
Ensure that the directory you specify for tls_cacertdir actually exists.
If the tls_cacertdir directive does not work, run the following command to set the
cacert file directly:
# tls_cacert /etc/cacerts/cacert.crt
# cd /etc/cacerts
4. Run the following command to copy the CA certificate from the server to the client:
# wget http://ipaserver.example.com/ipa/config/ca.crt
If you installed IPA using your own PKCS#12 files then this self-signed CA will not exist.
The resulting file name is the hash of the contents of the certificate with a ".0" extension.
6. If more than one CA certificate is required, concatenate these certificates into a single file.
3
Chapter 1. Configuring Red Hat Enterprise Linux Clients
• On the system console, log in as an IPA user. After you have logged in, open a shell and run the
following commands:
$ id (ensure that the user IDs and group IDs are correct)
If any of these tests fail, refer to the Troubleshooting section in the Administration Guide for
information on how to locate any problems.
Procedure 1.4. To configure NFS on the Red Hat Enterprise Linux 5 IPA client:
1. Obtain a Kerberos ticket for the admin user.
# kinit admin
# ipa-addservice nfs/ipaclient.example.com
Note
The Linux NFS implementation still has limited encryption type support. If your NFS
server is hosted on a Linux machine, you may need to use the -e des-cbc-crc
option to the ipa-getkeytab command for any nfs/<FQDN> service keytabs
you want to set up, both on the server and on all clients. This instructs the KDC to
generate only DES keys.
SECURE_NFS=yes
The IPA client should now be fully configured to mount NFS shares using Kerberos credentials. Use
the following command to test the configuration:
4
Configuring Client SSH Access
Procedure 1.5. To configure a Red Hat Enterprise Linux 5 IPA client for incoming SSH connections:
1. The IPA client installation process configures the NTP service by default, but you should ensure
that time on the IPA client and server is synchronized. If it is not, run the following commands on
the IPA client:
# ntpdate -s -p 8 -u ipaserver.example.com
Note
The ntpdate command does not work if ntpd is running.
# kinit admin
# ipa-addservice host/ipaclient.example.com
The IPA client should now be fully configured to accept incoming SSH connections and authenticate
with the user's Kerberos credentials. Use the following command on another machine to test the
configuration. This should succeed without asking for a password.
# ssh [email protected]
5
Chapter 1. Configuring Red Hat Enterprise Linux Clients
Important
The following instructions assume that you have purchased a subscription to the Red Hat
Enterprise IPA channel. freeIPA does not provide client packages for Red Hat Enterprise
Linux.
Note
Ensure that you run the correct command to set up the client. Separate scripts exist for
Red Hat Enterprise Linux 4 and 5, and they are not interchangeable.
The Red Hat Enterprise Linux 4 version of the IPA client installation script does not
perform auto-discovery, and neither does it configure the client machine to perform auto-
discovery.
[libdefaults]
default_realm = EXAMPLE.COM
dns_lookup_realm = true
dns_lookup_kdc = true
6
Configuring Client TLS
forwardable = yes
ticket_lifetime = 24h
[realms]
EXAMPLE.COM = {
kdc = ipaserver.example.com:88
admin_server = ipaserver.example.com:749
default_domain = example.com
}
[domain_realm]
.example.com = EXAMPLE.COM
example.com = EXAMPLE.COM
Procedure 1.7. To configure a Red Hat Enterprise Linux 4 client for TLS:
1. Make the following changes to the /etc/ldap.conf file:
uri ldap://ipaserver.example.com/
base dc=example,dc=com
ssl start_tls
tls_checkpeer yes
tls_cacertdir /etc/cacerts/
Note
Ensure that the directory you specify for tls_cacertdir actually exists.
If the tls_cacertdir directive does not work, run the following command to set the
cacert file directly:
# tls_cacert /etc/cacerts/cacert.crt
# cd /etc/cacerts
4. Run the following command to copy the CA certificate from the server to the client:
# wget http://ipaserver.example.com/ipa/config/ca.crt
If you installed IPA using your own PKCS#12 files then this self-signed CA will not exist.
7
Chapter 1. Configuring Red Hat Enterprise Linux Clients
The resulting file name is the hash of the contents of the certificate with a ".0" extension.
6. If more than one CA certificate is required, concatenate these certificates into a single file.
• On the system console, log in as an IPA user. After you have logged in, open a shell and run the
following commands:
$ id (ensure that the user IDs and group IDs are correct)
If any of these tests fail, refer to the Troubleshooting section in the Administration Guide for
information on how to locate any problems.
Procedure 1.8. To configure NFS on the Red Hat Enterprise Linux 4 IPA client:
1. Obtain a Kerberos ticket for the admin user.
# kinit admin
8
Configuring Client SSH Access
2. The ipa-admintools package is not available for Red Hat Enterprise Linux 4. Consequently, you
need to perform the following steps on the IPA server.
# ipa-addservice nfs/ipaclient.example.com
Note
The Linux NFS implementation still has limited encryption type support. If your
NFS server is hosted on a Linux machine, you may need to use the -e des-
cbc-crc option to the ipa-getkeytab command for any nfs/<FQDN> service
keytabs you want to set up, both on the server and on all clients. This instructs
the KDC to generate only DES keys.
3. On the IPA client, use the ktutil command to import the keytab.
# ktutil
ktutil: read_kt /tmp/krb5.keytab
ktutil: write_kt /etc/krb5/krb5.keytab
ktutil: q
SECURE_NFS=yes
The IPA client should now be fully configured to mount NFS shares using Kerberos credentials. Use
the following command to test the configuration:
9
Chapter 1. Configuring Red Hat Enterprise Linux Clients
Procedure 1.9. To configure a Red Hat Enterprise Linux 4 IPA client for incoming SSH connections:
1. The IPA client installation process configures the NTP service by default, but you should ensure
that time on the IPA client and server is synchronized. If it is not, run the following commands on
the IPA client:
# ntpdate -s -p 8 -u ipaserver.example.com
Note
The ntpdate command does not work if ntpd is running.
# kinit admin
3. The ipa-admintools package is not available for Red Hat Enterprise Linux 4. Consequently, you
need to perform the following commands on the IPA server.
# ipa-addservice host/ipaclient.example.com
4. On the IPA client, use the ktutil command to import the keytab.
# ktutil
ktutil: read_kt /tmp/krb5.keytab
ktutil: write_kt /etc/krb5/krb5.keytab
ktutil: q
The IPA client should now be fully configured to accept incoming SSH connections and authenticate
with the user's Kerberos credentials. Use the following command on another machine to test the
configuration. This should succeed without asking for a password.
# ssh [email protected]
10
Configuring Host-Based Access Control
Note
The IPA client installation process requires that an IPA server already exist.
2. On the User Information Configuration screen, select LDAP, and enter the server name and
Base DN.
Note
The Base DN is the realm name translated into "dc" components. For example:
This step does not fully configure nss_ldap. Further configuration is described below.
5. Select Use Kerberos 5 and enter the following details (modify to suit your deployment):
Realm: EXAMPLE.COM
KDC: ipaserver.example.com:88
Admin Server: ipaserver.example.com:749
6. Press Enter to save the configuration and exit the authconfig utility.
11
Chapter 1. Configuring Red Hat Enterprise Linux Clients
ldap_version 3
host ipaserver.example.com
base dc=example,dc=com
nss_base_passwd cn=users,cn=accounts,dc=example,dc=com?sub
nss_base_group cn=groups,cn=accounts,dc=example,dc=com?sub
nss_schema rfc2307bis
nss_map_attribute uniqueMember member
nss_initgroups_ignoreusers root
nss_reconnect_maxsleeptime 8
nss_reconnect_sleeptime 1
bind_timelimit 5
timelimit 15
ssl no
Note
The latest version of Red Hat Enterprise Linux 3 uses openssh 3.6.1p2 by default, which
does not support the use of Kerberos 5 authentication unless a special patch provided
by GSS is installed. This affects both the SSH client and the SSH daemon.
Consequently, IPA users on Red Hat Enterprise Linux 3 cannot perform passwordless
login to an IPA server, and other IPA servers and clients cannot perform passwordless
login to a Red Hat Enterprise Linux 3 machine.
12
Chapter 2.
Before starting the IPA installation, ensure that you update your system with all the latest packages.
Note
The IPA client installation process requires that an IPA server already exist.
Many of the following procedures and instructions use example host names, domain
names, and realm names for illustration purposes. You need to replace these example
names with those that apply to your own deployment.
Procedure 2.1. To download and install the Fedora IPA packages and dependencies:
1. Install the appropriate IPA client packages:
2. If the IPA server is also configured as the DNS server, and is in the same domain as the client,
add the server's IP address as the first entry in the client's /etc/resolv.conf file.
# ipa-client-install
If DNS Discovery is configured correctly, the script should set up the client without prompting for any
further information. This includes configuring the name service cache daemon (nscd) to start at boot
time. The nscd caches the most common name service requests from the client, and reduces the
load on the server. If DNS Discovery is not configured, the script will prompt you for the information it
requires.
When the script has finished configuring the IPA client, it displays information about the realm, DNS
domain, IPA server, and other related information, similar to the following:
13
Chapter 2. Configuring Fedora as an IPA Client
Realm: EXAMPLE.COM
DNS Domain: example.com
IPA Server: ipaserver.example.com
BaseDN: dc=example,dc=com
Note
If the IPA server and client are not in the same domain, the setup script will prompt you for
the information that it requires.
[libdefaults]
default_realm = EXAMPLE.COM
dns_lookup_realm = true
dns_lookup_kdc = true
forwardable = yes
ticket_lifetime = 24h
[realms]
EXAMPLE.COM = {
kdc = ipaserver.example.com:88
admin_server = ipaserver.example.com:749
default_domain = example.com
}
[domain_realm]
.example.com = EXAMPLE.COM
example.com = EXAMPLE.COM
14
Configuring System Login
uri ldap://ipaserver.example.com/
base dc=example,dc=com
ssl start_tls
tls_checkpeer yes
tls_cacertdir /etc/cacerts/
Note
Ensure that the directory you specify for tls_cacertdir actually exists.
If the tls_cacertdir directive does not work, run the following command to set the
cacert file directly:
# tls_cacert /etc/cacerts/cacert.crt
# cd /etc/cacerts
4. Run the following command to copy the CA certificate from the server to the client:
# wget http://ipaserver.example.com/ipa/config/ca.crt
If you installed IPA using your own PKCS#12 files then this self-signed CA will not exist.
The resulting file name is the hash of the contents of the certificate with a ".0" extension.
6. If more than one CA certificate is required, concatenate these certificates into a single file.
• On the system console, log in as an IPA user. After you have logged in, open a shell and run the
following commands:
$ id (ensure that the user IDs and group IDs are correct)
15
Chapter 2. Configuring Fedora as an IPA Client
If any of these tests fail, refer to the Troubleshooting section in the Administration Guide for
information on how to locate any problems.
# kinit admin
# ipa-addservice nfs/ipaclient.example.com
Note
The Linux NFS implementation still has limited encryption type support. If your NFS
server is hosted on a Linux machine, you may need to use the -e des-cbc-crc
option to the ipa-getkeytab command for any nfs/<FQDN> service keytabs
you want to set up, both on the server and on all clients. This instructs the KDC to
generate only DES keys.
SECURE_NFS=yes
The IPA client should now be fully configured to mount NFS shares using Kerberos credentials. Use
the following command to test the configuration:
16
Configuring Host-Based Access Control
Procedure 2.5. To configure a Fedora IPA client for incoming SSH connections:
1. The IPA client installation process configures the NTP service by default, but you should ensure
that time on the IPA client and server is synchronized. If it is not, run the following commands on
the IPA client:
# ntpdate -s -p 8 -u ipaserver.example.com
Note
The ntpdate command does not work if ntpd is running.
# kinit admin
# ipa-addservice host/ipaclient.example.com
The IPA client should now be fully configured to accept incoming SSH connections and authenticate
with the user's Kerberos credentials. Use the following command on another machine to test the
configuration. This should succeed without asking for a password.
# ssh [email protected]
17
18
Chapter 3.
• Solaris 10 (x86)
Note
Earlier versions of IPA required the use of specific nss_ldap packages that were made
available on the freeipa.org wiki. As of freeIPA 1.2.1, this is no longer the case. Instead,
you can use the native Solaris nss_ldap package and configure it to use the appropriate
IPA services.
If you are already using the above nss_ldap packages, you can run the following
command as root to restore the system to its previous state. You can then proceed to use
the native Solaris packages.
# pkgrm RHATnss-ldap
Configuring NTP
Ensure that NTP is correctly configured and enabled, and that time is synchronized between the client
and the IPA server.
Configuring DNS
Configure the /etc/resolv.conf file to include the correct DNS server. This server must be able to
resolve the IPA Solaris client and IPA server names.
search example.com
nameserver bindserver.example.com
19
Chapter 3. Configuring Solaris as an IPA Client
The following example shows how to set up PAM Kerberos authentication for console login:
ldap_version 3
base cn=compat,dc=example,dc=com
nss_base_passwd cn=users,cn=compat,dc=example,dc=com?sub
nss_base_group cn=groups,cn=compat,dc=example,dc=com?sub
nss_schema rfc2307bis
nss_map_objectclass shadowAccount posixAccount
nss_map_attribute uniqueMember member
nss_initgroups_ignoreusers root,dirsrv
nss_reconnect_maxsleeptime 8
nss_reconnect_sleeptime 1
bind_timelimit 5
timelimit 15
nss_srv_domain example.com
uri ldap://ipaserver.example.com
[libdefaults]
default_realm = EXAMPLE.COM
[realms]
EXAMPLE.COM = {
kdc = ipaserver.example.com:88
admin_server = ipaserver.example.com:749
}
20
Configuring Client SSH Access
[domain_realm]
.example.com = EXAMPLE.COM
example.com = EXAMPLE.COM
[logging]
default = FILE:/var/krb5/kdc.log
kdc = FILE:/var/krb5/kdc.log
kdc_rotate = {
period = 1d
versions = 10
}
[appdefaults]
kinit = {
renewable = true
forwardable= true
}
The Kerberos configuration includes specifying the realm and domain details, and default
ticket attributes. Forwardable tickets are configured by default, which facilitates connection to the
administration interface from any operating system, and also provides for auditing of administration
operations.
The ipa-admintools package is not available for Solaris. Consequently, you need to perform the
following steps on the IPA server.
# ipa-addservice host/solarisipaclient.example.com
Note
After you have performed all of the preceding configuration steps, reboot the Solaris
machine to ensure that all of the changes take effect.
21
Chapter 3. Configuring Solaris as an IPA Client
Note
The NFS v4 configuration is only supported on Solaris 10.
# kinit admin
2. The ipa-admintools package is not available for Solaris. Consequently, you need to perform the
following steps on the IPA server.
# ipa-addservice nfs/solarisipaclient.example.com
Note
The Linux NFS implementation still has limited encryption type support. If your
NFS server is hosted on a Linux machine, you may need to use the -e des-
cbc-crc option to the ipa-getkeytab command for any nfs/<FQDN> service
keytabs you want to set up, both on the server and on all clients. This instructs
the KDC to generate only DES keys.
3. On the IPA client, use the ktutil command to import the contents into the main host keytab.
# ktutil
ktutil: read_kt /tmp/krb5.keytab
ktutil: write_kt /etc/krb5/krb5.keytab
ktutil: q
The IPA client should now be fully configured to mount NFS shares using Kerberos credentials.
22
Configuring Solaris 9 as an IPA Client
kinit
Obtain a Kerberos ticket for an IPA user.
getent
Run the following commands to ensure that getent in Solaris works with IPA.
Console Login
On the system console, provide an IPA username and associated Kerberos password to log in.
NFS v4
Use the following command to test the configuration:
23
Chapter 3. Configuring Solaris as an IPA Client
3.4.1. Troubleshooting
It is possible that the mount command will hang, and return the following error:
# rm -f /tmp/krb*
Warning
Be aware that this will also remove the administrator and user credentials cache, and
any other unrelated credentials cache.
• Obtain a new keytab for the NFS service using -e des-cbc-crc for the IPA client.
• Obtain a new keytab for the NFS service principal with -e des-cbc-crc for the IPA server.
24
Chapter 4.
Before starting the IPA installation, update your system with all the latest packages.
Note
The IPA client installation process requires that an IPA server already exist.
Many of the following procedures and instructions use example host names, domain
names, and realm names for illustration purposes. You need to replace these example
names with those that apply to your own deployment.
4.1. Prerequisites
Before you begin the configuration, ensure that the following software is installed and up to date. This
can be installed from your AIX media:
• v5.3 OS
• v5.3 Updates
• openssh
• wget
• bash
• krb5 server
• ldap.client
• openssl
The Kerberos configuration includes specifying the realm and domain details, and default
ticket attributes. Forwardable tickets are configured by default, which facilitates connection to the
administration interface from any operating system, and also provides for auditing of administration
operations.
25
Chapter 4. Configuring AIX as an IPA Client
# kinit admin
• IPAuser.map
#IPAuser.map file
keyobjectclass SEC_CHAR posixaccount s
• IPAgroup.map
#IPAgroup.map file
groupname SEC_CHAR cn s
id SEC_INT gidNumber s
users SEC_LIST member m
userbasedn:cn=users,cn=accounts,dc=example,dc=com
groupbasedn:cn=groups,cn=accounts,dc=example,dc=com
userattrmappath:/etc/security/ldap/IPAuser.map
groupattrmappath:/etc/security/ldap/IPAgroup.map
userclasses:posixaccount
26
Configuring Client SSH Access
# start-secldapclntd
# lsldap -a passwd
KRB5A:
program = /usr/lib/security/KRB5A
program_64 = /usr/lib/security/KRB5A_64
options = authonly
LDAP:
program = /usr/lib/security/LDAP
program_64 =/usr/lib/security/LDAP64
KRB5ALDAP:
options = auth=KRB5A,db=LDAP
9. Edit the /etc/security/user file, and modify the "default" section as follows:
SYSTEM = "KRB5ALDAP"
registry = LDAP
Procedure 4.2. To configure an AIX IPA client for incoming SSH connections:
1. SSH syslog configuration:
auth.info /var/log/sshd.log
auth.info /var/log/sshd.log
auth.crit /var/log/sshd.log
auth.warn /var/log/sshd.log
auth.notice /var/log/sshd.log
auth.err /var/log/sshd.log
SyslogFacility AUTH
LogLevel INFO
27
Chapter 4. Configuring AIX as an IPA Client
# GSSAPI options
GSSAPIAuthentication yes
#GSSAPICleanupCredentials yes
4. Restart sshd:
# stopsrc -s sshd
# startsrc -s sshd
5. Restart syslogd:
# stopsrc -s syslogd
# startsrc -s syslogd
6. The ipa-admintools package is not available for AIX. Consequently, you need to perform the
following steps on the IPA server.
# ipa-addservice host/ipaclient.example.com
7. On the IPA client, use the ktutil command to import the contents into the main host keytab.
# ktutil
ktutil: read_kt /tmp/krb5.keytab
ktutil: write_kt /etc/krb5/krb5.keytab
ktutil: q
8. Add a user that is only used for authentication. (This can be substituted with krb5 auth if that
works from the ldap client). Otherwise go to the IPA server and use ldapmodify, bind as
Directory Manager and create this user.
dn: uid=nss,cn=sysaccounts,cn=etc,dc=example,dc=com
objectClass: account
objectClass: simplesecurityobject
objectClass: top
uid: nss
userPassword: Your own shared password here
28
Testing System Login
# kinit admin
You should be able to log in as admin using SSH without providing a password.
# ssh [email protected]
On the system console, log in as an IPA user. After you have logged in, open a shell and run the
following command:
$ id (ensure that the user IDs and group IDs are correct)
If this test fails, refer to the Troubleshooting section in the Administration Guide for information on how
to locate any problems.
Note
By default, the admin user is given /bin/bash as the shell to use and /home/admin
as the home directory. You may need to install bash (or link sh to /bin/bash or modify
admin to use /bin/sh or a shell available in all of your systems) to be able to log in.
29
30
Chapter 5.
Before starting the IPA installation, ensure that you update your system with all the latest packages.
To install an HP-UX client you need administrator privileges in the form of the Directory Manager
password. There is no other way to perform the installation.
Note
The IPA client installation process requires that an IPA server already exist.
Many of the following procedures and instructions use example host names, domain
names, and realm names for illustration purposes. You need to replace these example
names with those that apply to your own deployment.
Configuring NTP
Before proceeding with the following configuration steps, ensure that NTP is correctly configured and
enabled, and that time is synchronized between the client and the IPA server.
# swinstall -s J4269AA_B.04.15.01_HP-UX_B.11.23_IA_PA.depot
31
Chapter 5. Configuring HP-UX as an IPA Client
# cd /opt/ldapux/config/
# ./setup
Note
You only need to perform this configuration on the first HP-UX client. All further
configurations only need to know where the LDAP profile is stored. All clients will then
use the same configuration.
32
Configuring Kerberos and PAM
# /opt/ldapux/bin/ldapclientd
4. Run the following commands to ensure that the LDAP client is working:
# ipa-addgroup testgroup
7. Run the nsquery commands again to validate the new user and group:
8. To ensure that the LDAP client daemon starts when the system boots, add the following lines to
the /etc/opt/ldapux/ldapclientd.conf file:
[StartOnBoot]
enable=yes
[libdefaults]
default_realm = EXAMPLE.COM
default_tkt_enctypes = DES-CBC-CRC
default_tgs_enctypes = DES-CBC-CRC
ccache_type = 2
[realms]
EXAMPLE.COM = {
kpasswd_server = ipaserver.example.com
33
Chapter 5. Configuring HP-UX as an IPA Client
kdc = ipaserver.example.com:88
admin_server = ipaserver.example.com:749
default_domain = example.com
}
[domain_realm]
.example.com = EXAMPLE.COM
example.com = EXAMPLE.COM
[appdefaults]
kinit = {
forwardable = true
}
The Kerberos configuration includes specifying the realm and domain details, and default
ticket attributes. Forwardable tickets are configured by default, which facilitates connection to the
administration interface from any operating system, and also provides for auditing administration
operations.
HP-UX 11i v2
Edit the /etc/pam.conf file to reflect the following example:
#
# PAM configuration
#
# This pam.conf file is intended as an example only.
# see pam.conf(4) for more details
#
#
################################################################
# This sample file will authenticate the user who belongs to #
# either Kerberos or Unix system. Using this configuration file#
# if the user is authenticated through Kerberos then the Unix #
# authentication will not be invoked. However,if the Kerberos #
# authentication fails for the user, then the fallback #
# authentication mechanism PAM-Unix will be invoked to #
# authenticate the user.The assumption is the user is either #
# present in Kerberos or in Unix system. #
# #
# In case, the administrator wants the password for all the #
# users to be synchronous between Kerberos and Unix systems, #
# then the control flag should to be set to "required" for all #
# the entries with use_first_pass option set for pam_unix. #
# If password synchronization is optional then try_first_pass #
34
Configuring PAM
################################################################
#
#
# Authentication management
#
login auth required libpam_hpsec.so.1
login auth sufficient libpam_krb5.so.1
login auth required libpam_unix.so.1 try_first_pass
su auth required libpam_hpsec.so.1
su auth sufficient libpam_krb5.so.1
su auth required libpam_unix.so.1 try_first_pass
dtlogin auth required libpam_hpsec.so.1
dtlogin auth sufficient libpam_krb5.so.1
dtlogin auth required libpam_unix.so.1 try_first_pass
dtaction auth required libpam_hpsec.so.1
dtaction auth sufficient libpam_krb5.so.1
dtaction auth required libpam_unix.so.1 try_first_pass
ftp auth required libpam_hpsec.so.1
ftp auth sufficient libpam_krb5.so.1
ftp auth required libpam_unix.so.1 try_first_pass
sshd auth required libpam_hpsec.so.1
sshd auth sufficient libpam_krb5.so.1
sshd auth required libpam_unix.so.1 try_first_pass
OTHER auth required libpam_unix.so.1
#
# Account management
#
login account required libpam_hpsec.so.1
login account sufficient libpam_krb5.so.1
login account required libpam_unix.so.1
su account required libpam_hpsec.so.1
su account sufficient libpam_krb5.so.1
su account required libpam_unix.so.1
dtlogin account required libpam_hpsec.so.1
dtlogin account sufficient libpam_krb5.so.1
dtlogin account required libpam_unix.so.1
dtaction account required libpam_hpsec.so.1
dtaction account sufficient libpam_krb5.so.1
dtaction account required libpam_unix.so.1
ftp account required libpam_hpsec.so.1
ftp account sufficient libpam_krb5.so.1
ftp account required libpam_unix.so.1
35
Chapter 5. Configuring HP-UX as an IPA Client
# Session management
#
login session required libpam_hpsec.so.1
login session sufficient libpam_krb5.so.1
login session required libpam_unix.so.1
dtlogin session required libpam_hpsec.so.1
dtlogin session sufficient libpam_krb5.so.1
dtlogin session required libpam_unix.so.1
dtaction session required libpam_hpsec.so.1
dtaction session sufficient libpam_krb5.so.1
dtaction session required libpam_unix.so.1
sshd session required libpam_hpsec.so.1
sshd session sufficient libpam_krb5.so.1
sshd session required libpam_unix.so.1
OTHER session required libpam_unix.so.1
#
# Password management
#
login password required libpam_hpsec.so.1
login password sufficient libpam_krb5.so.1
login password required libpam_unix.so.1
passwd password required libpam_hpsec.so.1
passwd password sufficient libpam_krb5.so.1
passwd password required libpam_unix.so.1
dtlogin password required libpam_hpsec.so.1
dtlogin password sufficient libpam_krb5.so.1
dtlogin password required libpam_unix.so.1
dtaction password required libpam_hpsec.so.1
dtaction password sufficient libpam_krb5.so.1
dtaction password required libpam_unix.so.1
OTHER password required libpam_unix.so.1
HP-UX 11i v1
Edit the /etc/pam.conf file to reflect the following example:
#
# PAM configuration
#
# This pam.conf file is intended as an example only.
# see pam.conf(4) for more details
#
################################################################
36
Configuring PAM
################################################################
#
# Authentication management
#
login auth sufficient /usr/lib/security/libpam_krb5.1
login auth required /usr/lib/security/libpam_unix.1 try_first_pass
su auth sufficient /usr/lib/security/libpam_krb5.1
su auth required /usr/lib/security/libpam_unix.1 try_first_pass
dtlogin auth sufficient /usr/lib/security/libpam_krb5.1
dtlogin auth required /usr/lib/security/libpam_unix.1 try_first_pass
dtaction auth sufficient /usr/lib/security/libpam_krb5.1
dtaction auth required /usr/lib/security/libpam_unix.1 try_first_pass
ftp auth sufficient /usr/lib/security/libpam_krb5.1
ftp auth required /usr/lib/security/libpam_unix.1 try_first_pass
OTHER auth required /usr/lib/security/libpam_unix.1
#
# Account management
#
login account sufficient /usr/lib/security/libpam_krb5.1
login account required /usr/lib/security/libpam_unix.1
su account sufficient /usr/lib/security/libpam_krb5.1
su account required /usr/lib/security/libpam_unix.1
dtlogin account sufficient /usr/lib/security/libpam_krb5.1
dtlogin account required /usr/lib/security/libpam_unix.1
dtaction account sufficient /usr/lib/security/libpam_krb5.1
dtaction account required /usr/lib/security/libpam_unix.1
ftp account sufficient /usr/lib/security/libpam_krb5.1
ftp account required /usr/lib/security/libpam_unix.1
OTHER account required /usr/lib/security/libpam_unix.1
#
# Session management
37
Chapter 5. Configuring HP-UX as an IPA Client
#
login session sufficient /usr/lib/security/libpam_krb5.1
login session required /usr/lib/security/libpam_unix.1
dtlogin session sufficient /usr/lib/security/libpam_krb5.1
dtlogin session required /usr/lib/security/libpam_unix.1
dtaction session sufficient /usr/lib/security/libpam_krb5.1
dtaction session required /usr/lib/security/libpam_unix.1
OTHER session required /usr/lib/security/libpam_unix.1
#
# Password management
#
login password sufficient /usr/lib/security/libpam_krb5.1
login password required /usr/lib/security/libpam_unix.1
passwd password sufficient /usr/lib/security/libpam_krb5.1
passwd password required /usr/lib/security/libpam_unix.1
dtlogin password sufficient /usr/lib/security/libpam_krb5.1
dtlogin password required /usr/lib/security/libpam_unix.1
dtaction password sufficient /usr/lib/security/libpam_krb5.1
dtaction password required /usr/lib/security/libpam_unix.1
OTHER password required /usr/lib/security/libpam_unix.1
Refer to the HP-UX documentation on pam_authz for details on how to configure access control for
HP-UX systems: http://docs.hp.com/en/B3921-60631/pam_authz.5.html
http://software.hp.com/portal/swdepot/displayProductInfo.do?
productNumber=T1471AA
38
Configuring Access Control
Host *
GSSAPIAuthentication yes
PreferredAuthentications "gssapi-with-mic,publickey,password"
Important
Ensure that you include the tab character before the "GSSAPIAuthentication"
and "PreferredAuthentications" entries, and the double quotes around the
"PreferredAuthentications" argument.
# ipa-addservice host/hpuxipaclient.example.com
# pam_authz.policy.template:
#
# An example file that could be copied over to /etc/opt/ldapux/
pam_authz.policy.
# pam_authz.policy is a local policy file that PAM_AUTHZ would use to help
# determine which users would be allowed to login to the local host.
#
# In this template file, by default, the only active access rule is
# "allow:unix_local_user"
39
Chapter 5. Configuring HP-UX as an IPA Client
deny:unix_group:admins
allow:unix_local_user
This configuration will prevent the admin user from logging in, but local UNIX users can still log in.
• On the HP-UX client machine, run kinit admin and enter the password.
# kinit admin
# ssh [email protected]
The admin user should be able to log in using SSH without being asked for a password.
• On the HP-UX client console, at the login prompt, enter the Administrator's login ID and password.
The admin user should be able to log in from the console.
40
Testing the Configuration
Note
By default, the admin user is given /bin/bash as the shell to use and /home/admin as
the home directory. You may need to install bash (or link sh to /bin/bash or modify admin
to use /bin/sh or a shell available in all of your systems) to be able to log in.
41
42
Chapter 6.
Before starting the IPA installation, ensure that you update the system with all the latest packages.
Note
The IPA client installation process requires that an IPA server already exist.
Many of the following procedures and instructions use example host names, domain
names, and realm names for illustration purposes. You need to replace these example
names with those that apply to your own deployment.
2. Launch /System/Library/Coreservices/Kerberos
4. On the Settings tab, enter the IPA server's Kerberos realm (for example, EXAMPLE.COM).
5. On the Servers tab, leave two lines, whose hostnames you then need to replace with the IPA
server's hostname (for example, ipaserver.example.com):
kdc ipaserver.example.com 88
admin ipaserver.example.com 749
43
Chapter 6. Configuring Macintosh OS X as an IPA Client
6. On the Domains tab, replace the existing domains with the IPA server's actual domain (such as
example.com):
.example.com
example.com
7. Click Make default to create the necessary configuration file, and then close the Kerberos tool.
This file should look similar to the following example. Remember to replace the example.com
settings with your own IPA server name, Kerberos realm and domain details.
[domain_realm]
example.com = EXAMPLE.COM
.example.com = .EXAMPLE.COM
[libdefaults]
default_realm = EXAMPLE.COM
dns_lookup_realm = true
dns_lookup_kdc = true
ticket_lifetime = 24h
forwardable = yes
[realms]
EXAMPLE.COM = {
admin_server = ipaserver.example.com:749
default_domain = example.com
kdc = ipaserver.example.com:88
}
The Kerberos configuration includes specifying the realm and domain details, and default
ticket attributes. Forwardable tickets are configured by default, which facilitates connection to the
administration interface from any operating system, and also provides for auditing of administration
operations.
2. Change to the /private/etc directory and make a backup of the existing authorization file.
# cd /private/etc
# cp -p authorization authorization_bak
44
Configuring LDAP Authorization
4. Locate the dict entry below this string, and then locate the mechanisms entry.
Warning
Several instances of authinternal may occur in this file. Ensure that you change
the correct instance.
2. On the Services tab, clear all check boxes except LDAPv3 and Bonjour.
4. Ensure the Add DHCP-supplied LDAP servers check box is not selected.
5. Click the arrow next to the Show Options label, and then click New.
7. Clear the Encrypt using SSL check box, and then click Manual.
9. Ensure that the Enable check box is selected, and that the SSL check box is cleared.
45
Chapter 6. Configuring Macintosh OS X as an IPA Client
b. In the Record Types and Attributes panel, select Default Attribute Types, and then click
Add.
c. Select the Attribute Types option, select RecordName from the list, and then click OK.
d. Select the newly-added RecordName attribute, and then click Add under the Map to any
items in list panel.
e. Type "uid" (without the quotes) in the text box. Click outside of the text box to set the value.
b. Select the Record Types option, select Users from the list, and then click OK.
c. Select the newly-added Users record type, and then click Add under the Map to any items
in list panel.
d. Type "inetOrgPerson" (without the quotes) in the text box. Click outside of the text box to set
the value.
e. In the Search base field, type "dc=example,dc=com" (without the quotes), and select the
Search in all subtrees option.
46
Configuring the LDAP Authorization Options
5. Add attributes to the Users record as appropriate for your deployment. The following is an
example of the required procedure.
b. Select the Attribute Types option, and then use Command-Click to select the attributes that
you want to add. For example, a typical deployment might include the following attributes:
• AuthenticationAuthority
• PrimaryGroupID
• RealName
• RecordName
• UniqueID
• UserShell
6. Specify appropriate mappings for the attributes that you just added. For example:
a. Select the Authentication Authority record type, and then click Add under the Map to any
items in list panel.
e. Continue until all required entries have been mapped, and then click OK.
Procedure 6.5. To add LDAP to the list of locations to search for authentication information:
1. On the Authentication tab, change the Search value to Custom path, and then click Add.
2. Select the configuration that you added in the Creating the LDAP Configuration step, and then
click Add.
3. Click Apply to update the LDAP configuration, and then exit the Directory Access application.
47
Chapter 6. Configuring Macintosh OS X as an IPA Client
Procedure 6.7. To test for correct SSH connectivity to the IPA server:
1. Obtain a Kerberos ticket for the admin user.
# kinit admin
2. If you have a valid Kerberos ticket, SSH should proceed with GSSAPI authentication without
asking for a password:
# ssh [email protected]
2. After you have logged in, open a terminal and run the following commands:
Note
To open the Terminal application, navigate to Applications/Utilities/Terminal.app or use
the keyboard shortcut Command-Shift-U. You can also drag the Terminal icon to the
Dock to make it permanently available on your Desktop.
48
Chapter 7.
Note
freeIPA 1.2.1 does not support Microsoft Windows client authentication.
Refer to the IPA Release Notes for information on which versions of Microsoft Windows support this
configuration.
2. Read the license agreement and then click I Agree to accept the agreement.
3. Ensure you choose to install KfW Client; the other components are optional.
5. Select Download from web path, and enter the following URL:
6. Select Autostart the Network Identity Manager each time you login to Windows.
7. Click Install to begin the installation. When the installation is complete, click Finish to exit the
Wizard.
8. Edit the hosts file and add the IPA server. For example:
Depending on the version of Windows, the HOSTS file could be located in different directories.
For example:
49
50
Chapter 8.
2. Click the IPA Certificate Authority link to import the IPA CA into the browser.
3. In the Downloading Certificate dialog, select the required trusts and then click OK.
4. Press F5 to reload the web page, and then click Configure Firefox.
5. In the Internet Security dialog, click Allow to enable the IPA script to automatically configure the
browser settings.
51
Chapter 8. Configuring Your Browser
If you are using an operating system other than Red Hat Enterprise Linux or Fedora, use the following
procedure to configure Firefox:
52
3. Ensure the following lines reflect your setup. Replace ".example.com" with your own IPA server's
domain, including the preceding period (.):
network.negotiate-auth.trusted-uris .example.com
network.negotiate-auth.delegation-uris .example.com
network.negotiate-auth.using-native-gsslib true
4. • If you are configuring Firefox on Microsoft Windows, make the following changes instead:
network.negotiate-auth.trusted-uris .example.com
network.auth.use-sspi false
5. In Firefox, navigate to the IPA server (use the fully-qualified domain name, for example, http://
ipaserver.example.com). Ensure that there are no Kerberos authentication errors, and that
you can see and interact with the Web interface.
If you have issues connecting to the IPA server using your web browser, refer to the Troubleshooting
section of the IPA Administration Guide.
53
54
Appendix A. Revision History
Revision 1.2 6 Jan, 2009 David O'Brien [email protected]
BZ 474212. Update HP-UX access control doc.
BZ 476060. Update installation procedure for RHEL 5 client packages.
BZ 474253. Document passwordless SSH login restriction for RHEL 3.
BZ 475416. Add client configuration steps for RHEL 2.1 and 3.
BZ 470605. Document SSH access for HP-UX.
BZ 471994. Updates to AIX configuration.
BZ 469995. Updates from Tech Review.
55
56