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には、という独自のディレクトリサーバーもあります。slapdLDAPDAPの主な違いは、軽量バージョンは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を設定します。

次の情報を使用してvimcerts.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