Presentation is loading. Please wait.

Presentation is loading. Please wait.

OpenLADP 後藤航太.

Similar presentations


Presentation on theme: "OpenLADP 後藤航太."— Presentation transcript:

1 openLADP 後藤航太

2 研究のテーマを openLDAPにしました。
 前回の発表では「情報セキュリティ」について説明しましたが、  まだ具体的な研究内容を決めていませんでした。  今回からはopenLDAPを使ってディレクトリサービス導入・運用を  研究課題としてやっていきたいです。  まずはLDAPサーバを構築し、データ登録を行ってみます。  今後、アドレス帳、Linuxユーザ認証をはじめ、様々なアプリケーションで  LDAPの機能を利用していきたいと思います。  まだ勉強を始めたばかりなので、わからないことやうまく説明できない所  がありますので、ご了承ください。

3 openLDAPとは ディレクトリとは LDAPは、Lightweight Directoy Access Protocolの略です。
LDAPは、RFC1777などで定義されているインターネット標準のプロトコルで、 TCP/IP上でディレクトリサービスを提供するためのプロトコルであるとされ います。 ディレクトリとは コンピュータの世界、それも特にLinuxやUNIXでディレクトリという言葉は ファイルを管理するための構造を指します。 Windowsではフォルダと呼ばれているファイルを格納する場所のことを、 LinuxやUNIXではディレクトリと呼ばれています。 しかし、LDAPでいうディレクトリは、このファイルの管理とはまったく関係 がありません。

4 LDAPの歴史 LDAPは、もともとX.500ディレクトリアクセスプロトコル(DAP)を改良して作ら
れたプロトコルです。 X.500は、1988年にCCITTのX.500シリーズ勧告で 国際規格として採用されたもので、ISO国際標準として規定されました。 このプロトコルは世界中の情報を集めたディレクトリサービスを実現しようと するものでしたが、残念ながら普及することはありませんでした。 大変多くのコンピュータリソースを必要としたことが、その原因と考えられて います。そのため、X.500はHeavy weightなプロトコルであったと言われています。 これに対して、LDAPはTCP/IP上で軽快(Lightweight)に動作することを目的 として作成されたディレクトリサービスです。 軽快な造りでありながら、X.500の重要な機能の多くを引き継いでいます。

5 LDAPの特徴 LDAPは次のような特徴を持つデータベースとなっています。 X.500の機能のほとんどを持ちながら、非常に軽い実装である。
読み込み・検索・更新などの処理を行うことができる。 書き込み・更新よりも、読み込み・検索が速くなるように最適化されている。 豊富な検索機能を持っている。 様々なアプリケーションをサポートできる豊富な機能を持っている。 格納するデータの型を自由に定義・拡張できる。 データの複製機能を持っていて、信頼性の高いシステムを構築することができる。

6 LDAPで管理するもの① LDAPは、RDB(リレーショナルデータベース)ではありません。
このことは、用途を考える上で非常に重要です。リレーションデータベースで ないことは、次のようなことを意味します。 データの相関関係(リレーショナル)を管理していない。 トランザクションの概念を持っていない。 したがって、LDAPは、業務データなどと動的で複雑な関係を処理する必要 のある分野には不向きです。LDAPでは、データの相関関係ではなく、 物(オブジェクト)を管理しようとします。そのため、次のような分野に向いて います。 住所録や人名録など、人というオブジェクトを管理するサービス 資産管理サービスなど、物というオブジェクトを管理するサービス メールや認証情報など、人や物に付随するサービスの情報

7 LDAPで管理するもの② したがって、LDAPは、業務データなどと動的で複雑な関係を処理する必要
物(オブジェクト)を管理しようとします。そのため、次のような分野に向いて います。 住所録や人名録など、人というオブジェクトを管理するサービス 資産管理サービスなど、物というオブジェクトを管理するサービス メールや認証情報など、人や物に付随するサービスの情報 このことは、LDAP上で管理するデータの配置を計画するときにも非常に重 要です。 LDAPでは物(オブジェクト)を管理するのだという大前提を忘れる と、非常に管理しにくいデータ構造になってしまいます。

