オープンソース・ソリューション・テクノロジ株式会社 代表取締役 チーフアーキテクト 小田切耕司

Similar documents
Samba/LDAPによる既存複数Windowsドメインの統合とその方式比較

オープンソース・ソリューション・テクノロジ株式会社 代表取締役 チーフアーキテクト 小田切耕司

オープンソース・ソリューション・テクノロジ株式会社 代表取締役 チーフアーキテクト 小田切耕司

OSSTechプレゼンテーション

OSSTechプレゼンテーション

OpenAM(OpenSSO) のご紹介

Samba/LDAPによるWindowsドメイン管理権限の分離と委譲

オープンソース・ソリューション・テクノロジ株式会社 代表取締役 チーフアーキテクト 小田切耕司

オープンソース・ソリューション・テクノロジ株式会社 代表取締役 チーフアーキテクト 小田切耕司

技術レポート 1)QuiX 端末認証と HP IceWall SSO の連携 2)QuiX 端末認証と XenApp の連携 3)QuiX 端末認証 RADIUS オプションと APRESIA の連携 Ver 1.1 Copyright (C) 2012 Base Technology, Inc.

HDE Controller X 1-9. LDAP

OpenAM 9.5 インストールガイド オープンソース ソリューション テクノロジ ( 株 ) 更新日 : 2013 年 7 月 19 日 リビジョン : 1.8

OSSTechプレゼンテーション

PowerPoint プレゼンテーション

SLAMD導入手順

CA Federation ご紹介資料

IceWall FederationによるOffice 365導入のための乱立AD対応ソリューション(オンプレミス型)

Samba/LDAPによる既存複数Windowsドメインの統合とその方式比較

スライド 1

FUJITSU Cloud Service for OSS 認証サービス サービス仕様書

PowerPoint プレゼンテーション

統合 ID 管理システム SECUREMASTER/EnterpriseIdentityManager(EIM) 連携先システム : AD 1, 業務サーバ 3 監査オプション : あり ユーザ ID 情報を一元管理し 業務システム (CSV インポートが可能なシステム ) や AD などの ID

FUJITSU Cloud Service K5 認証サービス サービス仕様書

製品概要

Solaris10 ZFS+Sambaソリューション

OpenAMトレーニング

Samba3.0/LDAPによるドメイン移行トラブル事例

目次 1. はじめに 本文書の目的 前提条件 略語 事前準備 ホスト名の名前解決 Linux 版パッケージ システム要件 ソフトウェア要件 パッケージ構成

How to Use the PowerPoint Template

学認とOffice 365 の 認証連携

IM-SecureSignOn

LDAP サーバと統合するための ISE の設定

WindowsでLDAP運用のこつ

IceWall SSO 10.0 Enterprise Edition 動作環境

Microsoft Word - catalog_tpass43.doc

OpenLDAPの最新動向

スライド 1

Microsoft Word - XOOPS インストールマニュアルv12.doc

ServerViewのWebアクセス制限方法

LDAP を使った認証システムの構築

IceWall SSO 10.0 サポートマトリクス

Active Directory フェデレーションサービスとの認証連携

SinfonexIDaaS機能概要書

SAMBA Stunnel(Windows) 編 1. インストール 1 セキュア SAMBA の URL にアクセスし ログインを行います xxx 部分は会社様によって異なります xxxxx 2 Windows 版ダウンロード ボ

intra-mart ワークフローデザイナ

1. 開発ツールの概要 1.1 OSS の開発ツール本書では OSS( オープンソースソフトウェア ) の開発ツールを使用します 一般に OSS は営利企業ではない特定のグループが開発するソフトウェアで ソースコードが公開されており無償で使用できます OSS は誰でも開発に参加できますが 大規模な

コンポーネントのインストール レプリケーション運用開始までの流れ 1 コンポーネントのインストール 2 シナリオの設定 3 同期処理 レプリケーション開始!! CA ARCserve Replication/HA 構成例 管理用 PC CA ARCserve RHA マネージャ CA ARCserv

Microsoft Active Directory用およびMicrosoft Exchange用Oracle Identity Connector

Microsoft Word - Gmail-mailsoft設定2016_ docx

OSSTech_JICS2017セッション資料

Red Hat Enterprise Linuxのcron(8)デーモンにデフォルト定義されたtmpwatch命令の動作による、WebOTXのトラブル対処方法

