OpenLDAP server i Debian Jessie: Difference between revisions

From Peters wiki
Jump to navigation Jump to search
mNo edit summary
 
(16 intermediate revisions by the same user not shown)
Line 1: Line 1:
Denna artikel beskriver hur man installerar en OpenLDAP server i Debian Jessie. Vi kommer använda ldap01.example.com som FQDN för vår LDAP server i exemplen.
Denna artikel beskriver hur man installerar en OpenLDAP server i Debian Jessie. Vi kommer använda ldap.example.com som FQDN för vår LDAP server i exemplen.


== Installera LDAP server ==
== Installera LDAP server ==
Line 14: Line 14:
== Säkerhet ==
== Säkerhet ==


För att säkra upp trafiken mot LDAP servern, behöver vi kryptera trafiken. Vi kommer använda oss av TLS och skapa certifikat mha easy-rsa. Installera easy-rsa:
För att säkra upp trafiken mot LDAP servern, behöver vi kryptera trafiken. Vi kommer använda oss av TLS. Se följande artikel hur man skapar certifikat för SSL/TLS: [[Generera SSL/TLS certifikat i Debian Jessie]]. I detta exempel behöver vi skapa certifikat för ldap.example.com.
{{RootCmd|apt-get install easy-rsa}}
Vi kommer agera vårt eget CA, ''Certificate Authority'', och signera våra nycklar som det CA.


=== Generera CA certifikat ===
Installera CA certifikatet och certifikatet för ldap.example.com enligt guiden ovan.


Kopiera easy-rsa skripten till en plats där nycklarna tillfälligt ska hamna. Vi väljer att lägga mappen under /root:
== LDAP inställningar för SSL ==
{{RootCmd|cp -r /usr/share/easy-rsa /root}}


Gå till easy-rsa mappen:
Skapa följande konfigurationsfil /root/olcSSL.ldif:
{{RootCmd|cd /root/easy}}
 
Kopiera filen vars och anpassa den för våra behov:
{{RootCmd|cp vars vars-example.com}}
 
De variabler vi ändrar på är (anpassa enligt dina uppgifter):
{{bc|1=
export KEY_COUNTRY="SE"
export KEY_PROVINCE="<Landskap/Kommun>"
export KEY_CITY="<Stad>"
export KEY_ORG="example.com"
export KEY_EMAIL="root@example.com"
#export KEY_OU="MyOrganizationalUnit"
export KEY_NAME="root"
}}
 
{{Warning|Följande kommando raderar alla nycklar under keys mappen. Se till att inget viktigt ligger där.}}
Läs in dina inställningar, radera alla tidigare genererade certifikat och skapa ditt CA certifikat:
{{RootCmd|. ./vars-example.com
|./clean-all
|./build-ca
}}
 
Bygg Diffie-Hellman parametrarna:
{{RootCmd|./build-dh}}
 
=== Generera server certifikat ===
 
Förutsätter att vi har skapat vårt CA certifikat. För att skapa ett server certifikat för ldap01.example.com kör kommandot i easy-rsa katalogen:
{{RootCmd|./build-key-server ldap01.example.com}}
 
Skapa följande konfigurationsfil /etc/ssl/certinfo.ldif:
{{bc|1=
{{bc|1=
dn: cn=config
dn: cn=config
add: olcTLSCACertificateFile
add: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ssl/certs/cacert.pem
olcTLSCACertificateFile: /etc/ssl/certs/ca-certificates.crt
-
-
add: olcTLSCertificateFile
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ssl/certs/ldap01_cert.pem
olcTLSCertificateFile: /etc/ssl/certs/ldap.example.com.crt
-
-
add: olcTLSCertificateKeyFile
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ssl/private/ldap01_key.pem
olcTLSCertificateKeyFile: /etc/ssl/private/ldap.example.com.key
}}
}}


