認証プロトコル「 LDAP 」についての概要解説です。「ディレクトリサービスでの認証と通信」のために開発されたソフトウェアプロトコルで、認証技術標準として幅広く利用されています。「情報データベース機能」「認証ハブ機能」「セキュリティ」「認証プロセス」などについて紹介しています。
コンテンツ
「LDAP」とは
認証プロトコル
LDAP(Lightweight Directory Access Protocol)とは、「ディレクトリサービスでの認証と通信」のために開発されたオープンなクロスプラットフォームソフトウェアプロトコルです。
「ディレクトリサービス」とは、「コンピュータアカウント情報」「ユーザー情報」「パスワード情報」などを格納し、ネットワーク上で共有することにより、アプリケーションやユーザーが組織全体から必要な情報を検索できるサービスです。
LDAPディレクトリにデータを保存し、ディレクトリにアクセスするユーザーを認証することで、ユーザー認証プロセスとして利用できます。
クライアント/サーバモデル
LDAPは、クライアント/サーバモデルで動作します。
LDAPサーバ
LDAPサーバは、「ディレクトリサービス機能」と「ユーザーアクセス認証機能」を提供します。
主なLDAPサーバ
・OpenLDAP
・Active Directory
・OpenDJ など
LDAPクライアント
LDAPクライアントは「LDAP認証をサポートするシステムまたはアプリケーション」であり、LDAPサーバに対してユーザー資格情報を提示して、認証を要求します。
主なLDAPクライアント
・OpenVPN
・Docker
・Jenkins
・Kubernetes など
認証技術標準
1997年に登場した「国際化やセキュリティ強化がなされたLDAPv3」は、「ディレクトリサービスのためのインターネット標準」として利用されています。
セキュリティ
セキュリティ問題① 通信の暗号化
LDAPは、アクセス管理のための組み込みレイヤーを備えた標準セキュリティ機能を提供します。
しかし、「LDAPサーバとLDAPクライアント間の通信」は保護しません。
悪意のある攻撃者によって、認証プロセス中に送受信される情報を傍受され、組織のデジタルインフラストラクチャにアクセスされる危険性があります。
そのため、企業はLDAP認証プロセスを通じて安全な暗号化を追加する必要があります。
「SSL/TLS暗号化」などを追加して通信を暗号化して保護することにより、企業の通信チャネルのセキュリティを強化できます。
セキュリティ問題② デフォルトポート
LDAPには『LDAP認証プロセスのデフォルトポート「389」が安全ではない』という潜在的セキュリティ問題があります。
「LDAPv3 TLS拡張」や「StartTLSモード」など、より安全で保護された接続を提供する追加のセキュリティ拡張が必要です。
「LDAP」の主な機能
情報データベース機能
さまざまな情報を保存
LDAPサーバは「柔軟なスキーマを持つデータベース」として機能します。
つまり、LDAPは「ユーザーID+パスワード」の基本認証用情報のみではなく、さまざまな属性情報を保存することもできます。
保存している情報を、他のアプリケーションやサービスに共有できます。
保存される情報の例
LDAPサーバは次のようにさまざまな情報を格納できます。
・ユーザー情報—ID、属性、住所、電話番号、所属グループ、所属組織、アクセス権限情報
・ネットワーク接続デバイス情報—サーバ、クライアント、プリンター
・システム情報—アプリケーション、サービス
・ネットワーク情報
・組織情報
・グループ情報—グループ関連付け
・ファイル情報—共有ファイル など
ディレクトリ情報ツリー
データは「ディレクトリ情報ツリー」と呼ばれる階層構造に格納されます。
データが「分岐するツリー構造」に編成されることで、「管理者がディレクトリをナビゲート」「特定データ検索」「ユーザーアクセスポリシー管理」などが容易になるメリットがあります。
LDAPクエリ
シンプルな文字列ベースクエリである「LDAPクエリ」を使用すると、LDAPサーバ内の各種データ検索が容易になります。
「ldapsearch」「PowerShell」などのユーティリティを使用してクエリを実行することもできます。
認証ハブ機能
LDAPにはさまざまな用途がありますが、「認証と承認のための中央ハブ」としての利用が最も一般的です。
これには、組織がネットワークやアプリケーション全体で「ユーザーID+パスワード」を統合的に管理できるメリットがあります。
ユーザーが「アプリケーション」「ディレクトリ」「システム」にアクセスしようとするごとに、資格情報について検証できます。
「LDAP」の認証プロセス
概要
LDAP認証では、LDAPプロトコルを使用するディレクトリサービスに接続して、提供された「ユーザーID+パスワード」を認証します。
認証プロセス
認証プロセスの段階的な内訳は次のとおりです。
①要求
LDAPクライアントは、LDAPサーバ(データベース)内に格納されているユーザー資格情報(ユーザーID+パスワード)とともに、LDAPサーバに要求を送信します。
②認証
LDAPサーバは、「LDAPクライアントから送信されてきた資格情報」について、LDAPデータベースに保存されているユーザーIDデータと照合することで、認証を実施します。
③アクセス許可(拒否)
認証「成功」の場合、LDAPクライアントはアクセスが許可され、要求された情報(属性、グループメンバーシップ、その他のデータ)を受け取ります。
認証「失敗」の場合、LDAPクライアントはLDAPデータベースへのアクセスを拒否されます。
LDAP実装①「OpenLDAP」
「OpenLDAP」とは
OpenLDAPは、LDAPプロトコルの無料のオープンソース実装です。
単なるプロトコルではなく、LDAPディレクトリソフトウェアとして利用できます。
利点
費用削減効果
OpenLDAPは、ソフトウェアの観点としては無料で利用できます。
これは人気の重要な推進要因であり、OpenLDAPをスタートアップやITチームにとって一般的な選択肢にしています。
柔軟性
オープンソースである利点を活かして、OpenLDAPは非常に柔軟に構成できます。
必要なことを正確に実行できるため、幅広い適用性が得られます。
課題
ランニングコスト
OpenLDAPは、「セットアップ」「保守」「管理」などのためのコスト負担が大きいという課題があります。
サービスに組み込む必要のある単純なソースコードをディレクトリサービスインスタンスに対して「インストール」「構成」「実装」する必要があります。OpenLDAPインスタンスが追加されるほど、セットアップコストは増大します。
また、OpenLDAPでは、ディレクトリの設定と管理は手動であるため、アプリ追加作業やディレクトリ変更作業には手間が発生します。
アプリ依存関係に対応し、ディレクトリの形式と整合性を維持するためには、継続的にかなりの手作業が必要となります。
専門知識が必要
OpenLDAPサーバの構成は複雑であるため、実装および管理に専門知識が必要です。
技術に精通していない人にとっては問題を引き起こす可能性があり、クラウド(SaaS)へのシフトが進むとより困難になる可能性があります。
OpenLDAPのコードへの依存と相まって、OpenLDAPを継続的に利用するためには、最新バージョンの専門知識を必要とすることを意味します。
カバー範囲の限定性
OpenLDAPはLDAPのみを使用するため、OpenLDAPのディレクトリアプローチは、市場に出回っている他のソリューションよりも狭くなります。
SaaSおよびクラウドベースのソリューションがレガシー所有のソフトウェアに取って代わるにつれて、さまざまなソリューションにおいて、ユーザーの認証と承認に使用するプロトコルの数が増えています。
他の最新ディレクトリサービスでは、マルチプロトコルアプローチに追随し始めており、ディレクトリはLDAPと互換性のあるリソースだけでなく、より多くのリソースを統合し、それらをユーザーに接続できるようになっています。
利用が向いている環境
・Linux(Mac)ベース環境:アプリ、ネットワーク機器、NAS(SAN)ストレージシステム
・データセンター環境
・クラウドのサービスとしてのインフラストラクチャテクノロジを活用する組織
・特殊なシステム環境
・レガシーアプリケーション動作環境 など
LDAP実装②「Active Directory」
「Active Directory」とは
「Active Directory(AD)」は、Microsoft独自のディレクトリサービスです。
組織の「データ」「認証」「ポリシー」を格納するために使用されるディレクトリサービスデータベースであり、ユーザーやデバイスのアカウントデータを管理します。
LDAPと連携することでアクセス管理が向上します。
→docs.microsoft.com →windows-server →identity →ad-ds →active-directory-domain-services
特徴
・Windowsベース
・使いやすいGUIを提供—構成設定、ユーザーやグループを管理
・ネットワーク上の任意のリソースを見つけてアクセス—LDAPとDNSの両方を活用
・堅牢な構成機能—Windowsデバイス用グループポリシーオブジェクトなど
・LDAPに加えて他のプロトコルも使用—Microsoft独自の認証プロトコル「Kerberos」
・すべてのWindowsドメインネットワーク要素を管理—「ユーザー」「グループ」「コンピュータ」「セキュリティポリシー」「その他のユーザー定義オブジェクト」
・OpenLDAPよりも機能が豊富
課題
・Windows以外のデバイスを管理するためのアドオンや統合が必要
・Azure ADなどのアドオンを使用して拡張すると、多様で分散した環境を管理するために複雑になる可能性
世界がクラウドに移行し、企業はデバイスとツールを多様化し、アプリケーションがより特殊な認証および承認プロトコルを必要とするにつれて、Active Directoryのみではカバーしきれなくなる可能性が高まっています。
利用が向いている環境
・MicrosoftとWindowsのみに基づいている環境
・Azureクラウドインフラストラクチャを活用する環境—ActiveDirectory+AzureADの組み合わせは非常に有益
日本企業向けクラウドID管理サービス「Keyspider」とは?
Keyspiderオフィシャルサイトでは、Keyspiderに関する情報を紹介しています。
「日本企業向けである理由」「Keyspiderが必要である理由」「JSOX法対応」「業務自動化」などについて参照できます。
参考サイト
- →jumpcloud.com →What is LDAP Authentication?
- →securew2.com →LDAP: Explained
- →sensu.io →What is LDAP and how does it work?
- →fortinet.com →LDAP Authentication
- →calcomsoftware.com →LDAP AUTHENTICATION AND SECURITY – SIGNING, BINDING AND CONFIGURATION
- →jumpcloud.com →The Difference Between LDAP, OpenLDAP, and Active Directory
- →parallels.com →LDAP Vs AD: What’s the Difference?
- →jumpcloud.com →What Is OpenLDAP?