オープンソース

サーバー構築のデージーネットTOP > OSS情報 > OSS紹介 > OSSのLDAPサーバ OpenLDAP >アプリケーションとの連携

アプリケーションとの連携

LDAPは、様々なアプリケーションと連携することができます。ここでは、デージーネットがLDAPと連携した実績のあるアプリケーションについて取り上げます。

LDAPと連携実績のあるアプリケーション

LDAPとメールサーバ(Postfix, dovecot)との連携

LDAPの用途として、もっとも多いのがメールサーバでの利用です。メールサーバでは、従来はLinuxやUnixのユーザをそのまま使っていました。しかし、LinuxやUnixのユーザ数には上限があります。多くのユーザを持つ組織では、そのことが問題となります。

また、最近はメールソフトウェアやスマートフォンでメールを読むのが当たり前になり、メールサーバにログインする必要はありません。そのため、メールユーザをLinuxやUnixのユーザとして管理しても、ほとんどメリットがありません。そのため、最近では、メールのユーザをLDAPで管理することが多くなっています。

メールサーバのソフトウェアとしては、Postfix、sendmailなどの代表的なMTAはLDAPと連携することができます。また、POP/IMAPサーバとして多くのディストリビューションで採用されているdovecotなども、完全にLDAPに対応しているため連携することができます。

LDAPサーバでは、主にメールアドレスとSMTP AUTHやPOP/IMAPで使用するためのIDとパスワードを管理します。また、メールの別名配送などを管理することもできます。また、メールボックスの容量制限などの設定値を個人毎に管理することもできます。

LDAPとメールサーバのアドレス帳との連携

メールサーバとLDAPを連携すると、同時にアドレス帳としてLDAPを使うことも多くなります。メールサーバに必要なメールアドレスに加え、氏名、会社名、部署などをLDAPに登録しておくことで、メールソフトに付属しているアドレス帳からメールを送りたい相手のメールアドレスを検索することができるようになります。

多くのメールソフトウェアが、アドレス帳でLDAPサーバと連携することができます。例えば、Mozilla Thunderbirdは、一般的なinetOrgPersonなどのオブジェクトクラスに対応しています。Microsoft Outlookが利用するLDAPのオブジェクトクラスや属性は、公式には公開されていません。また、Outlookのバージョンによっても使用する属性が異なります。そのため、OutlookでLDAPアドレス帳を利用するには工夫が必要となります。

Linuxユーザ認証との連携

たくさんのサーバが存在する環境では、サーバ毎にユーザとパスワードを管理するのは大変です。そのため、サーバのユーザを集中管理するためにLDAPが利用されます。

最近のLinuxディストリビューションでは、sssdを使って、LDAPサーバとの連携を行います。また、PAM(Pluggable Authentication Modules)を使うと、アプリケーション毎の認証の制御や、ログイン時のホームディレクトリの作成など、より細かな制御を行うことができます。

さらに、属性とフィルタを上手く使えば、LDAPサーバ側でログイン可能なサーバを集中管理することもできます。

LDAPとWWWサーバ(Apache)との連携

多くのディストリビューションに採用されているWWWサーバのApacheは、LDAPに対応しています。主に、2つの用途でLDAPと連携することができます。 一つは、ユーザ用のホームページの管理用です。つまり、ユーザとホームディレクトリの保存場所を管理するために、LDAPでドキュメントディレクトリの場所を管理します。もう一つの用途は、Basic認証などのドキュメントの認証です。

LDAPサーバ上では、ユーザIDとパスワードを管理します。属性とフィルタを上手く使えば、LDAPサーバ側で利用可能なWWWサーバを集中管理することもできます。

また、Apacheは、X.509クライアント証明書などを使った認証もサポートしています。これらの認証をLDAPと組み合わせて行う場合には、ユーザの証明書のSubjectを属性値として管理する必要があります。

LDAPとプロキシサーバ(Squid)との連携

プロキシサーバの代表的なソフトウェアであるSquidも、LDAPと連携することが可能です。主に、認証の用途で利用します。LDAPサーバ上では、ユーザIDとパスワードを管理します。属性とフィルタを上手く使えば、LDAPサーバ側で利用可能なプロキシサーバを集中管理することもできます。

LDAPとRadiusサーバ(FreeRadius)との連携