Uppdatera LDAP konfigurationen:
Uppdatera LDAP konfigurationen:
{{RootCmd|<nowiki>ldapmodify -Y EXTERNAL -H ldapi:/// -f /etc/ssl/certinfo.ldif</nowiki>}}
{{RootCmd|<nowiki>ldapmodify -Y EXTERNAL -H ldapi:/// -f /root/olcSSL.ldif</nowiki>}}


Lägg till openldap till gruppen ssl-cert. Annars kan inte slapd läsa certifikaten och start av slapd kommer misslyckas:
Lägg till openldap till gruppen ssl-cert. Annars kan inte slapd accessa den privata nyckeln och start av slapd kommer misslyckas:
{{RootCmd|gpasswd -a openldap ssl-cert}}
{{RootCmd|gpasswd -a openldap ssl-cert}}
Editera filen /etc/default/slapd och kontrollera att du har följande rad:
{{bc|1=
SLAPD_SERVICES="ldap:/// ldaps:/// ldapi:///"
}}


Starta om LDAP servern:
Starta om LDAP servern:
Line 83: Line 53:
{{bc|1=
{{bc|1=
BASE dc=example,dc=com
BASE dc=example,dc=com
URI ldap://ldap01.example.com
URI ldap://ldap.example.com
 
ssl    start_tls


TLS_CACERT /etc/ssl/certs/ca-certificates.crt
TLS_CACERT /etc/ssl/certs/ca-certificates.crt
Line 97: Line 69:
== LDAP uppslagningar över TLS från andra Debian Jessie maskiner ==
== LDAP uppslagningar över TLS från andra Debian Jessie maskiner ==


{{Note|Detta är inte hur man ska göra! Uppdatera!}}
Installera ditt CA certifikat enligt [[Generera SSL certifikat i Debian Jessie]].


Kopiera filen /etc/ssl/certs/cacert.pem till andra maskiner och addera certifikatet till filen /etc/ssl/certs/ca-certificates.crt:
Gör samma ändringar i filen /etc/ldap/ldap.conf som gjordes på LDAP servern och kör sedan testerna:
{{RootCmd|cat cacert.pem >> /etc/ssl/certs/ca-certificates.crt}}
{{RootCmd|<nowiki>ldapsearch -x -LLL "objectClass=*"</nowiki>
Och gör samma ändringar till filen /etc/ldap/ldap.conf som gjordes på LDAP servern.
|<nowiki>ldapsearch -Z -x -LLL "objectClass=*"</nowiki>
|<nowiki>ldapsearch -ZZ -x -LLL "objectClass=*"</nowiki>
}}


[[Category:Guide]]
[[Category:GammalGuide]]

Latest revision as of 14:01, 12 August 2023

Denna artikel beskriver hur man installerar en OpenLDAP server i Debian Jessie. Vi kommer använda ldap.example.com som FQDN för vår LDAP server i exemplen.

Installera LDAP server

Installera LDAP servern och lite nödvändiga verktyg:

root # apt-get install slapd ldap-utils

Ange lösenordet för cn=admin,dc=example,dc=com.

LDAP Konfigurering

Numera sparas konfigureringen i LDAP. För att se alla inställningar, kör följande sökning:

root # ldapsearch -Y EXTERNAL -H ldapi:/// -b "cn=config"

Ändringar görs via LDIF filer och ldapadd eller ldapmodify kommandon:

root # ldapadd -Y EXTERNAL -H ldapi:/// -f <file.ldif>
root #
ldapmodify -Y EXTERNAL -H ldapi:/// -f <file.ldif>

Säkerhet

För att säkra upp trafiken mot LDAP servern, behöver vi kryptera trafiken. Vi kommer använda oss av TLS. Se följande artikel hur man skapar certifikat för SSL/TLS: Generera SSL/TLS certifikat i Debian Jessie. I detta exempel behöver vi skapa certifikat för ldap.example.com.

Installera CA certifikatet och certifikatet för ldap.example.com enligt guiden ovan.

LDAP inställningar för SSL

Skapa följande konfigurationsfil /root/olcSSL.ldif:

dn: cn=config
add: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ssl/certs/ca-certificates.crt
-
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ssl/certs/ldap.example.com.crt
-
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ssl/private/ldap.example.com.key

Uppdatera LDAP konfigurationen:

root # ldapmodify -Y EXTERNAL -H ldapi:/// -f /root/olcSSL.ldif

Lägg till openldap till gruppen ssl-cert. Annars kan inte slapd accessa den privata nyckeln och start av slapd kommer misslyckas:

root # gpasswd -a openldap ssl-cert

Editera filen /etc/default/slapd och kontrollera att du har följande rad:

SLAPD_SERVICES="ldap:/// ldaps:/// ldapi:///"

Starta om LDAP servern:

root # service slapd restart

Test av LDAP och TLS

Editera filen /etc/ldap/ldap.conf:

BASE	dc=example,dc=com
URI	ldap://ldap.example.com

ssl     start_tls

TLS_CACERT	/etc/ssl/certs/ca-certificates.crt

Testa sen följande sökningar:

root # ldapsearch -x -LLL "objectClass=*"
root #
ldapsearch -x -LLL -h localhost "objectClass=*"
root #
ldapsearch -Z -x -LLL -h localhost "objectClass=*"
root #
ldapsearch -ZZ -x -LLL -h localhost "objectClass=*"

LDAP uppslagningar över TLS från andra Debian Jessie maskiner

Installera ditt CA certifikat enligt Generera SSL certifikat i Debian Jessie.

Gör samma ändringar i filen /etc/ldap/ldap.conf som gjordes på LDAP servern och kör sedan testerna:

root # ldapsearch -x -LLL "objectClass=*"
root #
ldapsearch -Z -x -LLL "objectClass=*"
root #
ldapsearch -ZZ -x -LLL "objectClass=*"