8 LDAP機能 問い合わせ 更新 LDAPには、認証、問い合わせ、更新などの機能が定義されています。
要素です。  認証 認証には、バインド(bind)と解放(unbind)の2つの操作があります。 サーバにアクセスする場合には、まずはバインド処理を行わければなりませ ん。そして、LDAPの処理が完了したら解放の処理を行います。 問い合わせ LDAPでは、問い合わせとして比較(compare)と検索(search)の2つの方法を 利用することができる 比較(compare)  指定したエントリの属性に、特定の値が入っているかどうかを調べ、結果を返す処  理です。 検索(search)  様々な検索条件を指定して、それに合致するエントリの情報を取り出します。 更新 LDAPでは、更新の操作として、追加(add)、削除(delete)、変更(modify)、 DNの変更(modifyDN)の4つの操作を行うことができます。これらの操作は、 特定のDNを指定して、そのDNに対して行います。

9 LDAPサーバ稼動までの手順 LDAPサーバをインストールする。 LDAPサーバの起動に必要な最小限の設定を行う。
要があります。 LDAPサーバをインストールする。 LDAPサーバの起動に必要な最小限の設定を行う。 基本的なディレクトリ構造を設定する。 使用するアプリケーションに合わせて、スキーマを設定する。 使用する属性に合わせてインデックス、アクセス制御の設定を行う。

10 開発環境について 研究で使うOSはLinux(Vine Linux)を使用します。
・Berkeley DB(アプリケーション組み込み型のデータベースライブラリ ) ・OpenSSL (SSLプロトコル・TLSプロトコルのオープンソースな実装です )    この2つのソフトウェアはOpenLDAPに必要なため  ・OpenLDAPは安全版“openldap-stable tgz”です。  今後、新たにソフトウェアなどが必要になるので随時説明をします。

11 基本設定 OpenLDAPでLDAP機能を提供するサーバはslapdです。
設定ファイルは/usr/local/etc/openldap/slapd.confです。 slapd.confは標準的にはrootユーザでしか読み書きできな いように設定されています。 これは、ファイルの中にLDAPへのアクセスの時に用い るパスワードなどが保管されているからです。 そのため、ファイルの編集はrootユーザで行います。

12         インストール直後のslapd.conf # # See slapd.conf(5) for details on configuration options. # This file should NOT be world readable. # include /usr/local/etc/openldap/schema/core.schema # Define global ACLs to disable default read access. # Do not enable referrals until AFTER you have a working directory # service AND an understanding of referrals. #referral ldap://root.openldap.org pidfile /usr/local/var/run/slapd.pid argsfile /usr/local/var/run/slapd.args # Load dynamic backend modules: # modulepath /usr/local/libexec/openldap # moduleload back_bdb.la # moduleload back_ldap.la # moduleload back_ldbm.la # moduleload back_passwd.la # moduleload back_shell.la # Sample security restrictions # Require integrity protection (prevent hijacking) # Require 112-bit (3DES or better) encryption for updates # Require 63-bit encryption for simple bind # security ssf=1 update_ssf=112 simple_bind=64 # Sample access control policy: # Root DSE: allow anyone to read it # Subschema (sub)entry DSE: allow anyone to read it # Other DSEs: # Allow self write access # Allow authenticated users read access

13    # Allow anonymous users to authenticate # Directives needed to implement policy: # access to dn.base=“” by * read # access to dn.base=“cn=Subschema” by * read # access to * # by self write # by users read # by anonymous auth # # if no access controls are present, the default policy # allows anyone and everyone to read anything but restricts # updates to rootdn. (e.g., “access to * by * read”) # # rootdn can always read and write EVERYTHING! ####################################################################### # BDB database definitions ####################################################################### database  bdb suffix “dc=my-domain,dc=com" rootdn "cn=Manager,dc=my-domain,dc=com" # Cleartext passwords, especially for the rootdn, should # be avoid. See slappasswd(8) and slapd.conf(5) for details. # Use of strong authentication encouraged. rootpw secret # The database directory MUST exist prior to running slapd AND # should only be accessible by the slapd and slap tools. # Mode 700 recommended. directory /usr/local/var/openldap-data # Indices to maintain index objectClass eq

