GNU/Linux >> Znalost Linux >  >> Cent OS

Nakonfigurujte OpenLDAP s SSL na CentOS 7 / RHEL 7

V našem předchozím článku jsme nastavili server OpenLDAP na CentOS 7 / RHEL 7 pro centralizovanou autentizaci. V návaznosti na to nyní nakonfigurujeme OpenLDAP s SSL pro bezpečnou komunikaci. V tomto nastavení probíhá komunikace klientů LDAP přes zabezpečený port 636 namísto nezabezpečeného portu 389.

Podle tohoto průvodce nakonfigurujte OpenLDAP s SSL.

Předpoklady

1. Otevřete nastavení LDAP.

2. Vytvořte záznam hostitele serveru LDAP na svých klientských počítačích v /etc/hosts pro rozlišení názvu.

192.168.1.10 server.itzgeek.local server

NEBO

Pokud plánujete použít název hostitele místo IP adresy, pak Nakonfigurujte server DNS na CentOS 7 / RHEL 7 mít rozlišení názvu hostitele.

Vytvořit certifikát LDAP

Pokud plánujete používat LDAP přes SSL, můžete jej implementovat pomocí libovolné z níže uvedených metod.

1. Certifikát s vlastním podpisem – Jedná se o jednoduchý certifikát s vlastním podpisem. Klienti LDAP musí mít povoleno tls_reqcert allow v /etc/nslcd.conf aby neověřil certifikát.

2. Certifikát podepsaný CA – Vaše interní podpisové certifikáty CA nebo externí CA. Certifikát CA, který podepsal váš certifikát serveru LDAP, byste měli umístit do /etc/openldap/cacerts/ adresář, aby klienti LDAP mohli ověřovat certifikáty.

Certifikát s vlastním podpisem

Vytvořme certifikát s vlastním podpisem pro náš server LDAP. Níže uvedený příkaz vygeneruje certifikát i soukromý klíč v /etc/openldap/certs/ adresář.

openssl req -new -x509 -nodes -out /etc/openldap/certs/itzgeekldap.crt -keyout /etc/openldap/certs/itzgeekldap.key -days 1460

Výstup:

