LinuCレベル3 300試験の出題範囲「391.2 アクティブディレクトリおよびKerberosとLDAPの統合」の技術的内容についての解説をまとめました。
重要度 2 説明 LDAPとActive Directoryを統合できること。 主要な知識範囲 LDAPのKerberos認証との統合クロスプラットフォーム認証シングルサインオンの概念OpenLDAPとActive Directoryの統合および互換性の制約 重要なファイル、
用語、ユーティリティKerberosActive Directoryシングル・サインオンDNS

Kerberos認証の概要
Kerberos認証はKDC(Key Distribution Center)と呼ばれる中央データベースを使用して、サーバやユーザの情報を管理する認証です。現在ではバージョン5が主流で、Kerberous認証のバージョンは5は「KRB5」と略されます。
SFU(Windows Services for UNIX)の概要
SFUは、Windows Services for UNIXのことで、Windows上でWindowsとUNIXの相互運用を支援するソフトウェアパッケージ集になります。現在では、WSLがその後継に当たります。
Windows 10では、正式版リリース一周年(2016年9月)の大型アップデートにより、64ビット版に限りSUAの後継ないし類似製品として 「 Windows Subsystem for Linux 」 が利用可能となる。
Windows のOSによってはSUA(Subsystem for UNIX-based Applications)が搭載されています。
Subsystem for UNIX-based Applications
Windows Server 2003 R2 と Windows Vista、Windows 7 (Ultimate, Enterprise) と Windows Server 2008、Windows Server 2008 R2では、Subsystem for UNIX-based Applications (SUA) として、標準搭載されている。
Linuxのユーザ認証をActive Directoryに統合する際に、Windows側でSFUもしくはSUAを導入する必要があります。これはWindows側でUNIX系OSに対応させる必要があるためです。
pam_ldapおよびnss_ldapモジュールの設定
Linuxのユーザ認証をActive Directoryに統合するためには、「ldap.conf」にpam_filterやpam_login_attributeを設定する必要もあります。PAM、NSSとLDAPの統合については前項の出題範囲に関する記事で詳細をまとめています。
Linuxのユーザ認証をActive Directoryに統合する際に必要になること
ここまでを踏まえて、LinuCレベル3 300の出題範囲で覚えておきたい項目を箇条書きでまとめると以下のようになります。
Linuxのユーザ認証をActive Directoryに統合する際に必要のは以下になります。
- WindowsにSFUもしくはSUAを導入する
- 「ldap.conf」にpam_filterやpam_login_attributeを設定する
- PAMおよびNSSの設定ファイルを適切に編集する
シングルサインオン(SSO)の概要
シングルサインオンは、SSOと略され、ユーザIDとパスワードを一度認証することで他のシステム(他のサーバー)でも認証が行える技術のことです。
シングルサインオン(Single Sign On)は、ユーザIDとパスワードを一度認証することで、様々なシステムの認証を行えるようにする技術です。
シングルサインオンを利用することで、アプリケーションごとにユーザ名とパスワードを入力する作業の手間が軽減されるだけでなく、複数のパスワードを覚えることが不要になり、パスワード管理の負担を減らすことができます。

シングルサインオンは以下の仕組みで認証を実装できます。
Kerberos認証
クライアントのID、タイムスタンプ、有効期限が記された「チケット」を用いて認証を行います。SAML認証
SAMLプロトコルによる認証情報の受け渡しにより認証を行います。リバースプロキシ認証
全ての認証を、リバースプロキシと呼ばれる中継サーバを経由させて認証を行います。代理認証
クライアントPCにインストールしたエージェントに保持させたIDやパスワードを使って認証を行います。

Active Directoryの認証とKerberos認証
Kerberos認証(ケルベロス認証)については、WindowsのActiveDirectoryに採用されている認証方式で、Linux系のディストリビューションでも利用することができます。
この中でも、Kerberos認証はWindowsのActiveDirectoryに採用されている認証方式で、Linux系のディストリビューションでも利用することができます。
これにより、Kerberos認証を利用すると、WindowsログオンやLinuxへのログインと組み合わせたシングルサインオンを実現できます。つまり、Windowsにログオンすれば、他のサービスにパスワードなしでログインできるシングルサインオンを実現することができます。

Active Directoryの認証にはKerberos認証が使用され、Kerberous認証は88/tcp、88/udpを使って通信を行います。
Active Directoryでユーザのログイン名を格納する属性
「ldap.conf」ファイルでログイン名に対応する属性を指定するpam_login_attributeディレクティブにsAMAccountNameを指定することで、Active Directoryでのユーザのログイン名を指定します。
以下は「ldap.conf」ファイルへの記載例です。
pam_login_attribute sAMAccountName
pam_filter (objectClass=user)
Active Directoryでユーザのアカウント情報を格納するために使用するオブジェクトクラス
Active Directoryでは「user」オブジェクトクラスをユーザのアカウント情報を格納するために使用します。


