Sun Enterprise Authentication Mechanism 1.0.1 ガイド

セキュリティの向上

これらの手順を使用すると、SEAM アプリケーションサーバーと KDC サーバー上でセキュリティを強化することができます。

Kerberos 化されたアプリケーションだけを有効にするには

この手順は、telnetftprcprsh、および rlogin によるサーバーへのネットワークアクセスを、Kerberos 認証されたトランザクションだけに制限します。

  1. /etc/inetd.conftelnet エントリを編集します。

    -a user オプションを telnet エントリに追加して、有効な認証情報を提供できるユーザーだけにアクセスを制限します。


    telnet stream  tcp     nowait  root    /usr/krb5/lib/telnetd  telnetd -a user
    
  2. /etc/inetd.confftp エントリを編集します。

    -a オプションを ftp エントリに追加して、Kerberos 認証された接続だけを許可します。


    ftp stream  tcp     nowait  root    /usr/krb5/lib/ftpd    ftpd -a
    
  3. /etc/inetd.conf の他のサービスの Solaris エントリを無効にします。

    shelllogin のエントリはコメント化または削除する必要があります。


    # shell   stream  tcp     nowait  root    /usr/sbin/in.rshd       in.rshd
    # login   stream  tcp     nowait  root    /usr/sbin/in.rlogind    in.rlogind

KDC サーバーへのアクセスを制限するには

マスターとスレーブの KDC サーバーは両方とも KDC データベースのコピーをローカルに格納しています。これらのサーバーへのアクセスを制限して、データベースのセキュリティを保護することは、SEAM をインストールする場合のセキュリティ全体にとって重要です。

  1. /etc/inetd.conf でリモートサービスを無効にします。

    KDC サーバーでセキュリティを保護するためには、重要ではないネットワークサービスをすべて無効にします。つまり、/etc/inetd.conf で、このようなサービスを起動するエントリをコメント化します。ほとんどの環境では、実行する必要のあるサービスは timekrdb5_kprop です。さらに、ループバック tli (ticltsticotsord、および ticlts) を使用するサービスは有効のままでもかまいません。編集後、ファイルは次のようになります (簡潔にするため、コメントの多くは削除されています)。


    kdc1 # cat /etc/inetd.conf
    #
    #ident  "@(#)inetd.conf 1.33    98/06/02 SMI"   /* SVr4.0 1.5   */
      .
      .#name     dgram   udp     wait    root    /usr/sbin/in.tnamed     in.tnamed
    ##shell    stream  tcp     nowait  root    /usr/sbin/in.rshd       in.rshd
    #login    stream  tcp     nowait  root    /usr/sbin/in.rlogind    in.rlogind
    #exec     stream  tcp     nowait  root    /usr/sbin/in.rexecd     in.rexecd
    #comsat   dgram   udp     wait    root    /usr/sbin/in.comsat     in.comsat
    #talk     dgram   udp     wait    root    /usr/sbin/in.talkd      in.talkd
    #
    #uucp     stream  tcp     nowait  root    /usr/sbin/in.uucpd      in.uucpd
    #
    #finger   stream  tcp     nowait  nobody  /usr/sbin/in.fingerd    in.fingerd
    #
    # Time service is used for clock synchronization.
    #
    time      stream  tcp     nowait  root    internal
    time      dgram   udp     wait    root    internal
    # 
      .
      .
    #
    100234/1  tli rpc/ticotsord wait  root    /usr/lib/gss/gssd     gssd 
    
    #dtspc    stream  tcp     nowait  root    /usr/dt/bin/dtspcd      /usr/dt/bin/dtspcd
    #100068/2-5 dgram rpc/udp wait    root    /usr/dt/bin/rpc.cmsd    rpc.cmsd
    100134/1 tli rpc/ticotsord wait   root    /usr/lib/ktkt_warnd kwarnd
    #klogin   stream  tcp     nowait  root    /usr/krb5/lib/rlogind   rlogind -k
    #eklogin  stream  tcp     nowait  root    /usr/krb5/lib/rlogind   rlogind -k -e
    #telnet   stream  tcp     nowait  root    /usr/krb5/lib/telnetd   telnetd
    #ftp      stream  tcp     nowait  root    /usr/krb5/lib/ftpd      ftpd
    #kshell   stream  tcp     nowait  root    /usr/krb5/lib/rshd      rshd -k -c -A
    
    krb5_prop stream  tcp     nowait  root    /usr/krb5/lib/kpropd  kpropd

    変更後、サーバーをリブートします。

  2. KDC をサポートするハードウェアへのアクセスを制限します。

    物理的なアクセスを制限するため、サーバーとそのモニターは安全な場所に置きます。一般ユーザーは絶対にこのサーバーにアクセスできないようにしてください。

  3. KDC データベースのバックアップをローカルのディスクまたはスレーブに格納します。

    KDC のバックアップをテープで行う場合、そのテープはセキュリティの保護される場所に保存してください。これは、keytab ファイルのコピーの場合も同様です。このようなファイルは、他のシステムと共有していないローカルのファイルシステムに格納するのが最適です。格納用のファイルシステムは、マスター KDC サーバーまたは任意のスレーブのどちらに置くこともできます。