インストール
実験環境にOpenLDAPをインストールした時の記録。
参考:OpenLDAP
まずはおまじない。
└─$ sudo apt update -y && sudo apt upgrade -y
...
以下のパッケージには満たせない依存関係があります:
libwacom9 : 依存: libwacom-common (= 2.4.0-3) しかし、1.8-2 はインストールされようとしています
E: 壊れたパッケージ
いきなりエラーが出たが都度怒られたパッケージをインストールしていく。
└─$ sudo apt install libwacom9 -y
...
以下のパッケージには満たせない依存関係があります:
libwacom2 : 依存: libwacom-common (= 1.8-2) しかし、2.4.0-3 はインストールされようとしています
推奨: libwacom-bin (= 1.8-2)
E: エラー、pkgProblemResolver::Resolve は停止しました。おそらく変更禁止パッケージが原因です。
└─$ sudo apt install libwacom2 -y
更新完了。
続けてOpenLDAPをインストールする。
└─$ sudo apt install slapd ldap-utils -y
...
以下のパッケージには満たせない依存関係があります:
libc6-dev : 破壊: libglib2.0-dev (<= 2.72.3-1) しかし、2.72.2-2 はインストールされようとしています
E: エラー、pkgProblemResolver::Resolve は停止しました。おそらく変更禁止パッケージが原因です。
└─$ sudo apt install libc6-dev -y
しかしまたしてもエラー発生。ここも怒られたパッケージを追加してインストール完了。
LDAPサーバーの設定
└─$ sudo dpkg-reconfigure -p low slapd
「OpenLDAPサーバの設定を省略しますか?」ではTabキーで「いいえ」を選択してEnterキーで決定。
「slapdをパージしたときにデータベースを削除しますか」で「いいえ」を選択。
認証機能のモジュールを追加する
supportedSASLMechanismsを確認する。初期状態では以下のとおり。
└─$ ldapsearch -x -H ldapi:/// -b "" -LLL -s base supportedSASLMechanisms
dn:
supportedSASLMechanisms: EXTERNAL
サポートされるSASL機能を追加する。
参考:Cyrus SASL - pluggable authentication modules (LDAP)
└─$ sudo apt install libsasl2-modules-ldap -y
再度supportedSASLMechanismsを確認する。
└─$ ldapsearch -x -H ldapi:/// -b "" -LLL -s base supportedSASLMechanisms
dn:
supportedSASLMechanisms: SCRAM-SHA-512
supportedSASLMechanisms: SCRAM-SHA-384
supportedSASLMechanisms: SCRAM-SHA-256
supportedSASLMechanisms: SCRAM-SHA-224
supportedSASLMechanisms: SCRAM-SHA-1
supportedSASLMechanisms: DIGEST-MD5
supportedSASLMechanisms: EXTERNAL
supportedSASLMechanisms: CRAM-MD5
supportedSASLMechanisms: NTLM
supportedSASLMechanisms: LOGIN
supportedSASLMechanisms: PLAIN
おまけ
この後実験のためあえてセキュリティ機能をダウングレードした。
ldifを作って適用する。(changetype: modifyはなくても大丈夫だった)
└─$ cat olcSaslSecProps.ldif
#olcSaslSecProps.ldif
dn: cn=config
#changetype: modify
replace: olcSaslSecProps
olcSaslSecProps: noanonymous,minssf=0,passcred
└─$ sudo ldapmodify -Y EXTERNAL -H ldapi:// -f ./olcSaslSecProps.ldif && sudo service slapd restart
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "cn=config"
結果こんなことに。
└─$ ldapsearch -H ldap:// -x -LLL -s base -b "" supportedSASLMechanisms
dn:
supportedSASLMechanisms: LOGIN
supportedSASLMechanisms: PLAIN
以上