4. 本オプションで提供する機能 基本機能 Microsoft Office 365 マイクロソフト社 Microsoft Office 365 の機能をそのまま利用できます アクティブディレクトリ連携サービス (Active Directory Federation Service: 以下 ADF

LDAP Manager SupportList

CLUSTERPROXSingleServerSafe SingleServerSafe ご紹介 2007 年 10 月

PowerPoint Presentation

オープンソース・ソリューション・テクノロジ株式会社

Mobile Access簡易設定ガイド

Password Manager Pro スタートアップガイド

Symantec Endpoint Protection 12.1 の管理練習問題 例題 1. 管理外検出でネットワーク上のシステムを識別するとき 次のどのプロトコルが使用されますか a. ICMP b. TCP c. ARP a. UDP 2. ある管理者が Symantec Endpoint P

Arcserve Replication/HA r16.5 のご紹介 Arcserve Japan 第 1.6 版 1

共通フィルタの条件を設定する 迷惑メール検知 (SpamAssassin) の設定 迷惑メール検知 (SpamAssassin) とは.

スライド 1

( 目次 ) 1. はじめに 開発環境の準備 仮想ディレクトリーの作成 ASP.NET のWeb アプリケーション開発環境準備 データベースの作成 データベースの追加 テーブルの作成

オージス総研のご紹介 社名 代表者 設立 株式会社オージス総研 取締役社長平山輝 1983 年 6 月 29 日 資本金 4 億円 ( 大阪ガス株式会社 100% 出資 ) 売上実績 512 億円 ( 連結 ) 270 億円 ( 単体 ) ( 2010 年度 ) 従業員数 2,847 名 ( 連結

AXIOLE V Release Letter

4. 環境要件 WebWrapper および WebWrapper 管理サーバ <Windows 版 > Windows2000Server ( サービスパック 3 また 4 適用済 ), Windows Server 2003 <Solaris 版 > SPARC CPU を搭載する Sun 製ワ

スライド 1

スライド 1

Sophos Enterprise Console

Transcription:

2011 年 1 月 27 日 ( 木 ) 19 時 ~21 時 統合認証システム構築術 Unix 認証 OpenLDAP 編 オープンソース ソリューション テクノロジ株式会社 代表取締役チーフアーキテクト小田切耕司 Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 1 -

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 2 - 目次 1. 講師紹介 OSSTech 社紹介 2. 統合認証とシングルサインオン 3. LDAP 概念と設計入門 4. LDAP 構築 / 設定入門 5. やってはいけないOpenLDAPサーバー構築

Part 1 講師紹介オープンソース ソリューション テクノロジ会社紹介 Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 3 -

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 4 - 講師紹介 役職 : 代表取締役チーフアーキテクト 氏名 : 小田切耕司 ( おだぎりこうじ ) 所属団体等 OpenSSO&OpenAM コンソーシアム副会長 OSS コンソーシアム副会長 日本 LDAP ユーザ会設立発起人 日本 Samba ユーザ会初代代表幹事 日本 Webmin ユーザーズ グループ副会長 オープンソースソフトウェア協会 ブログ Shall we Samba? http://blog.odagiri.org/ 執筆関係 ASCII.technologies 2011 年 2 月号 キホンから学ぶ LDAP http://tech.ascii.jp/elem/000/000/569/569412/ 技術評論社 Software Design 2010 年 9 月号 第 1 特集クラウド対策もこれで OK! 統合認証システム構築術 OpenAM/SAML/OpenLDAP/Active Directory http://gihyo.jp/magazine/sd/archive/2010/201009 @IT やってはいけない Samba サーバ構築 :2008 年版 2006 年 5 月技術評論社 LDAP Super Expert 巻頭企画 [ 新規 / 移行 ]LDAP ディレクトリサービス導入計画 http://www.gihyo.co.jp/magazines/ldap-se

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 5 - オープンソース ソリューション テクノロジ株式会社 2006 年 9 月に設立 OS に依存しない OSS のソリューションを中心に提供 Linuxだけでなく SolarisやFreeBSDへも対応! Samba OpenLDAP LDAP, OpenAM などによる統合認証よる統合認証やシングルサインオン ID 統合ソリューションソリューションを提供 製品パッケージ提供 製品サポート提供 技術コンサルティング提供 http://www.osstech.co.jp

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 6 - 会社概要 会社名英語表記社名略称 オープンソース ソリューション テクノロジ株式会社 Open Source Solution Technology Corporation OSSTech( オーエスエステック ) または OSS テクノロジ 所属団体等 OpenSSO&OpenAM コンソーシアム理事副会長 OSS コンソーシアム理事副会長 LPI-Japan ビジネスパートナーデル ISV アリーナパートナー NEC CLUSTERPRO WORKS パートナーレッドハットレディ ビジネス パートナー Solaris Community for Business(SCB) 業務内容役員オフィス Web 設立 OSS( オープンソース ) を中心とするソフトウエアの企画 開発 販売およびサポート システムの導入に関するコンサルティング ソフトウエアに関する教育 研修 代表取締役技術取締役 小田切耕司武田保真 141-0022 東京都品川区東五反田 1-12-10 三井住友海上五反田ビル 6F Tel & FAX : 03-6670-5764 http://www.osstech.co.jp/ 2006 年 9 月 取引先およびハ ートナー様 株式会社野村総合研究所 デル株式会社 株式会社バッファロー 日本電気株式会社 株式会社大塚商会 キヤノン IT ソリューションズ株式会社 伊藤忠テクノソリューションズ株式会社 新日鉄ソリューションズ株式会社 株式会社 PFU 株式会社日立ソリューションズ 三菱電機インフォメーションシステムズ株式会社 ソフトバンク テクノロジー株式会社 ニフティ株式会社 三井情報株式会社 ダイワボウ情報システム株式会社 NTT データ先端技術株式会社 資本金 1500 万円

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 7 - OSSTech の製品群 ( すべて OSS で提供 ) 原則 Linux/Solaris/AIX 共に RPM で提供 1 Samba for Linux/Solaris/AIX AD の代替 高性能 NAS の代替 2 OpenLDAP for Linux/Solaris/AIX 認証統合 ディレクトリサービス シングルサインオンのインフラ 3 OpenAM for Linux/Windows/Solaris Tomcat,OpenLDAP 対応で高機能なシングルサインオン機能を提供 4 Unicorn ID Manager for Linux/Solaris Google Apps,ActiveDirectory,LDAP, Yahoo! メール Academic Edition に対応した統合 ID 管理

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 8 - OSSTech の製品群 ( すべて OSS で提供 ) 原則 Linux/Solaris/AIX 共に RPM で提供 5 Chimera Search for Linux アクセス権の無いファイルは表示されない全文検索システム 6 LDAP Account Manager for Linux/Solaris 管理機能の弱い OSS の LDAP/Samba に Web ベースの GUI を提供 7 SSLBridge for Linux リモートからの Windows ファイルサーバアクセス機能を提供 8 Mailman for Linux/Solaris Google Apps のメーリングリスト機能を補完 9 Netatalk for Linux/Solaris UTF-8 に対応した Mac OS 対応の AFP ファイルサーバー

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 9 - エンジニア募集中です! 特に OpenAM(Java) のエンジニア募集中 http://www.osstech.co.jp/company/recruit recruit@osstech.co.jp OpenAM(OpenSSO) を使ったシングルサインオンもしくは Samba OpenLDAP を使った統合認証に関する開発エンジニア コンサルタント アーキテクト シングルサインオン 統合認証 Linux / UNIX / OSS 経験 Java,C の知識があり 前向きに自分でスキル向上を目指せる方 紹介会社などを通さず直接弊社へ募集エントリされた方には 入社後現金 20 万円を差し上げます

Part 2 統合認証とシングルサインオン Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 10 -

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 11 - 統合認証とシングルサインオンの必要性 クラウド ( 外部の Web サービスの業務利用 ) が普及したことで 統合認証 / シングルサインオン /ID 管理の必要性がが急上昇 社内 Web アプリ ( オンプレミス ) の利便性 セキュリティ向上のための需要も同時に増加中 社内にある多数あり Web アプリ ( オンプレミス ) へのアクセスをシングルサインオンで管理し 利便性を向上させたい 社内の Web アプリと外部の Web サービス (Google Apps Salesforce など ) をシングルサインオン連携したい ( クラウドサービス利用者 ) クラウド基盤の構成コンポーネントとして OpenAM を利用したい ( クラウドサービス提供者 )

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 12 - 統合認証とシングルサインオンと ID 管理 統合認証とシングルサインオンと ID 管理は同時に使うことで最大の効果を発揮する ユーザー ID/ パスワードはシングルサインオンシステムで一元管理可能でも 各アプリケーション サービス毎に必要なユーザー情報は 基本的には個々に管理される ID 管理ツールなどを利用した一元管理をしなければ ID 管理は破綻する クラウドサービスにおいても ID 管理は必要 クラウドサービスもユーザー情報を保存することから ID 管理の対象となる ID 管理用の API( プログラムインタフェース ) を備えているものが多い (Google Apps Yahoo! など )

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 13 - 統合認証とは? Windows や Linux/UNIX の認証をできる限りユーザの負担が少ない方法で提供する 色々なコンピュータへ同じアカウント名とパスワードでログインできる コンピュータのログインだけでなく その上で動く様々なサービスへも同じパスワードでログインできる 例 ) メールサーバ (POP,IMAP,SMTP サービス ) の認証 PPP や VPN などのリモート接続のための Radius 認証 Apache や IIS などの Web サーバの Basic 認証や Form 認証

ID 連携による統合認証とは? 複数のシステムに同じアカウントとパスワードを設定 ID 管理データベースは別々になっている システム毎にやるのは大変 統合 ID 管理機能 を持つソフトウェアを導入するのが一般的 統合 ID 管理ソフトは 複数システムのアカウントとパスワードを集中管理 1 ヶ所で ID を登録すると複数のシステムへ自動的に ID を一括登録する機能 ユーザが 1 ヶ所でパスワードを変更すると関連するすべてのシステムのパスワードを変更する機能 既存システムにできる限り手を加えずに実現できる方式として大変実用的 パッケージソフト利用や SaaS 利用において ID 統合による統合認証 に対応していない場合にも有用な方法 Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 14 -

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 15 - ID 連携による統合認証 SP IdP:LDAP サーバ ログイン 認証 ユーザー情報ユーザー情報 ログイン SP ログイン SP 認証 ユーザー情報ユーザー情報 ID 連携サーバユーザ登録パスワード変更 IdP:AD サーバ ユーザ登録を AD と LDAP に一括して行う パスワード変更も同時に行う

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 16 - ID 統合による統合認証とは? 望ましい形は ID をひとつに集約し これですべての認証を統合してしまうこと ID 連携による統合認証は 導入費用が既存ソフトを改修する費用よりも安くないとメリットはない ID をひとつに統合する方法 1 UNIX/Linux 上の LDAP による統合認証 2 Windows ActiveDirectory による統合認証 3 UNIX/Linux 上の ActiveDirectory による統合認証 4 Windows 上の LDAP による統合認証 RDB による ID 統合は不可能ではないが容易ではない

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 17 - ID 統合による統合認証 SP ログイン 認証 ログイン SP 認証 ユーザー情報ユーザー情報 ログイン SP IdP:LDAP または AD サーバ

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 18 - UNIX/Linux 上の LDAP による統合認証 サーバやクライアントに UNIX/Linux(Mac OS X も UNIX 系 ) を利用している場合に推奨 メールサーバや Web サーバ アプリケーションサーバが UNIX/Linux 上で動作している場合も推奨 UNIX/Linux が標準で PAM (Pluggable Authentication Module:ID とパスワードで認証するモジュール IC カード認証や生体認証など他の認証方式も PAM があれば実現可能 ) と NSS(Name Service Switch: ユーザやプロセスに UNIX の uid,gid を提供する ) をサポートしている Java や Ruby, Perl, PHP, Python などのプログラム言語が LDAP のクラスやモジュールを提供している PAM は UNIX/Linux の OS ログインから それの上で動く様々なサーバソフトの認証も制御することのできるモジュールで大変汎用的にできているため PAM に対応している vsftp や sshd, postfix, dovecot などは簡単に LDAP 認証に切り替えることが可能 Apache や ProFTPd や FreeRADIUS など PAM 経由だけでなく 直接 LDAP の API を利用することで LDAP 認証を実現しているものもある すべての OS やプログラムが認証データベースもしくは認証プロトコルとして LDAP のそれを利用することで同じ ID とパスワードで OS やアプリにログインできることになる

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 19 - Windows ActiveDirectory による統合認証 Windows では標準機能で実現可能 クライアントを AD ドメインに参加 UNIX/Linux の場合でも PAM を使うことで利用可能 1 LDAP の PAM を使う方法 2 Kerberos の PAM を使う方法 3 Samba の Winbind 機能の PAM を使う方法

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 20 - LDAP の PAM を使う方法 認証後プロセスが動作するための uid,gid が必要になるため これを NSS から利用できるようにするには AD 側に SUA(Subsystem for UNIX-based Applications) などを使って UNIX 用の拡張スキーマを入れる必要がある AD を変更する必要があるので敬遠されがち

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 21 - Kerberos の PAM を使う方法 Kerberos サーバで認証後にチケットもらってサーバにアクセスする方法 セキュリティが強固になるが uid,gid が必要 Kerberos サーバは提供してくれないため AD 側に UNIX 用の拡張スキーマを入れ NSS だけ NIS を使う Kerberos のチケットを使うことができるので 一度ログインすれば同じ PAM を使うサービスに再度パスワードを入力せずに利用できる SSO も実現可能

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 22 - Samba の Winbind 機能の PAM を使う方法 Kerberos のチケット方式で認証し udi,gid を Windows の SID( セキュリティ識別子 ) から自動生成することが可能 SUA のインストールは不要 (SUA を入れて AD の UNIX 拡張スキーマで uid,gid を提供することも可能 ) PAM も NSS も Samba が提供する winbind モジュールを使うことで実現可能 認証で Kerberos のチケットを使うことができるので 一度ログインすれば同じ PAM を使うサービスに再度パスワードを入力せずに利用できる SSO も実現可能

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 23 - それぞれの長所と短所 LDAP の制限 Samba を使えば Windows クライアント統合認証も可能だが Samba3 系では AD のグループポリシーをサポートしていない AD の制限 AD で統合認証するには Windows の CAL が必要ユーザ数が増えるとコストがかさむ Windows サーバの信頼性が UNIX サーバより劣る場合が多く UNIX サーバの認証を AD に任せると Windows サーバの障害が UNIX サーバの障害へつながってしまう AD と LDAP の両方を導入し Windows クライアントには AD を使った統合認証を提供し UNIX/Linux/Mac OS クライアントには LDAP を使った統合認証を提供し AD と LDAP の間を ID 連携による統合認証を行うという方式を取るユーザが多い

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 24 - Unicorn ID Manager による AD,LDAP 連携 Web ブラウザから CSV を投入するだけで統合 ID 管理 Active Directory ユーザー情報パスワード情報 LDAP LDAPS Unicorn ID Manager Provisioning API (HTTPS) Google Google Apps Apps ユーザー情報パスワード情報 ユーザー情報パスワード情報 Web 画面パスワード変更 管理者 Web 管理画面 CSV ファイルアップロード 一般ユーザー

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 25 - UNIX/Linux 上の AD による統合認証 AD と LDAP 両方の欠点を補う方法 UNIX / Linux 上で AD を動作させ統合認証する方法 AD とほぼ同機能を持った Samba4 が現在開発中 LDAP による統合認証が実現できる ( 今年 2011 年こそリリースして欲しい ) UNIX/Linux クライアントは LDAP クライアントになる Windows クライアントは Samba4 を通して LDAP の中に格納された ID で AD(Kerberos) 認証が可能

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 26 - Windows 上の LDAP による統合認証 AD は LDAP の機能を包含しており Windows の上で AD ではない LDAP を動かす意義はあまり無い しかし OpenLDAP などの UNIX 系 LDAP の代わりに AD を使うのは品質 性能 柔軟性の綿で不安要素が多い OpenLDAP for Windows という OSS の製品もある Java の上で動く OpenDS/OpenDJ や Oracle Directory Server など商用の LDAP 製品も多数ある Windows サーバの上で OpenLDAP を利用する場合も CAL を購入する必要がある 商用製品の場合は該当製品のユーザライセンスに加え Windows の CAL の 2 重の費用がかかる Windows XP,Vista,7 クライアントの上にサーバソフトをインストールしてサーバ用途に利用することは費用がかかる以前にライセンス違反となる (Windows クライアント製品の場合 サーバプロセスへの同時接続数に制限がかけられている )

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 27 - シングルサインオンとは 1 回のパスワード入力で複数のシステムやサービスを同時利用 ID 統合を使った統合認証 では ID とパスワードの管理を 1 カ所でできるためユーザの追加も楽 社員が退社した場合に 1 カ所 ID を削除すれば すべてのシステムが利用不可となる 近年クラウドサービス (SaaS, PaaS, IaaS, HaaS など ) の普及により ( 社外にある ) サービス毎に ID/ パスワードを登録しなければならないケースが増えており ID 連携による統合認証 を使わざるを得ないケースが増えている ところがこの ID 連携が費用の問題や技術的な問題で完全に実現されていない場合 例えば社員が退社した時に社内システムの ID を削除しても SaaS 側の ID が残っているとクラウド側のシステムは社外から使えてしまう といった問題が起きてしまう

クラウドで統合認証ができていないと... インターネット ログイン ログイン クラウド サービス Google Apps SalesForce など プライベートクラウド /ASP B2B,B2C SP SP 認証 認証 IdP IdP ユーザー情報ユーザー情報 ユーザー情報ユーザー情報 ログイン イントラネット 社内向けシステム システム毎にログイン操作が必要 クラウドにID/ パスワードとパスワードを置く必要がある ( パスワードを社外に置くと不正ログインされる危険性が高い ) ユーザー情報ユーザー情報 Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 28 - SP 認証 IdP

クラウドで統合認証と SSO を実現する DMZ (1) LDAP/AD ID/Pass ログイン インターネット 認証はすべて社内で行う IdP 認証チケット パスワードは社内で管理 (2) (3) アクセス アクセス 認証チケット / リバースプロクシ アクセス ユーザー SAML 認証 認証チケット / リバースプロクシ SP クラウド サービス Google Apps SalesForceなど プライベートクラウド /ASP B2B,B2C イントラネット 社内向けシステム SP Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 29 - SP

Part 3 LDAP 概念と設計入門 Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 30 -

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 31 - LDAP とは? ディレクトリサービスを利用するための規約の 1 つ (RFC で定義 ) ディレクトリサービスとは キーを基に関連情報を取り出す仕組み ユーザ管理 電話帳 リソース管理などに利用 高機能だが運用負荷や開発コストが高かった ITU- T 勧告の X.500 ディレクトリ サービスを 90 % の機能を 10 % のコストで実現する ために設計 商用 LDAP 製品も多数存在 Sun Java Directory Server, Red Hat Directory Server, Novell edirectory など MS Active Directory も LDAP 準拠 ( 認証は Kerberos) オープンソースソフト OpenLDAP Linux ディストリビューションに同梱されるオープンソースの LDAP Red Hat / Fedora Directory Server かつての Netscape Directory Server を OSS にしたもの (RH は有償 Fedora は無償 ) Apache Directory Server Apache プロジェクトが進める Java で書かれた DS

LDAP のプロトコルスタック (X.500 との違い ) Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 32 -

LDAP において X.500 から削除されたもの Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 33 -

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 34 - ディレクトリの機能モデル DSA(Directory Service Agent): ディレクトリ情報を管理する個々のシステム ディレクトリは DSA の集合体として構成される DUA(Directory User Agent): ディレクトリの利用者に代わってディレクトリへアクセスする機能 ( プログラムやコマンド ライブラリ ) LDAP では単純に LDAP サーバーと LDAP クライアントと呼ぶことが多い

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 35 - LDAP 概念を勉強のための参考書 LDAP ハンドブックディレクトリ サービス標準プロトコル 出版社 : ソフトリサーチセンター (2002/03) 発売日 : 2002/03

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 36 - LDAP と RDBMS の違い LDAP はネットワークフ ロトコル SQL は言語 LDAP RDBMS 用途 検索性能重視 頻繁な更新には向かない 検索だけでなく頻繁な更新も重視 構造 木構造 ( 行や列といった概念はない ) 表構造 ( 行や列が存在 ) スキーマ 既存の登録済みスキーマ (ObjectClass) を利用するのが一般的 ユーザが業務に合わせて個別に設計し 利用する 更新 トランザクションの概念はない ( トランザクション機能を持った製品もある ) 大量更新には向かないので1 時間に数件といった更新頻度のものに利用する トランザクションの概念あり 1 秒間に何十 何百もの更新に耐えられる設計となっている 分散 ツリーの枝単位で分散配置が可能 キーの範囲で分散配置が可能 操作 LDAP( ネットワークプロトコル ) で操作プロトコルは単純 SQL( プログラム言語 ) で操作複雑な操作が可能 検索手法 木の枝葉をたどるイメージ 表の行を走査するイメージ

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 37 - LDAP 概念に関する勘違い RDBMS は永続的なユーザ情報を蓄えるために使う LDAP は管理情報を集約するために使う ( 社員 DB は RDMS 全社認証システムは LDAP) LDAP は検索重視となっているが RDB より必ずしも早いわけではない LDAP はスケールアウト型負荷分散がやりやすいから 更新がすぐに反映されるとは限らない ユーザ追加やパスワード変更がすぐにされないことがある ( だから Windows はパスワードをキャッシュする ) マルチマスターの利用は要注意 トランザクションやロックの概念が弱い uid,gid の自動割り振りを LDAP でやると危険

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 38 - 負荷分散方法 1: レプリケーション 同じ内容のサーバを複数用意する サーバを増やすだけでスケールアウトする 負荷分散装置や ldap.conf で負荷を分散 1 つのサーバが持つデータ量は同じなので規模が大きくなると更新性能が低下 Syncrepl ではサブツリーだけを複製することも可能 (slave) (master) (slave) グループ A グループ B

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 39 - 負荷分散方法 2: リファラル サブツリー単位でサーバを分散する ldap.conf で base ツリーを変える ( 負荷分散というよりも管理分散 ) 1 サーバがもつデータ量が減るので更新性能も上がる referral が返ったら別なサーバを見に行くのはプログラム側の責任 分散管理 (referral) 東京本社 LDAP サーバ 大阪支社 LDAP サーバ 本社社員 支社社員

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 40 - DIT(Directory information Tree) の概念 概念として組織構造をあげる書籍が多いが... 会社 営業部技術部人事部 営業一課 開発 1 課 開発 2 課

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 41 - DIT(Directory information Tree) の概念 実構造としては管理単位で分ける dc=company,dc=com ou=users ou=groups ou=computers uid=odagiri cn=sales cn=tech

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 42 - DIT(Directory information Tree) の設計 (1) 組織構造にマッピングしないこと 管理対象で分ける dc=company,dc=com ou=users ou=tokyo ou=osaka uid=odagiri ou=groups uid=takeda cn=tech ou=computers cn=sales

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 43 - DIT(Directory information Tree) の設計 (2) 組織構造にマッピングしないこと 管理対象で分ける dc=company,dc=com ou=tokyo ou=users ou=groups ou=computers uid=odagiri cn=tech ou=osaka ou=users ou=groups uid=takeda cn=sales

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 44 - LDAP で何ができるか? Linux ユーザの統合管理 (Mail,FTP,Telnet,Proxy,ssh など ) Samba/Windows ユーザの統合管理 Web サーバ (Apache) のアクセス制御 電話帳 メールアドレス帳 PKI( 公開キー ) の保管場所として LDAP のスキーマはむやみに拡張しない本当に必要か精査する

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 45 - OpenLDAP が標準で提供するスキーマ (1) 標準提供のスキーマを見れば LDAP 何ができるかわかる core.schema LDAP の核となるスキーマ 以下の RFC で定義されたスキーマが定義されている RFC 2252/2256 (LDAPv3) RFC 1274 (uid/dc) RFC 2079 (URI) RFC 2247 (dc/dcobject) RFC 2587 (PKI) RFC 2589 (Dynamic Directory Services) RFC 2377 (uidobject) これだけでは何もできないが CN や OU など他のスキーマを使うための基本部分が定義されている cosine.schema X.500 や X.400 で規定されたアトリビュートなど以下のようなものが定義されている RFC1274 で定義される host,manager, documentidentifier など DNS レコードである A レコード MX レコード NX レコード SOA レコード CNAME レコード これらから DNS レコードの格納先として LDAP サービスが利用できることがわかる

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 46 - OpenLDAP が標準で提供するスキーマ (2) inetorgperson.schema インターネット 特にメールアドレス帳のためのスキーマで 以下のようなものが定義される メールアドレス 社員番号 オフィスと自宅住所 会社と自宅の電話番号 写真 misc.schema maillocaladdressやnismailaliasなどメールサーバが使うスキーマが定義される nis.schema posixaccountやposixgroupなどlinux/unixのユーザ認証統合に必須なスキーマが定義される NISをLDAPに置き換えるのに必要なスキーマも定義されている samba.schema このスキーマはOpenLDAPではなく Sambaパッケージによって提供されるが Sambaを使って Windows/Linux/UNIXのユーザ認証統合に必須なスキーマが定義される WindowsドメインをSambaに置き換えるのに必要なスキーマも定義されている java.schema javaclassname, javacodebaseなどjava Object (RFC 2713) を扱うためのスキーマが定義される corba.schema corbaior corbarepositoryidなどcorba Object (RFC 2714) を扱うためのスキーマが定義される

アドレス帳の設定例 dn: uid=odagiri, ou=users, dc=osstech,dc=co,dc=jp dn: uid= ユーザ名,ou=Users,dc= ドメイン名,dc=co,dc=jp objectclass: posixaccount objectclass: posixaccount objectclass: inetorgperson objectclass: inetorgperson cn: odagiri cn: ユーザ名 sn: 小田切 sn: 名字 givenname: 名前 givenname: 耕司 mail: メールアドレス mail: odagiri@osstech.co.jp o: 会社名 o: オープンソース ソリューション テクノロジ株式会社 ou: 所属 ou: 技術部 title: 役職 title: チーフアーキテクト employeenumber: 社員番号 employeenumber: 1 telephonenumber: 電話番号 telephonenumber: 03-1234-5678 facsimiletelephonenumber: FAX 番号 facsimiletelephonenumber: 03-8765-4321 mobile: 携帯電話 mobile: 090-5432-1234 st: 都道府県 st: 東京都 l: 市区 l: 品川区東五反田 street: 番地 street: 1-21-10 postaladdress: 番地 postaladdress: 1-21-10 postofficebox: ビル名 postalcode: 郵便番号 postofficebox: 三井住友五反田ビル homepostaladdress: 自宅住所 postalcode: 107-0052 homephone: 自宅電話 homepostaladdress: 神奈川県藤沢市藤沢 123-45 homephone: 0466-23-4567 Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 47 -

Part 4 LDAP 構築 / 設定入門 Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 48 -

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 49 - ソースからコンパイルしてインストール LPIC の試験ではコンパイルの仕方も出る 勉強方法としては configure ; make によるインストールをやっておくこと configure のオプションも確認しておくこと OpenLDAP をコンパイルするのに必要なライブラリ BDB( 今は LDBM GDBM はほとんど使われないが SQL を始めどんなバックエンド DB が使えるか知っておくこと ) OpenSSL(TLS ライブラリとして使われる ) 通信の暗号化 Cyrus SASL 安全な認証方式 Kerberos(MIT か Heimdal) 安全な認証 Kerberos 認証のためのスキーマも LDAP に格納

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 50 - OpenLDAP 勉強のための参考書 OpenLDAP 入門 オープンソースではじめるディレクトリサービス 出版社 : 技術評論社 発売日 : 2003/07 入門 LDAP/OpenLDAP ディレクトリサービス導入 運用ガイド 出版社 : 秀和システム 発売日 : 2007/10

標準インストール : 実システムでの注意 OpenLDAP はどんどん新しくなるので 書籍の情報では古いことがある www.openldap.org のドキュメントを読むしかない 実際の業務システムでは configure ; make でインストールしないこと 業務システムでは RPM や DEB PKG など OS 標準のパッケージ管理システムを使うこと コンパイルするのに必要なライブラリは OS 標準のものを使うのが一般的だが BDB だけは OpenLDAP 専用のものを使った方が良い Red Hat の RPM は BDB だけは OS 標準を使わないように SPEC ファイルが書かれているので これを参考にすると良い 上記理由から Red Hat では OpenLDAP の BDB リカバリに db_recover は使わない! slapd_db_recover を使う Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 51 -

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 52 - LDAP による認証統合 Samba サーバ Windows サーバ LDAP サーバ ユーザ情報グループ情報 Windows ユーザも Linux/Unix/Mac ユーザも同じアカウント / パスワードでリソースが利用可能 Linux / Unix メールサーバ Proxy サーバ FTP サーバなど 共有フォルダ共有プリンタ 共有フォルダ共有プリンタ Windows 端末 Unix/Linux/Mac 端末

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 53 - LDAP の設定 LDAP サーバとしての設定 slapd.conf の設定 LDAP クライアントとしての設定 NSS 設定 PAM 設定 ldap.conf 設定

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 54 - LDAP クライアントとしての設定 NSS( ネーム サービス スイッチ ) 機能 システムのユーザ名 グループ名 ホスト名の解決方法を設定 /etc/nsswitch.conf で 各種情報の取得先を指定可能 PAM 認証機構 アプリケーション毎の認証方法を設定 /etc/pam.d/ の中でアプリケーションごとの認証ルールを指定可能 file NIS LDAP DNS 情報取得 (NSSWITCH) login su ssh ftp ユーザ認証 (PAM) Linux OS

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 55 - ネームサービススイッチ機能 LDAP を認証で使用するには /etc/nsswitch.conf を以下のように変更 passwd: files ldap group: files ldap shadow: files ldap hosts: files dns wins /lib/libnss_ldap.so.2 が呼ばれる /lib/libnss_wins.so.2 を使うと WINS(Windows Internet Name Service) を使って名前解決可能

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 56 - プラグマブル認証機能 /etc/pam.d/system-auth に以下を設定 /etc/pam.d/sshd などに以下を設定

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 57 - NSS と PAM を GUI で簡単設定 (RHEL,CentOS の場合 ) authconfig で設定

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 58 - OpenLDAP サーバの設定 設定ファイル サーバ :/etc/openldap/slapd.conf クライアント : NSS,PAM 用 :/etc/ldap.conf ldapadd などの管理コマンド用 :/etc/openldap/ldap.conf OpenLDAP 管理者ガイド http://www.ldap.jp/doc http://www5f.biglobe.ne.jp/~inachi/openldap/ Red Hat Enterprise Linux 4 リファレンスガイド http://www.redhat.com/docs/manuals/enterprise/rhel-4- Manual/ja/pdf/rhel-rg-ja.pdf

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 59 - /etc/openldap/slapd.conf ハ ラメータ (1) suffix ベース サフィックスを指定する通常はト メイン名をヘ ースに指定例 ) suffix dc=osstech,dc=co,dc=jp suffix "ou=sales,ou=yokohama,o=company,c=jp" CN=commonName L=localityName ST=stateOrProvinceName O=organizationName OU=organizationalUnitName C=countryName STREET=streetAddress DC=domainComponent UID=userid

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 60 - /etc/openldap/slapd.conf ハ ラメータ (2) rootdn LDAP サーバの管理者の DN(Distinguished Name: 識別名 ) を指定する なお管理者 DN を含むユーザ DN には 英大文字 英子文字の区別はない 管理者 DN の例 ) rootdn "cn=manager,dc=osstech,dc=co,dc=jp" rootpw LDAP サーバの管理者パスワードを設定する そのままのパスワードを指定するか暗号化したものを設定する 例 )secret1234 というパスワードを SSHA ハッシュする # slappasswd -s secret1234 -h {SSHA} rootdn を LDAP に登録されているユーザを指定し LDAP の中にパスワードが格納されていれば rootpw を指定する必要はない

