セキュリティー -> Kerberos

Kerberos Linux設定ガイド

設定

構成

     構成今回は、3台のLinuxを使用して実習を行う。
     各サーバの目的は以下の通りとする。
     kdckrb:KDC(クライアントからのチケット要求に対応する)
     srvkrb:kerberos利用サーバ(クライアントから提示されたチケットでサービスを提供する)
     clikrb:クライアント(チケットを要求し受け取る。受け取ったチケットでサービスを利用する)

     Linux(FedoraCore6)

インストール

      (1) RPMによるインストール

      (2) ソースからのインストール

         パッケージ:krb5.1.5.tar.gz  ( 取得先  http://web.mit.edu/Kerberos/ )

         # ./configure    ( 初期値 prefix=/usr/local )
         # make
         # make install

       KDCデータベース配置ディレクトリの作成

         # mkdir /usr/local/var/krb5kdc/

設定ファイル

/etc/krb5.conf
      [libdefaults]
        default_realm = SAMPLE.ORG

      [realms]
        SAMPLE.ORG = {
                kdc = krbkdc.sample.org
                admin_server = krbkdc.sample.org
                default_domain = sample.org
        }

       [domain_realm]
          sample.org = SAMPLE.ORG
          .sample.org = SAMPLE.ORG

       [logging]
          kdc = FILE:/var/log/krb5kdc.log
          admin_server = FILE:/var/log/kadmin.log
          default = FILE:/var/log/krb5lib.log
/usr/local/var/krb5kdc/kdc.conf
       [kdcdefaults]
            kdc_ports = 750,88
       [realms]
        SAMPLE.ORGU = {
                database_name = /usr/local/krb/var/krb5kdc/principal
                admin_keytab = /usr/local/krb/var/krb5kdc/kadm5.keytab
                acl_file = /usr/local/krb/var/krb5kdc/kadm5.acl
                dict_file = /usr/local/krb/var/krb5kdc/kadm5.dict
                key_stash_file = /usr/local/krb/var/krb5kdc/.k5.SAMPLE.ORG
                kadmind_port = 749
                max_life = 10h 0m 0s
                max_renewable_life = 7d 0h 0m 0s
                master_key_type = des3-hmac-sha1
                supported_enctypes = des3-hmac-sha1:normal des-cbc-crc:normal
        }

データベース作成

   # kdb5_util create -s

   # ls /usr/local/krb/var/krb5kdc/
   .k5.SAMPLE.ORG	# 上記で入力したパスワードのスタッシュファイル
   kdc.conf		# 以前作成したKDC設定ファイル
   principal		# KDCデータベース
   principal.ok		# KDCデータベース
   principal.kadm5	# Kerberos管理データベース
   principal.kadm5.lock	# Kerberos管理データベースのロックファイル

プリンシパルの作成 (KDCデータベース管理用)


    # kadmin.local
    kadmin.ocal: addprinc saitou/admin

    saitou/admin@SAMPLE.ORG   # 作成されたプリンシパル

デーモンの起動


    # /usr/local/sbin/krb5kdc 

ACLの設定


    /usr/local/var/krb5kdc/kadmin5.acl

    saitou/admin@SAMPLE.ORG

keytab の作成

    kadmin をネットワーク越に利用する為に keytabを作成する。

    #kadmin.local

    kadmin.local:  ktadd -k /usr/local/var/krb5kdc/kadm5.ktab  kadmin/admin

kadmin デーモン起動


    # /usr/local/sbin/kadmin

kadmin でネットワーク越に利用できるか確認


    まずはチケットの取得

    $ kinit saitou/admin       * チケットの取得

    $ klist                    * チケット取得確認

    プリンシパルの作成

    $ kadmin                   * 先ほどのkadmin.local ではなく kadmin

    kadmin: addprinc  matsuzaka

    matsuzaka@SAMPLE.ORG  # 作成されたプリンシパル

設定 ( ファイルサーバ等 )


   KDSサーバから提供された TGT をファイルサーバ等に提示することにより
   クライアントは、パスワードを入力(ユーザ認証)することなく、
   ファイルサーバのリソースを利用する事が可能となる

   ファイルサーバに対する設定は以下の通り

インストール

       Kerberos パッケージを KDCサーバの構築と同じ手順でインストールする。

設定ファイル

       /etc/krb5.conf を設定する。

krb5.conf
      [libdefaults]
        default_realm = SAMPLE.ORG

      [realms]
        SAMPLE.ORG = {
                kdc = krbkdc.sample.org
                admin_server = krbkdc.sample.org
                default_domain = sample.org
        }

       [domain_realm]
          sample.org = SAMPLE.ORG
          .sample.org = SAMPLE.ORG

       [loging]のみないのがサーバと異なる。

クライアントからの動作確認


   クライアントから ファイルサーバに対して、telnet(kerberos) を行う。

kerberos 用のtelnet に変更する。

/etc/inet/inetd.conf
   telnet stream tcp nowait root /usr/local/sbin/telnet telnetd

サービス利用に必要なプリンシパルの作成


ホストプリンシパルの作成
   (fileserv)$ kinit saitou/admin
   (fileserv)$ kadmin
   kadmin: addprinc host/kdcserv.sample.org
   kadmin: addprinc telnet/kdcserv.sample.org

keytabの作成

    (fileserv)$ kadmin
    admin: ktadd -k /etc/krb5.keytab  telnet/kdcserv.sample.org host/kdcserv.sample.org

inetdの再起動

     kill -HUP inetd

確認

    (client)$ kinit matsuzaka
    (client)$ telnet -a fileserv.sample.org -l matsuzaka

    以降、ユーザ認証なしでログイン可能


先頭へ

      Document-Folder          一覧
HP-UX
HULFT
JAVA
JP1
JavaScript
Linux
MAC
PHP
Perl
Python
Ruby
SOA
Solaris
Unix全般
Windows
XML
エクセル
スタイルシート
セキュリティー
データベース
ネットワーク
パソコン
ブラウザ
プログラム構文
仮想化
          RSS-Folder
ニュース
   アットマーク・アイティ(@IT)
   シンクイット(ThinkIT)
   インターネットコム
   インターネットウォッチ
   日経IT-Pro
   日経パソコン
   CNET Japan
   ZD-NetJapan
   MYCOM
   RBB-Today
ベンダー
   日本IBM
   日本HP
   サンマイクロシステムズ
   NEC
   富士通
   日立
ソフトウェア
   マイクロソフト
   トレンドマイクロ
   オラクル
   サイボウズ
   Mozilla
   野村総合研究所
   (その他ソフトウェア企業)
更新履歴 一覧
 07/08 PERF
プログラム構文
 07/07 PERF
プログラム構文
 06/25 オブジェクトプログラミング2
Perl>サンプル
 07/12 クローン作成
仮想化>vCenter
 07/12 vyatta設定
ネットワーク>vyatta
 07/12 vyattaインストール
ネットワーク>vyatta
 07/12 リポジトリサーバ
Linux>サーバ構築
 07/05 VMwareのインストール
仮想化>VMware
 07/05 PXEブート
仮想化>KVM
 07/01 DHCPでのPXEブート
仮想化>KVM
 06/27 qcow2仮想DISK作成
仮想化>KVM
 06/13 NWの設定
仮想化>VMwareEsxi
 06/13 IPアドレスの変更
仮想化>VMwareEsxi
 06/12 自動ssh
Unix全般>シェル>Bash
 06/12 diffプログラミング
Python
Google