ギャバンITサービス
お菓子の家が作れるシステムエンジニアです

dockerコンテナ使ってOpenLDAPでLDAPSを提供させ、centos8からssh接続

※2022年6月にcentos8のdockerコンテナ使えないことに気づいたのとauthselectについての記述が欠けてたので、centosではないredhatクローンを使う方法に 切り替えた。 前に一度作ったdockerコンテナでの環境を、普段使いのdocker環境に追記して最近やり直したのでメモ。 ldap版の 方法はここ 。これを足がかりにしてldapsにしてみる。 phpldapadminではldifファイルってのが扱えて、ou以下のグループとユーザIDをエクスポート・インポートできる。 ldap版で作ったouとかはldifにエクスポートしておき、ldaps版にインポートする。 コンテナ起動のための docker-compose.yml内容はここ。 openldapのコンテナ起動 docker-compose.ymlを用意して起動。 自分のルールとしては、練習じゃなくて常時稼働にするサーバにはコンテナ名の頭に"sv_“をつける。 ldapからldapsにするついでに、phpldapadminもhttpsにしてみる。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 sv_ldap-server: ←★sv_つける image: osixia/openldap:latest restart: always container_name: svldap-server ←★svつける environment: LDAP_ORGANISATION: "gvis" LDAP_DOMAIN: "intra-gavann-it.com" LDAP_ADMIN_PASSWORD: "hogehoge" LDAP_TLS_VERIFY_CLIENT: "never" ←★自己証明書使うから証明書チェックさせない ports: - "11389:389" - "11636:636" ### https://nafslinux.intra.gavann-it.com:11802/ ### cn=admin,dc=intra-gavann-it,dc=com ### hogehoge ### ### 参考URL https://github.com/osixia/docker-phpLDAPadmin ### ### httpsを使うときは、証明書が自動作成されているので取得してクライアント側に設定すること ### コンテナ内の保管先:/container/service/slapd/assets/certs ### ### 参考URL https://github.com/osixia/docker-openldap#use-your-own-certificate sv_ldap-admin: image: osixia/phpldapadmin:latest restart: always container_name: svldap-admin environment: PHPLDAPADMIN_LDAP_HOSTS: "ldap-host" ports: - "11801:80" - "11802:443" ←★https提供してもらうため depends_on: - "sv_ldap-server" links: - sv_ldap-server:ldap-host 起動した後のdocker psはこんな感じ。 ...

dockerコンテナ使ってOpenLDAPへcentos8からssh接続する

※2022年6月にcentos8のdockerコンテナ使えないことに気づいたので、centosではないredhatクローンを使う方法に 切り替えた。 とっかかりは業務での運用。 作ったことなかったので、dockerでOpenLDAPサーバを作っておき、centos8で接続できる方法を探し当てて検証し、同じ方法で業務のredhat8からも接続できた。 業務でdocker使えたらこんなまわりくどいことしないのに・・・。 redhat6/7ではnslcd使えてたらしいが、redhat8ではsssd接続のみに変更になってしまったので、sssd.confの書き方を見つけるために作った。 これがなかなかうまくいかず、rhel8のサポートも使わせてくれなかったので、自分で試しながら設定内容を探り当てた。 sssdはredhat7でも使えてて、8になってからnslcd使わなくなったらしい。 ここではopenldapのコンテナと、それを管理させるためのphpldapadminのコンテナを作っておき、コンテナのcentos8から認証接続させるまでの経緯。 前に一度作ったのを、普段使いの環境に追記して最近やり直したのでメモ。 コンテナ起動のための docker-compose.yml内容はここ。 openldapのコンテナ起動 docker使ってldapするにはopenldap使うらしい。 hub.docker.com githubに詳細がある。slapdっていうデーモン使うらしい。 GitHub - osixia/docker-openldap: OpenLDAP container image 🐳🌴 github.com slapdの最新は今見たら2.5.7。 www.openldap.org githubにあるosixiaは1.5で、dockerコンテナ内で使ってるopenldapを見てみたら2.4.57。openldapが最新ではないけど、コンテナ定期的に作り直すし、まぁいいか。 1 2 3 4 root@0e1af753333d:/# slapd -V @(#) $OpenLDAP: slapd 2.4.57+dfsg-1~bpo10+1 (Jan 30 2021 06:59:51) $ Debian OpenLDAP Maintainers <pkg-openldap-devel@lists.alioth.debian.org> root@0e1af753333d:/# docker-compose.ymlを少し書いて用意する。ちょろい。1分もかからない。 以下、このときのdocker-composeの抜粋。 1 2 3 4 5 6 7 8 9 10 11 12 nari@nafslinux-intra-gavann-it-com:/docker$ docker-compose up ldap-server Pulling ldap-server (osixia/openldap:latest)... latest: Pulling from osixia/openldap 45b42c59be33: Already exists ae7fb8f59730: Pull complete 55443d9da5d5: Pull complete :(中略) ldap-host | 614e0e11 @(#) $OpenLDAP: slapd 2.4.57+dfsg-1~bpo10+1 (Jan 30 2021 06:59:51) $ ldap-host | Debian OpenLDAP Maintainers <pkg-openldap-devel@lists.alioth.debian.org> ldap-host | 614e0e11 slapd starting phpldapadminのコンテナ起動 docker-compose.ymlを少し書いて用意する。これも1分以内で終わる。 ...