系统管理指南:安全性服务

使用安全 RPC 管理验证

通过要求对已挂载 NFS 文件系统的使用进行验证,可以增强网络的安全性。

Procedure如何重新启动安全 RPC Keyserver

  1. 承担主管理员角色,或成为超级用户。

    主管理员角色拥有主管理员配置文件。要创建角色并将角色指定给用户,请参见《系统管理指南:基本管理》中的第 2  章 “使用 Solaris Management Console(任务)”

  2. 检验 keyserv 守护进程是否正在运行。


    # svcs \*keyserv\*
    
    STATE    STIME   FMRI
    
    disabled Dec_14  svc:/network/rpc/keyserv
  3. 如果 keyserver 服务未联机,则启用此服务。


    # svcadm enable network/rpc/keyserv
    

Procedure如何为 NIS+ 主机设置 Diffie-Hellman 密钥

应该针对 NIS+ 域中的每个主机执行此过程。以 root 身份运行 keylogin 命令之后,服务器便会具有 mech_dh 的 GSS-API 接收器凭证,而客户机具有 GSS-API 启动器凭证。

有关 NIS+ 安全性的详细说明,请参见《System Administration Guide: Naming and Directory Services (NIS+)》

  1. 承担主管理员角色,或成为超级用户。

    主管理员角色拥有主管理员配置文件。要创建角色并将角色指定给用户,请参见《系统管理指南:基本管理》中的第 2  章 “使用 Solaris Management Console(任务)”

  2. 在名称服务中启用 publickey 表。

    将以下行添加到 /etc/nsswitch.conf 文件中:


    publickey: nisplus
  3. 初始化 NIS+ 客户机。


    # nisinit -cH hostname
    

    其中,hostname 是其表中包含客户机系统项的受信任 NIS+ 服务器的名称。

  4. 将客户机添加到 cred 表中。

    键入以下命令:


    # nisaddcred local
    
    # nisaddcred des
    
  5. 使用 keylogin 命令检验此设置。

    如果系统提示键入口令,则表示此过程已经成功。


    # keylogin
    
    Password:

示例 15–1 在 NIS+ 客户机上为 root 设置新密钥

以下示例使用主机 plutoearth 设置为 NIS+ 客户机。您可以忽略警告。系统将接受 keylogin 命令,检验 earth 是否已正确设置为安全 NIS+ 客户机。


# 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:<键入口令>

Warning, password differs from login password.

Retype password: <重新键入口令>

# keylogin

Password:        <键入口令>

#

Procedure如何为 NIS+ 用户设置 Diffie-Hellman 密钥

应该针对 NIS+ 域中的每个用户执行此过程。

  1. 承担主管理员角色,或成为超级用户。

    主管理员角色拥有主管理员配置文件。要创建角色并将角色指定给用户,请参见《系统管理指南:基本管理》中的第 2  章 “使用 Solaris Management Console(任务)”

  2. 在根主服务器上将用户添加到 cred 表中。

    键入以下命令:


    # nisaddcred -p unix.UID@domain-name -P username.domain-name. des
    

    请注意,在这种情况下,username.domain-name 必须以点 (.) 结束。

  3. 通过以客户身份登录并键入 keylogin 命令来检验此设置。


示例 15–2 为 NIS+ 用户设置新密钥

在以下示例中,将为用户 jdoe 提供 Diffie-Hellman 验证密钥。


# 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:       <键入口令>

Retype password:<重新键入口令>

# rlogin rootmaster -l jdoe

% keylogin

Password:       <键入口令>

%

Procedure如何为 NIS 主机设置 Diffie-Hellman 密钥

应该针对 NIS 域中的每个主机执行此过程。

  1. 承担主管理员角色,或成为超级用户。

    主管理员角色拥有主管理员配置文件。要创建角色并将角色指定给用户,请参见《系统管理指南:基本管理》中的第 2  章 “使用 Solaris Management Console(任务)”

  2. 在名称服务中启用 publickey 映射。

    将以下行添加到 /etc/nsswitch.conf 文件中:


    publickey: nis
  3. 使用 newkey 命令创建一个新的密钥对。


    # newkey -h hostname
    

    其中,hostname 是客户机的名称。


示例 15–3 在 NIS 客户机上为 root 设置新密钥

在以下示例中,会将 earth 设置为安全 NIS 客户机。


# newkey -h earth

Adding new key for unix.earth@example.com

New Password:   <键入口令>

Retype password:<重新键入口令>

Please wait for the database to get updated...

Your new key has been successfully stored away.

#

Procedure如何为 NIS 用户设置 Diffie-Hellman 密钥

应该针对 NIS 域中的每个用户执行此过程。

开始之前

只有系统管理员在登录到 NIS 主服务器时才能为用户生成新密钥。

  1. 承担主管理员角色,或成为超级用户。

    主管理员角色拥有主管理员配置文件。要创建角色并将角色指定给用户,请参见《系统管理指南:基本管理》中的第 2  章 “使用 Solaris Management Console(任务)”

  2. 为用户创建新密钥。


    # newkey -u username
    

    其中,username 是用户的名称。系统将提示键入口令。您可以键入通用口令。将使用此通用口令以加密格式存储私钥。

  3. 通知用户登录并键入 chkey -p 命令。

    此命令允许用户使用只有其自己知道的口令重新加密其私钥。


    注 –

    可以使用 chkey 命令为用户创建新密钥对。



示例 15–4 在 NIS 中设置并加密新用户密钥

在此示例中,超级用户将设置密钥。


# newkey -u jdoe

Adding new key for unix.12345@example.com

New Password:   <键入口令>

Retype password:<重新键入口令>

Please wait for the database to get updated...

Your new key has been successfully stored away.

#

然后,用户 jdoe 将使用私人口令对此密钥进行重新加密。


% chkey -p

Updating nis publickey database.

Reencrypting key for unix.12345@example.com

Please enter the Secure-RPC password for jdoe:<键入口令>

Please enter the login password for jdoe:     <键入口令>

Sending key change request to centralexample...

Procedure如何通过 Diffie-Hellman 验证共享 NFS 文件

此过程通过要求访问验证来保护 NFS 服务器上的共享文件系统。

开始之前

必须在网络中启用 Diffie-Hellman 公钥验证。要在网络中启用验证,请执行以下操作之一:

  1. 成为超级用户或承担拥有系统管理配置文件的角色。

    系统管理员角色拥有系统管理配置文件。要创建该角色并将其指定给用户,请参见配置 RBAC(任务列表)

  2. 在 NFS 服务器上,通过 Diffie-Hellman 验证共享文件系统。


    # share -F nfs -o sec=dh /filesystem
    

    其中,filesystem 是要共享的文件系统。

    -o sec=dh 选项意味着现在需要通过 AUTH_DH 验证来访问文件系统。

  3. 在 NFS 客户机上,通过 Diffie-Hellman 验证挂载文件系统。


    # mount -F nfs -o sec=dh server:filesystem mount-point
    
    server

    共享 filesystem 的系统的名称

    filesystem

    共享的文件系统的名称,例如 opt

    mount-point

    挂载点的名称,例如 /opt

    -o sec=dh 选项通过 AUTH_DH 验证挂载文件系统。