OpenLDAP server i Debian Jessie: Difference between revisions

From Peters wiki
Jump to navigation Jump to search
Line 53: Line 53:


=== Generera server certifikat ===
=== Generera server certifikat ===
Generera vår privata nyckel för server:
{{RootCmd|certtool --generate-privkey --bits 1024 --outfile /etc/ssl/private/ldap01_key.pem}}
Gör filen läsbar för gruppen ssl-cert:
{{RootCmd|chgrp ssl-cert /etc/ssl/private/ldap01_key.pem|chmod 640 /etc/ssl/private/ldap01_key.pem}}


Skapa filen /etc/ssl/ldap01.info:
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:
{{bc|1=
{{RootCmd|./build-key-server ldap01.example.com}}
organization = Example Company
cn = ldap01.example.com
tls_www_server
encryption_key
signing_key
expiration_days = 3650
}}
Vi har här valt en giltighetstid på 10 år.
 
Generera certifikatet:
{{RootCmd|certtool --generate-certificate --load-privkey /etc/ssl/private/ldap01_key.pem --load-ca-certificate /etc/ssl/certs/cacert.pem --load-ca-privkey /etc/ssl/private/cakey.pem --template /etc/ssl/ldap01.info --outfile /etc/ssl/certs/ldap01_cert.pem}}


Skapa följande konfigurationsfil /etc/ssl/certinfo.ldif:
Skapa följande konfigurationsfil /etc/ssl/certinfo.ldif:

Revision as of 17:18, 26 July 2015

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.

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:

user $ 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

Notering: 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 och skapa certifikat mha easy-rsa. Installera easy-rsa:

root # 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

Kopiera easy-rsa skripten till en plats där nycklarna tillfälligt ska hamna. Vi väljer att lägga mappen under /root:

root # cp -r /usr/share/easy-rsa /root

Gå till easy-rsa mappen:

root # cd /root/easy

Kopiera filen vars och anpassa den för våra behov:

root # cp vars vars-example.com

De variabler vi ändrar på är (anpassa enligt dina uppgifter):

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"


Varning: 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:

root # . ./vars-example.com
root #
./clean-all
root #
./build-ca

Bygg Diffie-Hellman parametrarna:

root # ./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:

root # ./build-key-server ldap01.example.com

Skapa följande konfigurationsfil /etc/ssl/certinfo.ldif:

dn: cn=config
add: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ssl/certs/cacert.pem
-
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ssl/certs/ldap01_cert.pem
-
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ssl/private/ldap01_key.pem

Uppdatera LDAP konfigurationen:

root # ldapmodify -Y EXTERNAL -H ldapi:/// -f /etc/ssl/certinfo.ldif

Lägg till openldap till gruppen ssl-cert. Annars kan inte slapd läsa certifikaten och start av slapd kommer misslyckas:

root # gpasswd -a openldap ssl-cert

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://ldap01.example.com

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

Notering: Detta är inte hur man ska göra! Uppdatera!


Kopiera filen /etc/ssl/certs/cacert.pem till andra maskiner och addera certifikatet till filen /etc/ssl/certs/ca-certificates.crt:

root # cat cacert.pem >> /etc/ssl/certs/ca-certificates.crt

Och gör samma ändringar till filen /etc/ldap/ldap.conf som gjordes på LDAP servern.