Generating a 2048 bit RSA private key
...+++
.....................................+++
writing new private key to '/etc/openldap/certs/itzgeekldapkey.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]: XX
State or Province Name (full name) []: XX
Locality Name (eg, city) [Default City]: XXXXXX
Organization Name (eg, company) [Default Company Ltd]:ITzGeek
Organizational Unit Name (eg, section) []:IT Infra
Common Name (eg, your name or your server's hostname) []:server.itzgeek.local
Email Address []:[email protected]

Nastavte oprávnění vlastníka a skupiny.

chown -R ldap:ldap /etc/openldap/certs/itzgeek*

Ověřte vytvořený certifikát LDAP v /etc/openldap/certs/ adresář.

ll /etc/openldap/certs/itzgeek*

Výstup:

-rw-r--r--. 1 ldap ldap 1302 Apr 1 14:18 /etc/openldap/certs/itzgeekldap.crt
-rw-r--r--. 1 ldap ldap 1704 Apr 1 14:18 /etc/openldap/certs/itzgeekldap.key

Vytvořte certs.ldif soubor pro konfiguraci LDAP pro použití zabezpečené komunikace pomocí certifikátu s vlastním podpisem.

vi certs.ldif

Použijte níže uvedené informace.

dn: cn=config
changetype: modify
replace: olcTLSCertificateFile
olcTLSCertificateFile: /etc/openldap/certs/itzgeekldap.crt

dn: cn=config
changetype: modify
replace: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/openldap/certs/itzgeekldap.key

Importujte konfigurace na server LDAP.

ldapmodify -Y EXTERNAL  -H ldapi:/// -f certs.ldif

Ověřte konfiguraci

slaptest -u

Po úspěšném ověření byste měli obdržet následující zprávu.

config file testing succeeded

Vlastní certifikát podepsaný CA

Vytvořte kořenový klíč pomocí následujícího příkazu.

cd  /etc/openldap/certs/
openssl genrsa -out itzgeekrootCA.key 2048

Nyní vytvořte kořenový certifikát s vlastním podpisem.

openssl req -x509 -new -nodes -key itzgeekrootCA.key -sha256 -days 1024 -out itzgeekrootCA.pem

Výstup:

You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:XX
State or Province Name (full name) []:XXX
Locality Name (eg, city) [Default City]:XXX
Organization Name (eg, company) [Default Company Ltd]:ITzGeek
Organizational Unit Name (eg, section) []:XXX
Common Name (eg, your name or your server's hostname) []:ITzGeek Root CA
Email Address []:[email protected]

Vytvořte soukromý klíč pro server LDAP.

openssl genrsa -out itzgeekldap.key 2048

Jakmile máte soukromý klíč, vytvořte žádost o podpis certifikátu.

openssl req -new -key itzgeekldap.key -out itzgeekldap.csr

Výstup:

Ujistěte se, že běžný název odpovídá názvu hostitele nebo IP adrese vašeho serveru LDAP.

Generating RSA private key, 2048 bit long modulus
.........+++
.............................................................+++
e is 65537 (0x10001)
[root@server certs]# openssl req -new -key itzgeekldap.key -out itzgeekldap.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:XX
State or Province Name (full name) []:XX
Locality Name (eg, city) [Default City]:XXX
Organization Name (eg, company) [Default Company Ltd]:ITzGeek
Organizational Unit Name (eg, section) []:IT
Common Name (eg, your name or your server's hostname) []:server.itzgeek.local
Email Address []:[email protected]

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

Nyní podepište žádost o podpis certifikátu pomocí vlastní kořenové CA.

openssl x509 -req -in itzgeekldap.csr -CA itzgeekrootCA.pem -CAkey itzgeekrootCA.key -CAcreateserial -out itzgeekldap.crt -days 1460 -sha256

Nastavte oprávnění vlastníka a skupiny.

chown -R ldap:ldap /etc/openldap/certs/itzgeek*

Ověřte vytvořený certifikát LDAP v /etc/openldap/certs/ adresář.

 ll /etc/openldap/certs/itzgeek*

Výstup:

-rw-r--r--. 1 ldap ldap 1285 Apr  1 16:54 /etc/openldap/certs/itzgeekldap.crt
-rw-r--r--. 1 ldap ldap 1050 Apr  1 16:53 /etc/openldap/certs/itzgeekldap.csr
-rw-r--r--. 1 ldap ldap 1675 Apr  1 16:51 /etc/openldap/certs/itzgeekldap.key
-rw-r--r--. 1 ldap ldap 1679 Apr  1 16:49 /etc/openldap/certs/itzgeekrootCA.key
-rw-r--r--. 1 ldap ldap 1399 Apr  1 16:49 /etc/openldap/certs/itzgeekrootCA.pem
-rw-r--r--. 1 ldap ldap   17 Apr  1 16:54 /etc/openldap/certs/itzgeekrootCA.srl

Vytvořte certs.ldif soubor pro konfiguraci LDAP pro použití zabezpečené komunikace pomocí certifikátu s vlastním podpisem.

vi certs.ldif

Použijte níže uvedené informace.

dn: cn=config
changetype: modify
replace: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/openldap/certs/itzgeekrootCA.pem

dn: cn=config
changetype: modify
replace: olcTLSCertificateFile
olcTLSCertificateFile: /etc/openldap/certs/itzgeekldap.crt

dn: cn=config
changetype: modify
replace: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/openldap/certs/itzgeekldap.key

Importujte konfigurace na server LDAP.

ldapmodify -Y EXTERNAL  -H ldapi:/// -f certs.ldif

Ověřte konfiguraci

slaptest -u

Po úspěšném ověření byste měli obdržet následující zprávu.

config file testing succeeded

Nakonfigurujte OpenLDAP pro poslech přes SSL

Upravte /etc/sysconfig/slapd a nakonfigurujte OpenLDAP pro naslouchání přes SSL.

vi /etc/sysconfig/slapd

Aktualizujte níže uvedený řádek.

SLAPD_URLS="ldapi:/// ldap:/// ldaps:///"
."

Restartujte službu slapd.

systemctl restart slapd

Ověřte službu LDAP. Služba LDAP by nyní měla naslouchat také na portu TCP 636.

netstat -antup | grep -i 636

Výstup:

tcp        0      0 0.0.0.0:636             0.0.0.0:*               LISTEN      11720/slapd     
tcp6       0      0 :::636                  :::*                    LISTEN      11720/slapd

Firewall

Přidejte službu LDAPS do brány firewall (TCP 686).

firewall-cmd --permanent --add-service=ldaps
firewall-cmd --reload

Konfigurace klienta OpenLDAP pro OpenLDAP přes SSL

Nainstalujte klientské balíčky pomocí příkazu yum.

yum install -y openldap-clients nss-pam-ldapd

Spusťte authconfig příkaz k přidání klientského počítače na server LDAP pro jednotné přihlášení. Nahraďte „server.itzgeek.local ” s IP adresou nebo názvem hostitele serveru LDAP.

Pokud jste v nastavení OpenLDAP použili vlastní certifikát podepsaný CA nebo externí certifikát CA, měl by název hostitele nebo IP adresa odpovídat běžnému názvu certifikátu serveru LDAP

authconfig --enableldap --enableldapauth --ldapserver=ldaps://server.itzgeek.local --ldapbasedn="dc=itzgeek,dc=local" --enablemkhomedir --disableldaptls --update

Budete muset provést níže uvedené kroky na základě metody, kterou jste nakonfigurovali OpenLDAP pro použití SSL.

Certifikát s vlastním podpisem

Upravte soubor nslcd.conf soubor.

vi /etc/nslcd.conf

Přidejte následující řádek do nslcd.conf soubor. Níže uvedené nastavení zakáže ověření certifikátu prováděné klienty, protože používáme certifikát s vlastním podpisem.

tls_reqcert allow

Vlastní podpis CA nebo externí CA

Zkopírujte itzgeekrootCA.pem ze serveru LDAP nebo umístěte zprostředkující certifikát nebo CA poskytnutý externí CA do /etc/openldap/cacerts adresář.

cd /etc/openldap/cacerts/
scp -pr 192.168.1.10:/etc/openldap/certs/itzgeekrootCA.pem /etc/openldap/cacerts

Vytvořte c hash certifikátu CA.

/etc/pki/tls/misc/c_hash /etc/openldap/cacerts/itzgeekrootCA.pem

Výstup:

997ee4fb.0 => /etc/openldap/cacerts/itzgeekrootCA.pem

Nyní symbolicky propojte soubor rootCA.pem se zobrazeným 8místným hexadecimálním číslem.

ln -s /etc/openldap/cacerts/itzgeekrootCA.pem 997ee4fb.0

Restartujte klientskou službu LDAP.

systemctl restart nslcd

Ověřte přihlášení k LDAP

Použijte příkaz getent k získání záznamů LDAP ze serveru LDAP.

getent passwd raj

Výstup:

raj:x:9999:100:Raj [Admin (at) ITzGeek]:/home/raj:/bin/bash

Chcete-li ověřit LDAP, přihlaste se pomocí uživatele LDAP „raj“ na klientském počítači.

Snímek obrazovky:

Odkaz

OpenFusion – Tipy a triky OpenLDAP

CentOS – Fórum

To je vše.


Cent OS
  1. Nakonfigurujte VNC na CentOS 6 / RHEL 6

  2. Nakonfigurujte DNS na CentOS 5 / RHEL 5 s chrootem

  3. Krok za krokem Konfigurace serveru OpenLDAP na CentOS 7 / RHEL 7

  1. Jak nakonfigurovat IMAP s SSL

  2. CentOS / RHEL 7 :Jak nakonfigurovat sériové getty pomocí systemd

  3. CentOS / RHEL :Konfigurace automatických aktualizací yum pomocí služby yum-cron

  1. Konfigurace Kibana 4 pomocí Nginx | Zabezpečení Kibana 4 – CentOS 7

  2. Jak nainstalovat a nakonfigurovat OpenLDAP na CentOS / RHEL Linux

  3. Jak nastavit vlastní název rozhraní pomocí NetworkManageru v CentOS/RHEL 7