By requiring authentication for use of mounted NFS file systems, you increase the security of your network.
Assume the Primary Administrator role, or become superuser.
The Primary Administrator role includes the Primary Administrator profile. To create the role and assign the role to a user, see Chapter 2, Working With the Solaris Management Console (Tasks), in System Administration Guide: Basic Administration.
Verify that the keyserv daemon is running.
# svcs \*keyserv\* STATE STIME FMRI disabled Dec_14 svc:/network/rpc/keyserv |
Enable the keyserver service if the service is not online.
# svcadm enable network/rpc/keyserv |
This procedure should be done on every host in the NIS+ domain. After root has run the keylogin command, the server has GSS-API acceptor credentials for mech_dh and the client has GSS-API initiator credentials.
For a detailed description of NIS+ security, see System Administration Guide: Naming and Directory Services (NIS+).
Assume the Primary Administrator role, or become superuser.
The Primary Administrator role includes the Primary Administrator profile. To create the role and assign the role to a user, see Chapter 2, Working With the Solaris Management Console (Tasks), in System Administration Guide: Basic Administration.
Enable the publickey table in the name service.
Add the following line to the /etc/nsswitch.conf file:
publickey: nisplus |
Initialize the NIS+ client.
# nisinit -cH hostname |
where hostname is the name of a trusted NIS+ server that contains an entry in its tables for the client system.
Add the client to the cred table.
Type the following commands:
# nisaddcred local # nisaddcred des |
Verify the setup by using the keylogin command.
If you are prompted for a password, the procedure has succeeded.
# keylogin Password: |
The following example uses the host pluto to set up earth as an NIS+ client. You can ignore the warnings. The keylogin command is accepted, verifying that earth is correctly set up as a secure NIS+ client.
# nisinit -cH pluto NIS Server/Client setup utility. This system is in the example.com. directory. Setting up NIS+ client ... All done. # nisaddcred local # nisaddcred des DES principal name : unix.earth@example.com Adding new key for unix.earth@example.com (earth.example.com.) Network password:<Type password> Warning, password differs from login password. Retype password: <Retype password> # keylogin Password: <Type password> # |
This procedure should be done on every user in the NIS+ domain.
Assume the Primary Administrator role, or become superuser.
The Primary Administrator role includes the Primary Administrator profile. To create the role and assign the role to a user, see Chapter 2, Working With the Solaris Management Console (Tasks), in System Administration Guide: Basic Administration.
Add the user to the cred table on the root master server.
Type the following command:
# nisaddcred -p unix.UID@domain-name -P username.domain-name. des |
Note that, in this case, the username.domain-name must end with a dot (.).
Verify the setup by logging in as the client and typing the keylogin command.
In the following example, a key for Diffie-Hellman authentication is given to the user jdoe.
# nisaddcred -p unix.1234@example.com -P jdoe.example.com. des DES principal name : unix.1234@example.com Adding new key for unix.1234@example.com (jdoe.example.com.) Password: <Type password> Retype password:<Retype password> # rlogin rootmaster -l jdoe % keylogin Password: <Type password> % |
This procedure should be done on every host in the NIS domain.
Assume the Primary Administrator role, or become superuser.
The Primary Administrator role includes the Primary Administrator profile. To create the role and assign the role to a user, see Chapter 2, Working With the Solaris Management Console (Tasks), in System Administration Guide: Basic Administration.
Enable the publickey map in the name service.
Add the following line to the /etc/nsswitch.conf file:
publickey: nis |
Create a new key pair by using the newkey command.
# newkey -h hostname |
where hostname is the name of the client.
In the following example, earth is set up as a secure NIS client.
# newkey -h earth Adding new key for unix.earth@example.com New Password: <Type password> Retype password:<Retype password> Please wait for the database to get updated... Your new key has been successfully stored away. # |
This procedure should be done for every user in the NIS domain.
Only system administrators, when logged in to the NIS master server, can generate a new key for a user.
Assume the Primary Administrator role, or become superuser.
The Primary Administrator role includes the Primary Administrator profile. To create the role and assign the role to a user, see Chapter 2, Working With the Solaris Management Console (Tasks), in System Administration Guide: Basic Administration.
Create a new key for a user.
# newkey -u username |
where username is the name of the user. The system prompts for a password. You can type a generic password. The private key is stored in an encrypted form by using the generic password.
Tell the user to log in and type the chkey -p command.
This command allows users to re-encrypt their private keys with a password known only to the user.
The chkey command can be used to create a new key pair for a user.
In this example, superuser sets up the key.
# newkey -u jdoe Adding new key for unix.12345@example.com New Password: <Type password> Retype password:<Retype password> Please wait for the database to get updated... Your new key has been successfully stored away. # |
Then the user jdoe re-encrypts the key with a private password.
% chkey -p Updating nis publickey database. Reencrypting key for unix.12345@example.com Please enter the Secure-RPC password for jdoe:<Type password> Please enter the login password for jdoe: <Type password> Sending key change request to centralexample... |
This procedure protects shared file systems on an NFS server by requiring authentication for access.
Diffie-Hellman public key authentication must be enabled on the network. To enable authentication on the network, do one of the following:
Become superuser or assume a role that includes the System Management profile.
The System Administrator role includes the System Management profile. To create the role and assign the role to a user, see Configuring RBAC (Task Map).
On the NFS server, share a file system with Diffie-Hellman authentication.
# share -F nfs -o sec=dh /filesystem |
where filesystem is the file system that is being shared.
The -o sec=dh option means that AUTH_DH authentication is now required to access the file system.
On an NFS client, mount a file system with Diffie-Hellman authentication.
# mount -F nfs -o sec=dh server:filesystem mount-point |
Is the name of the system that is sharing filesystem
Is the name of the file system that is being shared, such as opt
Is the name of the mount point, such as /opt
The -o sec=dh option mounts the file system with AUTH_DH authentication.