新米インフラエンジニアの研修日記

とある会社で研修させて頂いたことを書いてます。

Kerberos

Kerberos 
今回は、ケルベロス認証についてです。

公式はここかな
Kerberos: The Network Authentication Protocol

ケルベロス認証とは、ネットワーク認証方式の1つでありサーバとクライアント間の身元確認のために使用するプロトコルです。
Kerberosはクライアントとサーバとを相互認証できるだけでなくデータ保全のためにクライアントとサーバ間の通信を暗号化します。
現在ではKerberosバージョン 5 が主に使用されています。

www.infraexpert.com

KerberosはWindows Server Active Directoryのユーザ認証の際に使用しているプロトコルだそうです。

ちなみにActive Directoryとは、
Windows Serverの機能の一つで、管理するネットワーク上に存在する様々な資源やその利用者の情報や権限などを一元管理することができるもの
e-words.jp

次の3つがおもな機能です。

  1. ディレクトリサービスLDAP

  2. ユーザー認証(Kerberosバージョン5)

  3. クライアント管理(SMB:ファイル共有)


ようは、LDAPでユーザ情報が格納されてて、Kerberosで認証とアクセス範囲を承認しているわけですね

Kerberosの構成要素として、

  •  KDC ( Key Distribution Center ):サーバとユーザに関する信頼関係の情報を一括管理する中央データベース
  •  AS ( Authentication Server ):認証サーバ。ユーザからの認証を受け付けるサーバ
  •  TGS ( Ticket Granting Server ):チケット発行サーバ。各サーバを利用するためのチケットを発行するサーバ
  •  プリンシパル ( principal ) :KDCが認証を行うユーザやサーバのこと
  •  レルム ( realm ):同じKDCの配下にあるシステムをグループとして定義する論理ネットワーク
    こんなのがあるそうです。

www.infraexpert.com

また、PAMモジュールを使うと、Linuxマシンの認証を外部のKDCにより行えるようにできます。
CentOSなら→ pam_krb5
Debianなら→ libpam-krb5

KDCとしてActiveDirectoryのDomainControllerを指定することで、Linuxマシンの認証がActiveDirectoryに統合されます。

gihyo.jp