/etc/openldap/slapd.conf ハ ラメータ (3) include 与えたファイルから追加の設定情報を読み込む 通常はスキーマ定義ファイルを読み込むために使用する例 ) include /etc/openldap/schema/samba.schema database LDAP のデータを格納するのに使用するバックエンド データベースを指定 directory database ファイルを格納するディレクトリを指定 例 )directory /var/lib/ldap index 作成する索引の属性とタイプを指定する 例 1) uid,gid に関して equal( 等値 ) 検索用の索引を作成 index uidnumber,gidnumber eq 例 2) mail( メールアドレス ) surname( 名字 ) に関して equal 検索用と subinitial( 前方一致 ) の索引を作成 index mail,surname eq,subinitial Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 61 -

/etc/openldap/slapd.conf ハ ラメータ (4) Slapd.conf の例 : サフィックスを "dc=osstech,dc=co,dc=jp" 管理者 DN を "cn=manager,dc=osstech,dc=co,dc=jp" 管理者パスワードを secret1234 include /etc/openldap/schema/core.schema include /etc/openldap/schema/cosine.schema include /etc/openldap/schema/inetorgperson.schema include /etc/openldap/schema/nis.schema database bdb directory /var/lib/ldap suffix "dc=osstech,dc=co,dc=jp rootdn "cn=manager,dc=osstech,dc=co,dc=jp rootpw secret1234 index objectclass,uidnumber,gidnumber,memberuid eq index cn,mail,surname,givenname eq,subinitial index uid pres,eq index rid eq 設定が終了したら OpenLDAP デーモンを起動させる # service ldap restart Red Hat 系 システム起動時に自動的に動くように以下を設定 # chkconfig ldap on Red Hat 系 Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 62 -

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 63 - LPIC301 LDAP 例題解説 http://www.lpi.or.jp/skillcheck/301/index.php 各自自宅で挑戦してみてください