14 インストール直後のslapd.confに最初に定義されているのは、最も基本的なLDAPの設定です。(コメントを除いたもの)
① include /usr/local/etc/openldap/schema/core.schema ② pidfile /usr/local/var/run/slapd.pid ③ argsfile /usr/local/var/run/slapd.args ④ database  bdb ⑤ suffix “dc=my-domain,dc=com" ⑥ rootdn "cn=Manager,dc=my-domain,dc=com“ ⑦ rootpw      secret ⑧ directory /usr/local/var/openldap-data ⑨ index     objectClass eq これらの値のうち、必ず修正があるのは、⑤~⑦です。 ⑦はルートDNのパスワードの設定で、必ず設定する必要がある。

15 それぞれの設定について①~④ ①include ③ argsfile ④database
   それぞれの設定について①~④ ①include LDAPのデータベースで利用する属性を定義するスキーマファイルを読み込 みます。使用する属性に合わせて、適切なスキーマファイルを読み込む必 要があります。 ②pidfile Slapdのプロセス番号を保管するファイルを指定します。このファイルは起動 スクリプトなどで使用します。 ③ argsfile Slapdが起動された引数の情報を保管するファイルを指定します。 ④database LDAPのデータを管理するデータベースを指定します。通常の用途では、 Bdbまたはhdbを使います。Bdbは、Berkeley DBを使って作成されるデータ ベースです。

16 それぞれの設定について⑤~⑨ ⑤suffix ⑥rootdn ⑦rootpw ⑧directory ⑨index
   それぞれの設定について⑤~⑨ ⑤suffix   LDAPデータの識別名を設定します。 ⑥rootdn LDAPディレクトリ管理者のDN(ルートDN)を設定します。 ⑦rootpw ルートDNのパスワードを設定します。 ⑧directory データベースを保管するディレクトリを指定します。 ⑨index インデックスを管理すべき属性を指定します。LDAPサーバはデータの保管 の時に、ここで指定した属性に対して検索を高速化するための特別なデータ (インデックス)を作成します。

17 ⑤~⑦の設定を変更しました。 ① include /usr/local/etc/openldap/schema/core.schema
② pidfile /usr/local/var/run/slapd.pid ③ argsfile /usr/local/var/run/slapd.args ④ database  bdb ⑤ suffix   “dc=designet,dc=jp" ⑥ rootdn   "cn=Manager,dc=designet,dc=jp“ ⑦ rootpw      {SSHA}RMznXWk4awbjnzkne8u2hvSIHyvOW28v      ⑧ directory /usr/local/var/openldap-data ⑨ index     objectClass eq                  基本設定は終了

18 今後の予定 LDAPデータの管理 LDAPスキーマ 安全性と性能 LDAPエントリ検索・表示・追加・削除・修正
 LDAPエントリ検索・表示・追加・削除・修正 LDAPスキーマ  オブジェクトクラスの定義・標準スキーマ・独自スキーマ 安全性と性能  LDAPサーバの性能を引き出す方法  LDAPサーバに対するセキュリティ  データの保全の方法

19 参考資料 LDAP/OpenLDAP ディレクトリサービス導入・運用ガイド Vine Linuxサーバ 参考書 参考サイト
参考書  LDAP/OpenLDAP ディレクトリサービス導入・運用ガイド Vine Linuxサーバ 参考サイト

20 御静聴ありがとうございました。                終


Download ppt "OpenLADP 後藤航太."

Similar presentations


Ads by Google