質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

LDAP

LDAPは、ディレクトリデータベースにアクセスするためのプロトコルです。ディレクトリデータベースとは、ネットワークに存在するメールアドレスや環境などさまざまな情報を一元的に管理するサービスのことで、クライアントはLDAPサーバにアクセスしてユーザ名から検索や追加などの操作することができます。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

解決済

1回答

2342閲覧

Dockerを利用したopenLDAP(phpLDAPadmin)にパスワードポリシーを適用する

what_a_cool

総合スコア5

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

LDAP

LDAPは、ディレクトリデータベースにアクセスするためのプロトコルです。ディレクトリデータベースとは、ネットワークに存在するメールアドレスや環境などさまざまな情報を一元的に管理するサービスのことで、クライアントはLDAPサーバにアクセスしてユーザ名から検索や追加などの操作することができます。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

0クリップ

投稿2020/04/11 11:38

編集2020/04/11 15:27

前提・実現したいこと

macOSでDockerを利用して、OpenLDAP(+phpLDAPadmin)環境を構築しました。
phpLDAPadminから「pwdPolicy」(パスワードポリシー)の情報を設定したいのですが、
設定しようとするとエラーが発生します。
エラー回避の仕方がわからず困っています。

発生している問題・エラーメッセージ

LDAP said: Invalid syntax
Error number: 0x15 (LDAP_INVALID_SYNTAX)
Description: An invalid attribute value was specified.

設定情報

openldap:1.1.11
phpldapadmin:0.7.1

*docker-compose.ymlの定義は以下の通り

version: '2'

services:
openldap:
image: osixia/openldap:1.1.11
container_name: openldap
environment:
LDAP_ORGANISATION: "example"
LDAP_DOMAIN: "example.com"
LDAP_ADMIN_PASSWORD: "password"
ports:
- "10389:389"

phpldapadmin:
image: osixia/phpldapadmin:0.7.1
container_name: phpldapadmin
environment:
PHPLDAPADMIN_LDAP_HOSTS: "ldap"
PHPLDAPADMIN_HTTPS: "false"
ports:
- "18080:80"
links:
- "openldap:ldap"

補足情報(FW/ツールのバージョンなど)

通常のユーザ情報はphpLDAPadminから登録できております。
ググったところ、通常、LinuxOSなどのサーバにインストールした場合、
パスワードポリシーを設定する際は「sldap.conf」を書き換えるか
コマンドでポリシー適用出来るようですが、今回の構築ケースでは当てはまらないため
エラー回避の仕方をご存知の方がいれば教えていただきたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TaichiYanagiya

2020/04/11 15:02

openldap のバージョン、設定を教えてください。 ppolicy は有効にしているのですよね?
what_a_cool

2020/04/11 15:25

>ppolicy は有効にしているのですよね? 有効に出来ておりません。有効の仕方はご存知でしょうか? >openldap のバージョン、設定を教えてください。 バージョンは「1.1.11」です。 docker-compose.ymlの定義は以下の通りです。 version: '2' services: openldap: image: osixia/openldap:1.1.11 container_name: openldap environment: LDAP_ORGANISATION: "example" LDAP_DOMAIN: "example.com" LDAP_ADMIN_PASSWORD: "password" ports: - "10389:389" phpldapadmin: image: osixia/phpldapadmin:0.7.1 container_name: phpldapadmin environment: PHPLDAPADMIN_LDAP_HOSTS: "ldap" PHPLDAPADMIN_HTTPS: "false" ports: - "18080:80" links: - "openldap:ldap"
guest

回答1

0

ベストアンサー

osixia/openldap:1.1.11 は docker イメージのバージョンですね。
https://github.com/osixia/docker-openldap/tree/v1.1.11 を見ると OpenLDAP 2.4.44 のようです。

ppolicy モジュールが有効になっていないので、docker exec -it openldap /bin/bash で "openldap" コンテナのシェルに入って、設定が必要です。
下記 URL が参考になると思います。

https://tobru.ch/openldap-password-policy-overlay/

###(1) ppolicy モジュール有効化・設定
「OpenLDAP with OLC」箇所を参考に、 ppolicy モジュール有効化・設定を行ないます。
dn の cn=module{0},cn=config, olcOverlay=ppolicy,olcDatabase={1}bdb,cn=config
の番号({0}, {1} など)はサーバーによって異なる可能性があるので、ldapsearch -Y EXTERNAL -H ldapi:// -D cn=config -b cn=config で確認ください。
ldapmodify コマンドも同様に ldapmodify -Y EXTERNAL -H ldapi:// -D cn=config -f ppolicymodule.ldif でできると思います。

###(2) ppolicy 設定
「Definition of a password policy」箇所を参考に、ppolicy の各種パラメータ(属性:値)を設定したLDAP エントリーを作成します。
cn=config ではなく、ドメイン(dc=example,dc=com など)のツリーの方です。

###(3) ユーザー設定
(2) のデフォルトでいいのであれば、各ユーザーの LDAP エントリーはそのまま変更なしでよかったと思いますが、もしかすると objectClass: pwdPolicy を追加する必要があるかもしれません。

投稿2020/04/12 08:24

TaichiYanagiya

総合スコア12173

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

what_a_cool

2020/04/12 14:24

ご丁寧に回答いただきありがとうございました。 本当に助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問