LDAPと同じ認証サーバであるRadiusサーバも、バックエンドのデータベースとしてLDAPを利用することができます。一般的には、LDAPサーバには、Linuxユーザ認証で必要な属性(ユーザID、パスワード、ホームディレクトリなど)を登録します。 FreeRadiusには、アカウンティング情報をLDAPサーバに書き出す機能もあります。そのため、最終ログイン時刻などをLDAPで管理することもできます。

LDAPとFTPサーバ(Pure-FTPd)との連携

FTPは、古くからファイル転送などで使われているプロトコルです。残念ながら、RedHat Enterprise LinuxやCentOSなどで採用されているvsftpdは、LDAPに対応していません。しかし、proftpdやpure-ftpdはLDAPと連携することができます。 一般的に、LDAPサーバ上で、ユーザID、パスワード、ログインディレクトリなどを管理します。Pure-ftpdでは、それに加えて、帯域制限や利用可能な容量などを管理することもできます。

LDAPと全文検索サーバ(Fess)との連携

Fessは、全文検索を行うオープンソースソフトウェアです。ファイルサーバの検索や、WWWサーバのサイト内検索を実装するのに利用されます。特にファイルサーバの検索では、ユーザの権限では見ることのできないファイルが閲覧できないようにする必要があります。そのため、FessはLDAPと連携することで、LDAPからユーザ名、パスワード、所属グループなどの情報を取得しアクセス制御を行います。

LDAPとビジネスチャットツール(Rocket.Chat)との連携

Rocket.Chatは、Slack互換のビジネスチャットシステムです。ユーザ管理をLDAPと連携させることができます。LDAPと連携すれば、Rocket.Chatにユーザを個別に登録する必要はなく、LDAPに登録されているユーザのRocket.Chatのアクセスを集中管理することができます。 Rocket.Chatは、LDAPからユーザIDとパスワードを取得します。

LDAPとActiveDirectoryとの連携

Windowsで利用されているディレクトリサービスであるActiveDirectoryは、LDAP version 2に対応しています。そのため、OpenLDAPと同様に、LDAPサーバとして利用することができます。ただし、LinuxとWindowsでは、認証の仕組みが大きく違います。そのため、OpenLDAPとActiveDirectoryの両方を使う場合には、同期ツールなどを使ってパスワードを同期する工夫が必要になります。

OSS情報 「OpenLDAP」

OSSのLDAPサーバ OpenLDAP
OpenLDAPは、OSSのLDAPサーバソフトウェアです。ここでは、OpenLDAPに対するデージーネットの取り組みなどを紹介します。
LDAPサーバ(slapd)
ここでは、OpenLDAPに付属するLDAPサーバのソフトウェアである「slapd」について紹介します。
slapdの冗長化と拡張機能
slapdは、様々な用途で利用できるLDAPサーバです。ここでは、slapdのシステム構成や拡張APIについて紹介します。
LDAPユーティリティコマンド
OpenLDAPには、LDAPユーティリティが付属しています。ここでは、主なLDAPユーティリティの概要を紹介します。
LDAPをGUIで管理するツール
OpenLDAPに付属するLDAP管理コマンドは、非常に柔軟で便利です。しかし、ファイル形式が複雑でもあります。そのためデージーネットでは、LDAP管理ツールを利用することを推奨しています。
LDAPのアプリケーション連携
LDAPは、様々なアプリケーションと連携することができます。ここでは、デージーネットがLDAPと連携した実績のあるアプリケーションを紹介します。

OpenLDAPによるLDAPサーバのマルチマスタ構成

OpenLDAPのミラーモードでLDAPサーバを二重化しました。認証システムの冗長構成が求められていましたが、冗長化ソフトウェアの導入はコスト面で問題がありました。OpenLDAPの柔軟性を活用し、OpenLDAP標準機能であるミラーモードを使う事で、特別な冗長化ソフトウェアを使わずに、認証システムを冗長化しました。

OpenLDAPによるLDAPサーバのユーザ統合管理システム

リモートアクセスの管理などで利用しているLDAPサーバをリプレースしました。これまで利用してきた製品のディレクトリサーバから、OpenLDAPへ移行することでライセンス費用を抑え、代わりにサーバを冗長化することができました。

LDAPサーバ冗長化

LDAPサーバをサービス無停止で提供するため、PacemakerとDRBDを利用したHAクラスタでLDAPサーバを構築しました。高信頼性、高可用性が求められる大規模メールシステムのユーザ管理用LDAPサーバを、Linuxクラスタにより構築しました。

LDAPをアプリケーションと連携の先頭へ