OpenLDAPのインストールと設定
LDAPとして知られています Light Weight Directory Access Protocolディレクトリから知られている企業内のX.500サービスコンテナにアクセスするために使用されるプロトコルです。Windows Serverの管理に精通している人は、LDAPをActiveDirectoryと本質的に非常に似ていると考えることができます。これは、WindowsワークステーションをOpenLDAPCentOSエンタープライズに絡み合わせるという広く使用されている概念ですらあります。一方、CentOS Linuxワークステーションは、リソースを共有し、Windowsドメインの基本機能に参加できます。
LDAPをCentOSにDirectoryServer Agent、Directory System Agent、またはDSA(これらの略語はすべて同じです)として展開することは、NDSでDirectoryTree構造を使用する古いNovellNetwareインストールに似ています。
LDAPの簡単な歴史
LDAPは基本的に、エンタープライズリソースを使用してX.500ディレクトリにアクセスするための効率的な方法として作成されました。X.500とLDAPはどちらも同じ特性を共有し、非常に類似しているため、LDAPクライアントはいくつかのヘルパーを使用してX.500ディレクトリにアクセスできます。LDAPには、という独自のディレクトリサーバーもあります。slapd。LDAPとDAPの主な違いは、軽量バージョンはTCP上で動作するように設計されていることです。
一方でDAPは完全なOSIモデルを使用しています。今日のネットワークにおけるインターネット、TCP / IP、およびイーサネットの卓越性の出現により、特定のレガシーコンピューティングモデルの外部でDAPとネイティブX.500エンタープライズディレクトリの両方を使用するディレクトリサービスの埋め込みに遭遇することはめったにありません。
CentOSLinuxのopenldapで使用される主なコンポーネントは次のとおりです。
openldap | LDAPサポートライブラリ |
---|---|
openldap-server | LDAPサーバー |
openldap-クライアント | LDAPクライアントユーティリティ |
openldap-devel | OpenLDAPの開発ライブラリ |
compay-openldap | OpenLDAP共有ライブラリ |
平手打ち | OpenLDAPのディレクトリサーバーデーモン |
slurpd | エンタープライズドメイン全体のLDAPレプリケーションに使用されます |
Note −企業に名前を付けるときは、を使用することをお勧めします .localTLD。.netまたは.comを使用すると、オンラインドメインインフラストラクチャと内部ドメインインフラストラクチャを分離するときに問題が発生する可能性があります。acme.comを外部と内部の両方の運用に使用している企業の余分な作業を想像してみてください。したがって、acme.comまたはacme.netと呼ばれるインターネットリソースを用意することをお勧めします。次に、ローカルネットワークエンタープライズリソースはacme.localとして表されます。これにはDNSレコードの構成が必要ですが、シンプルさ、雄弁さ、セキュリティの面でメリットがあります。
CentOSにOpenLDAPをインストールする
YUMからopenldap、openldap-servers、openldap-clients、migrationstoolsをインストールします。
[root@localhost]# yum -y install openldap openldap-servers openldap-clients
migration tools
Loaded plugins: fastestmirror, langpacks
updates
| 3.4 kB 00:00:00
updates/7/x86_64/primary_db
| 2.2 MB 00:00:05
Determining fastest mirrors
(1/2): extras/7/x86_64/primary_db
| 121 kB 00:00:01
(2/2): base/7/x86_64/primary_db
| 5.6 MB 00:00:16
Package openldap-2.4.40-13.el7.x86_64 already installed and latest version
Resolving Dependencies
--> Running transaction check
---> Package openldap-clients.x86_64 0:2.4.40-13.el7 will be installed
---> Package openldap-servers.x86_64 0:2.4.40-13.el7 will be installed
--> Finished Dependency Resolution
base/7/x86_64/group_gz
| 155 kB 00:00:00
Dependencies Resolved
===============================================================================
===============================================================================
Package Arch
Version Repository Size
===============================================================================
===============================================================================
Installing:
openldap-clients x86_64
2.4.40-13.el7 base 188 k
openldap-servers x86_64
2.4.40-13.el7 base 2.1 M
Transaction Summary
===============================================================================
===============================================================================
Install 2 Packages
Total download size: 2.3 M
Installed size: 5.3 M
Downloading packages:
Installed:
openldap-clients.x86_64 0:2.4.40-13.el7
openldap-servers.x86_64 0:2.4.40-13.el7
Complete!
[root@localhost]#
それでは、slapdサービスを開始して有効にしましょう-
[root@centos]# systemctl start slapd
[root@centos]# systemctl enable slapd
この時点で、/ etc / openldapにopenldap構造があることを確認しましょう。
root@localhost]# ls /etc/openldap/
certs check_password.conf ldap.conf schema slapd.d
[root@localhost]#
次に、slapdサービスが実行されていることを確認します。
root@centos]# netstat -antup | grep slapd
tcp 0 0 0.0.0.0:389 0.0.0.0:* LISTEN 1641/slapd
tcp6 0 0 :::389 :::* LISTEN 1641/slapd
[root@centos]#
次は、私たちの設定でき開き、LDAPのインストールを。
システムLDAPユーザーが作成されていることを確認してください。
[root@localhost]# id ldap
uid=55(ldap) gid=55(ldap) groups=55(ldap)
[root@localhost]#
LDAP資格情報を生成します。
[root@localhost]# slappasswd
New password:
Re-enter new password:
{SSHA}20RSyjVv6S6r43DFPeJgASDLlLoSU8g.a10
[root@localhost]#
slappasswdからの出力を保存する必要があります。
OpenLDAPの設定
Step 1 −ドメインのLDAPを構成し、管理ユーザーを追加します。
まず、openLDAP環境をセットアップします。以下は、ldapmodifyコマンドで使用するテンプレートです。
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=vmnet,dc=local
dn: olcDatabase = {2}hdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=ldapadm,dc=vmnet,dc=local
dn: olcDatabase = {2}hdb,cn=config
changetype: modify
replace: olcRootPW
olcRootPW: <output from slap
ldapmodifyコマンドを使用して、/ etc / openldap / slapd.d / cn = config / olcDatabase = {1} monitor.ldifに変更を加えます。
[root@localhost]# ldapmodify -Y EXTERNAL -H ldapi:/// -f /home/rdc/Documents/db.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber = 0+uidNumber = 0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "olcDatabase = {2}hdb,cn=config"
modifying entry "olcDatabase = {2}hdb,cn=config"
modifying entry "olcDatabase = {2}hdb,cn=config"
[root@localhost cn=config]#
変更されたLDAP構成を確認しましょう。
root@linux1 ~]# vi /etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif
[root@centos]# cat /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{2\}hdb.ldif
# AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify.
# CRC32 a163f14c
dn: olcDatabase = {2}hdb
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {2}hdb
olcDbDirectory: /var/lib/ldap
olcDbIndex: objectClass eq,pres
olcDbIndex: ou,cn,mail,surname,givenname eq,pres,sub
structuralObjectClass: olcHdbConfig
entryUUID: 1bd9aa2a-8516-1036-934b-f7eac1189139
creatorsName: cn=config
createTimestamp: 20170212022422Z
olcSuffix: dc=vmnet,dc=local
olcRootDN: cn=ldapadm,dc=vmnet,dc=local
olcRootPW:: e1NTSEF1bUVyb1VzZTRjc2dkYVdGaDY0T0k =
entryCSN: 20170215204423.726622Z#000000#000#000000
modifiersName: gidNumber = 0+uidNumber = 0,cn=peercred,cn=external,cn=auth
modifyTimestamp: 20170215204423Z
[root@centos]#
ご覧のとおり、LDAPエンタープライズの変更は成功しました。
次に、OpenLDAP用の自己署名SSL証明書を作成します。これにより、エンタープライズサーバーとクライアント間の通信が保護されます。
Step 2 −OpenLDAPの自己署名証明書を作成します。
opensslを使用して、自己署名SSL証明書を作成します。次の章に進み、Create LDAP SSL Certificate with opensslOpenLDAPとの通信を保護するための手順については。次に、SSL証明書が構成されると、OpenLDAPエンタープライズ構成が完了します。
Step 3 −証明書との安全な通信を使用するようにOpenLDAPを設定します。
次の情報を使用してvimでcerts.ldifファイルを作成します-
dn: cn=config
changetype: modify
replace: olcTLSCertificateFile
olcTLSCertificateFile: /etc/openldap/certs/yourGeneratedCertFile.pem
dn: cn=config
changetype: modify
replace: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/openldap/certs/youGeneratedKeyFile.pem
次に、もう一度ldapmodifyコマンドを使用して、変更をOpenLDAP構成にマージします。
[root@centos rdc]# ldapmodify -Y EXTERNAL -H ldapi:/// -f certs.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber = 0+uidNumber = 0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "cn=config"
[root@centos]#
最後に、OpenLADP構成をテストしましょう。
[root@centos]# slaptest -u
config file testing succeeded
[root@centos]#
Step 4 −slapdデータベースを設定します。
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG &&
chown ldap:ldap /var/lib/ldap/*
OpenLDAPスキーマを更新します。
コサインおよびnisLDAPスキーマを追加します。
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif
最後に、エンタープライズスキーマを作成し、それを現在のOpenLDAP構成に追加します。
以下はvmnetと呼ばれるドメイン用です。ldapadmと呼ばれるLDAP管理者を持つローカル。
dn: dc=vmnet,dc=local
dc: vmnet
objectClass: top
objectClass: domain
dn: cn=ldapadm ,dc=vmnet,dc=local
objectClass: organizationalRole
cn: ldapadm
description: LDAP Manager
dn: ou = People,dc=vmnet,dc=local
objectClass: organizationalUnit
ou: People
dn: ou = Group,dc=vmnet,dc=local
objectClass: organizationalUnit
ou: Group
最後に、これを現在のOpenLDAPスキーマにインポートします。
[root@centos]# ldapadd -x -W -D "cn=ldapadm,dc=vmnet,dc=local" -f ./base.ldif
Enter LDAP Password:
adding new entry "dc=vmnet,dc=local"
adding new entry "cn=ldapadm ,dc=vmnet,dc=local"
adding new entry "ou=People,dc=vmnet,dc=local"
adding new entry "ou=Group,dc=vmnet,dc=local"
[root@centos]#
Step 5 − OpenLDAPEnterpriseユーザーを設定します。
vimまたはお気に入りのテキストエディタを開き、次の形式をコピーします。これは、「vmnet.local」LDAPドメインの「entacct」という名前のユーザー用に設定されています。
dn: uid=entacct,ou=People,dc=vmnet,dc=local
objectClass: top
objectClass: account
objectClass: posixAccount
objectClass: shadowAccount
cn: entacct
uid: entacct
uidNumber: 9999
gidNumber: 100
homeDirectory: /home/enyacct
loginShell: /bin/bash
gecos: Enterprise User Account 001
userPassword: {crypt}x
shadowLastChange: 17058
shadowMin: 0
shadowMax: 99999
shadowWarning: 7
次に、保存された上記のファイルをOpenLdapスキーマにインポートします。
[root@centos]# ldapadd -x -W -D "cn=ldapadm,dc=vmnet,dc=local" -f entuser.ldif
Enter LDAP Password:
adding new entry "uid=entacct,ou=People,dc=vmnet,dc=local"
[root@centos]#
ユーザーがLDAPEnterpriseにアクセスする前に、次のようにパスワードを割り当てる必要があります。
ldappasswd -s password123 -W -D "cn=ldapadm,dc=entacct,dc=local" -x "uid=entacct
,ou=People,dc=vmnet,dc=local"
-s ユーザーのパスワードを指定します
-x 更新されたパスワードが適用されるユーザー名です
-D LDAPスキーマに対して認証するための*識別名 "です。
最後に、Enterpriseアカウントにログインする前に、OpenLDAPエントリを確認しましょう。
[root@centos rdc]# ldapsearch -x cn=entacct -b dc=vmnet,dc=local
# extended LDIF
#
# LDAPv3
# base <dc=vmnet,dc=local> with scope subtree
# filter: cn=entacct
# requesting: ALL
#
# entacct, People, vmnet.local
dn: uid=entacct,ou=People,dc=vmnet,dc=local
objectClass: top
objectClass: account
objectClass: posixAccount
objectClass: shadowAccount
cn: entacct
uid: entacct
uidNumber: 9999
gidNumber: 100
homeDirectory: /home/enyacct
loginShell: /bin/bash
gecos: Enterprise User Account 001
userPassword:: e2NyeXB0fXg=
shadowLastChange: 17058
shadowMin: 0
shadowMax: 99999
shadowWarning: 7
/ etc / passwdや/ etc / groupsなどをOpenLDAP認証に変換するには、移行ツールを使用する必要があります。これらは、migrationtoolsパッケージに含まれています。次に、/ usr / share / migrationtoolsにインストールします。
[root@centos openldap-servers]# ls -l /usr/share/migrationtools/
total 128
-rwxr-xr-x. 1 root root 2652 Jun 9 2014 migrate_aliases.pl
-rwxr-xr-x. 1 root root 2950 Jun 9 2014 migrate_all_netinfo_offline.sh
-rwxr-xr-x. 1 root root 2946 Jun 9 2014 migrate_all_netinfo_online.sh
-rwxr-xr-x. 1 root root 3011 Jun 9 2014 migrate_all_nis_offline.sh
-rwxr-xr-x. 1 root root 3006 Jun 9 2014 migrate_all_nis_online.sh
-rwxr-xr-x. 1 root root 3164 Jun 9 2014 migrate_all_nisplus_offline.sh
-rwxr-xr-x. 1 root root 3146 Jun 9 2014 migrate_all_nisplus_online.sh
-rwxr-xr-x. 1 root root 5267 Jun 9 2014 migrate_all_offline.sh
-rwxr-xr-x. 1 root root 7468 Jun 9 2014 migrate_all_online.sh
-rwxr-xr-x. 1 root root 3278 Jun 9 2014 migrate_automount.pl
-rwxr-xr-x. 1 root root 2608 Jun 9 2014 migrate_base.pl
Step 6 −最後に、slapdサービスへのアクセスを許可して、リクエストを処理できるようにする必要があります。
firewall-cmd --permanent --add-service=ldap
firewall-cmd --reload
LDAPクライアントアクセスを構成する
LDAPクライアントアクセスを構成するには、クライアントにopenldap、open-ldapクライアント、およびnss_ldapのパッケージが必要です。
クライアントシステムのLDAP認証の構成は少し簡単です。
Step 1 −依存パッケージをインストールする−
# yum install -y openldap-clients nss-pam-ldapd
Step 2−authconfigを使用してLDAP認証を構成します。
authconfig --enableldap --enableldapauth --ldapserver=10.25.0.1 --
ldapbasedn="dc=vmnet,dc=local" --enablemkhomedir --update
Step 3 −nslcdサービスを再起動します。
systemctl restart nslcd