系统管理指南:网络服务

Procedure如何设置使用 DH 验证的安全 NFS 环境

  1. 为域指定域名,并使域中的每台计算机都可识别该域名。

    如果使用 NIS+ 作为名称服务,请参见《System Administration Guide: Naming and Directory Services (NIS+)》

  2. 使用 newkeynisaddcred 命令为客户机用户创建公钥和私钥。使每个用户使用 chkey 命令建立其各自的安全 RPC 口令。


    注 –

    有关这些命令的信息,请参见 newkey(1M)nisaddcred(1M)chkey(1) 手册页。


    生成公钥和私钥后,公钥和加密的私钥会存储在 publickey 数据库中。

  3. 验证名称服务是否正在响应。如果运行的是 NIS+,请键入以下内容:


    # nisping -u
    
    Last updates for directory eng.acme.com. :
    
    Master server is eng-master.acme.com.
    
            Last update occurred at Mon Jun  5 11:16:10 1995
    
    
    
    Replica server is eng1-replica-replica-58.acme.com.
    
            Last Update seen was Mon Jun  5 11:16:10 1995

    如果运行的是 NIS,请验证 ypbind 守护进程是否正在运行。

  4. 验证密钥服务器的 keyserv 守护进程是否正在运行。

    键入以下命令。


    # ps -ef | grep keyserv
    
    root    100      1  16    Apr 11 ?        0:00 /usr/sbin/keyserv
    
    root   2215   2211   5  09:57:28 pts/0    0:00 grep keyserv

    如果守护进程未运行,请键入以下内容以启动密钥服务器:


    # /usr/sbin/keyserv
    
  5. 解密并存储私钥。

    通常,登录口令与网络口令相同。在这种情况下,不需要 keylogin。如果口令不同,则用户必须登录,然后运行 keylogin。您仍然需要以 root 身份使用 keylogin -r 命令将解密的私钥存储在 /etc/.rootkey 中。


    注 –

    如果 root 私钥发生更改或如果 /etc/.rootkey 丢失,则需要运行 keylogin -r


  6. 更新文件系统的挂载选项。

    对于 Diffie-Hellman 验证,请编辑 /etc/dfs/dfstab 文件并向相应项中添加 sec=dh 选项。


    share -F nfs -o sec=dh /export/home
    

    有关 /etc/dfs/dfstab 的说明,请参见 dfstab(4) 手册页。

  7. 更新文件系统的自动挂载程序映射。

    编辑 auto_master 数据,将 sec=dh 作为挂载选项包括在 Diffie-Hellman 验证的相应项中:


    /home	auto_home	-nosuid,sec=dh

    注 –

    Solaris 2.5 前后的发行版有一个限制。如果客户机未安全地挂载安全共享的文件系统,则用户有权以 nobody 身份而不是以其自身身份进行访问。对于使用版本 2 的后续发行版,如果安全模式不匹配,NFS 服务器将拒绝访问,除非 share 命令行中包括 -sec=none。如果使用版本 3,则可从 NFS 服务器中继承该模式,因此客户机无需指定 sec=dh。用户有权以其自身身份访问文件。


    重新安装、移动或升级计算机时,如果未建立新的密钥或更改了 root 的密钥,请记住保存 /etc/.rootkey。如果确实删除了 /etc/.rootkey,则可以始终键入以下内容:


    # keylogin -r