Part 5 やってはいけない OpenLDAP サーバ構築 Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 64 -

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 65 - Web の情報を鵜呑みにしないこと! LDAP(OpenLDAP や RedHatDS,ApacheDS) に関する情報はとても少ない 特に日本語は少ない 本当に正しい ( 推奨 ) 設定に関する情報が少ない OpenLDAP の品質は近年急速に良くなった ディストリビューションに含まれる OpenLDAP のバージョンに注意が必要 心配なら有償サポートや LDAP ユーザ会メーリングリストなどに聞きましょう

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 66 - やってはいけない OpenLDAP サーバ構築 バージョンの古い OpenLDAP は使うな! replog(slurpd) は使うな! 複数 LDAP を同時更新してはいけない! TLS を使おう (SSL じゃあないんだよ )

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 67 - バージョンの古い OpenLDAP は使うな! OpenLDAP 2.3 以前はサポート終了 OpenLDAP 2.3.40 以前は複製が抜ける BDB アクセスでデッドロックなどのバグあり OpenLDAP 2.0 OpenLDAP 2.1 OpenLDAP 2.2 OpenLDAP 2.3 OpenLDAP 2.4 初期リリース 2000 年 8 月 2002 年 6 月 2003 年 12 月 2005 年 6 月 2007 年 10 月 最終リリース 2002 年 9 月 2004 年 4 月 2005 年 11 月 2008 年 7 月 2010 年 7 月 最新版 2.0.27 2.1.30 2.2.30 2.3.43 2.4.23 サポートの有無 終了 終了 終了 終了 サポート中 採用 Linux RHEL3 (2.0.27) 2002/9 RHEL4 (2.2.13) 2004/6 RHEL5 (2.3.43) 2010/2 RHEL6 (2.4.19) 2009/10 推奨複製方式 replog replog replog syncrepl syncrepl Mirror mode

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 68 - replog(slurpd) は使うな! replog は運用が大変 エラーリカバリは手操作 スレーブの追加時にマスターを止める必要あり スレーブ故障後の修復でもマスターを止める必要あり スレーブ台数が多いと性能劣化 syncrepl は運用が楽 エラーリカバリは自動 スレーブの追加時にマスターを止める必要なし スレーブ故障後の修復でもマスターを止める必要なしデータを空にして再起動すれば自動修復 syncrepl は OpenLDAP 2.2.30 / 2.3.41 以降が安全

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 69 - 複数 LDAP を同時更新してはいけない! OpenLDAP 2.4 よりマルチマスター ( ミラーモードに対応 ) マルチマスター構成は書き込み可能な LDAP サーバーを複数設置する機能 1 台の LDAP サーバーが故障しても ほかのサーバーに切り替えができればサービスに影響がない データの整合性はデータベースのようなロックする機能を使わずタイムスタンプを使って管理しているので 連続の書き込みが異なる LDAP サーバーに分散された場合は データの不整合が発生する可能性がある 基本的に書き込み操作を 1 台の LDAP に集中するデザインが必須である 例えば ユーザの uid,gid 自動割り振りを LDAP のカウントを使ってやるのは危険である

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 70 - 操作ログによるマルチマスターの動き Server1 Server2 dn: cn=group-x member:user0 dn: cn=group-x member:user0 Add Member:User1 Add Member:User2 dn: cn=group-x member:user0 member:user1 dn: cn=group-x member:user0 member:user2 dn: cn=group-x member:user0 member:user1 member:user2 Add Member:User2 Add Member:User1 dn: cn=group-x member:user0 member:user1 member:user2

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 71 - エントリ複製方式によるマルチマスターの動き Server1 dn: cn=group-x member:user0 Server2 dn: cn=group-x member:user0 Add Member:User1 Add Member:User2 dn: cn=group-x member:user0 member:user1 エントリ全体を置き換える dn: cn=group-x member:user0 member:user2 dn: cn=group-x member:user0 member:user2 User1 の情報は消えてしまう タイムスタンプの古いものは捨てられる dn: cn=group-x member:user0 member:user2 dn: cn=group-x member:user0 member:user2

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 72 - TLS を使おう (SSL じゃあないんだよ ) Mac OS X を LDAP クライアント (LDAP 認証 ) にするには OpenLDAP で TLS か SASL の設定が必要 暗号なしの Simple 認証は Mac OS X では受け付けない セキュリティ強化のためには TLS を使った方が良い OpenLDAP は SSL ではなく TLS をサポート 正確には SSL と TLS は違う OpenLDAP は OpenSSL で実装されており OpenSSL は SSL と TLS の両方をサポートしているので OpenLDAP は SSL と思われているが正確には TLS を使う

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 73 - 実は知らないと困る BDB コマンドとパラメータ 現在 OpenLDAP の推奨バックエンドは BDB なので BDB のチューニングやコマンドを知ることも重要 slapd.conf checkpoint < 更新量 > < 間隔 > cache size < エントリ数 > DB_CONFIG cachesize DB_LOG_AUTOREMOVE lg_max db_recover (slapd_db_recover) コマンド予期しないアプリケーション データベース またはシステムの障害が発生した後 データベースを整合性のある状態に復元します db_verify (slapd_db_verify) コマンドファイルおよびファイル内に含まれるデータベースの構造を検証します db_archive(slapd_db_archive) 不要になったログファイルを表示したり 削除する

Copyright 2011 Open Source Solution Technology Corporation All Rights Reserved. - 74 - まとめ > 実システム構築での注意点 DIT は複雑にしない 組織にマッピングしない 管理者にあわせる 自分で configure,make はしない OS 標準の BDB は使わない 複製の仕組みの理解 セキュリティに対する考慮 TLS 通信や SASL GSSAPI 機構による認証 rootdn と複製 dn を分ける プログラム毎に使用する dn を分ける 細かなアクセス制御