OpenLDAP server i Debian Jessie: Difference between revisions

From Peters wiki
Jump to navigation Jump to search
mNo edit summary
 
(18 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 8: Line 8:
== LDAP Konfigurering ==
== LDAP Konfigurering ==
Numera sparas konfigureringen i LDAP. För att se alla inställningar, kör följande sökning:
Numera sparas konfigureringen i LDAP. För att se alla inställningar, kör följande sökning:
{{Cmd|<nowiki>ldapsearch -Y EXTERNAL -H ldapi:/// -b "cn=config"</nowiki>}}
{{RootCmd|<nowiki>ldapsearch -Y EXTERNAL -H ldapi:/// -b "cn=config"</nowiki>}}
Ändringar görs via LDIF filer och ldapadd eller ldapmodify kommandon:
Ändringar görs via LDIF filer och ldapadd eller ldapmodify kommandon:
{{RootCmd|ldapadd -Y EXTERNAL -H ldapi:/// -f <file.ldif>|ldapmodify -Y EXTERNAL -H ldapi:/// -f <file.ldif>}}
{{RootCmd|ldapadd -Y EXTERNAL -H ldapi:/// -f <file.ldif>|ldapmodify -Y EXTERNAL -H ldapi:/// -f <file.ldif>}}
Line 14: Line 14:
== Säkerhet ==
== Säkerhet ==


{{Note|Numera använder jag easy-rsa. Uppdatera detta kapitel}}
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.


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:
Installera CA certifikatet och certifikatet för ldap.example.com enligt guiden ovan.
{{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 ===
== LDAP inställningar för SSL ==


Kopiera easy-rsa skripten till en plats där nycklarna tillfälligt ska hamna. Vi väljer att lägga mappen under /root:
Skapa följande konfigurationsfil /root/olcSSL.ldif:
{{RootCmd|cp -r /usr/share/easy-rsa /root}}
 
Gå till easy-rsa mappen:
{{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 85: 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 99: 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=*"