Solaris のシステム管理 (第 3 巻)

Secure NFS システムの管理

Secure NFS システムを使用するには、自分が責任を持つすべてのコンピュータにドメイン名が必要です。「ドメイン」とは管理上のエンティティであり、通常、大きなネットワークに参加する複数のコンピュータから構成されます。NIS+ を実行している場合、そのドメインに対して NIS+ ネームサービスを設定しなければなりません。『Solaris ネーミングの設定と構成』を参照してください。

Secure NFS 環境は、認証に Diffie-Hellman (DH) を使用するように設定できます。これらの認証サービスについては、『Solaris のシステム管理 (第 2 巻)』の「システムセキュリティの管理の概要」を参照してください。

DH 認証を使用して Secure NFS 環境を設定する方法

  1. ドメインにドメイン名を割り当て、そのドメイン名をドメイン内の各コンピュータに知らせます。

    ネームサービスとして NIS+ を使用している場合は、『Solaris ネーミングの管理』を参照してください。

  2. newkey または nisaddcred コマンドを使用してクライアントのユーザーの公開鍵と秘密鍵を設定して、各ユーザーに chkey コマンドを使用して各自の Secure 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

    keyserv デーモンが動作していない場合は、次の内容を入力してキーサーバーを起動します。


    # /usr/sbin/keyserv
    
  5. 秘密鍵の復号化と保存を実行します。

    通常、ログインパスワードはネットワークパスワードと同じです。この場合、keylogin は不要です。ログインパスワードとネットワークパスワードが異なる場合、ユーザーはログインしてから keylogin を実行しなければなりません。 また、keylogin -r を root として実行し、復号化した秘密鍵を /etc/.rootkey に保存しなければなりません。


    注 -

    keylogin -r は、root の秘密鍵が変更されたか、/etc/.rootkey が損失した場合にのみ、実行する必要があります。


  6. ファイルシステムに対するマウントオプションを更新します。

    /etc/dfs/dfstab ファイルを編集し、任意のエントリ (Diffie-Hellman 認証) に sec=dh オプションを追加します。


    share -F nfs -o sec=dh /export/home
    
  7. ファイルシステムに対するオートマウンタマップを更新します。

    auto_master データを編集し、任意のエントリ (Diffie-Hellman 認証) 内にマウントオプションとして sec=dh を含めます。


    /home	auto_home	-nosuid,sec=dh

    注 -

    リリース 2.5 以前の Solaris では、セキュリティ保護されているものとして共有されているファイルシステムを、セキュリティ保護されたものとしてクライアントがマウントしないと、ユーザーはそのユーザー本来の立場ではなく未認証としてのアクセス権しか得られません。Solaris 2.5 以降の NFS バージョン 2 では、セキュリティモードが一致しないと、share コマンド行に -sec=none が指定されていない限り、NFS サーバーによってアクセスが拒否されます。NFS のバージョン 3 では、セキュリティ保護されていることを示すモードが NFS サーバーから引き継がれるので、クライアントが sec=krb4sec=dh を指定する必要はありません。ユーザーは、そのユーザー自身としてファイルにアクセスできます。


    コンピュータを設置し直したり、移設したり、アップグレードしたりするときに、新しい鍵を設定せず、root 用の鍵も変更しない場合は、必ず /etc/.rootkey を保存してください。/etc/.rootkey を削除する場合は、次のコマンドを実行してください。


    # keylogin -r