Installera OpenLDAP i Debian Wheezy: Difference between revisions
mNo edit summary |
mNo edit summary |
||
(31 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
Denna artikel beskriver hur man installerar en OpenLDAP server i Debian Wheezy. | Denna artikel beskriver hur man installerar en OpenLDAP server i Debian Wheezy. Vi kommer använda ldap01.example.com som FQDN för vår LDAP server i exemplen. | ||
== Installera LDAP server == | == Installera LDAP server == | ||
Installera LDAP servern och lite nödvändiga verktyg: | Installera LDAP servern och lite nödvändiga verktyg: | ||
{{RootCmd|apt-get install slapd ldap-utils}} | {{RootCmd|apt-get install slapd ldap-utils}} | ||
Ange lösenordet för cn=admin,dc=example,dc=com. | |||
== LDAP Konfigurering == | == LDAP Konfigurering == | ||
Line 9: | Line 10: | ||
{{Cmd|<nowiki>ldapsearch -Y EXTERNAL -H ldapi:/// -b "cn=config"</nowiki>}} | {{Cmd|<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| | {{RootCmd|ldapadd -Y EXTERNAL -H ldapi:/// -f <file.ldif>|ldapmodify -Y EXTERNAL -H ldapi:/// -f <file.ldif>}} | ||
== 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 gnutls. Installera gnutls-bin och ssl-cert: | 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 gnutls. Installera gnutls-bin och ssl-cert: | ||
{{RootCmd|apt-get install gnutls-bin ssl-cert}} | {{RootCmd|apt-get install gnutls-bin ssl-cert}} | ||
Vi kommer agera vårt eget CA, ''Certificate Authority'', och signera våra nycklar som det CA. | Vi kommer agera vårt eget CA, ''Certificate Authority'', och signera våra nycklar som det CA. | ||
=== | === Generera CA certifikat === | ||
Generera vår privata CA nyckel: | |||
{{RootCmd|certtool --generate-privkey --outfile /etc/ssl/private/cakey.pem}} | {{RootCmd|certtool --generate-privkey --outfile /etc/ssl/private/cakey.pem}} | ||
Skapa filen /etc/ssl/ca.info med information om vårt CA: | |||
{{bc|1= | |||
cn = Example Company | |||
ca | |||
cert_signing_key | |||
}} | |||
Byt ut ''Example Company'' mot din egna beskrivning. | |||
Generera ett självsignerat CA certifikat: | |||
{{RootCmd|certtool --generate-self-signed --load-privkey /etc/ssl/private/cakey.pem --template /etc/ssl/ca.info --outfile /etc/ssl/certs/cacert.pem}} | |||
Addera CA certifikatet till /etc/ssl/certs/ca-certificates.crt: | |||
{{RootCmd|cat /etc/ssl/certs/cacert.pem >> /etc/ssl/certs/ca-certificates.crt}} | |||
=== 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: | |||
{{bc|1= | |||
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: | |||
{{bc|1= | |||
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: | |||
{{RootCmd|<nowiki>ldapmodify -Y EXTERNAL -H ldapi:/// -f /etc/ssl/certinfo.ldif</nowiki>}} | |||
Lägg till openldap till gruppen ssl-cert. Annars kan inte slapd läsa certifikaten och start av slapd kommer misslyckas: | |||
{{RootCmd|gpasswd -a openldap ssl-cert}} | |||
Starta om LDAP servern: | |||
{{RootCmd|service slapd restart}} | |||
== Test av LDAP och TLS == | |||
Editera filen /etc/ldap/ldap.conf: | |||
{{bc|1= | |||
BASE dc=example,dc=com | |||
URI ldap://ldap01.example.com | |||
TLS_CACERT /etc/ssl/certs/ca-certificates.crt | |||
}} | |||
Testa sen följande sökningar: | |||
{{RootCmd|<nowiki>ldapsearch -x -LLL "objectClass=*"</nowiki> | |||
|<nowiki>ldapsearch -x -LLL -h localhost "objectClass=*"</nowiki> | |||
|<nowiki>ldapsearch -Z -x -LLL -h localhost "objectClass=*"</nowiki> | |||
|<nowiki>ldapsearch -ZZ -x -LLL -h localhost "objectClass=*"</nowiki> | |||
}} | |||
== LDAP uppslagningar över TLS från andra Debian Wheezy maskiner == | |||
Kopiera filen /etc/ssl/certs/cacert.pem till andra maskiner och addera certifikatet till filen /etc/ssl/certs/ca-certificates.crt: | |||
{{RootCmd|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. | |||
[[Category: | [[Category:GammalGuide]] |
Latest revision as of 18:51, 24 October 2015
Denna artikel beskriver hur man installerar en OpenLDAP server i Debian Wheezy. 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:
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:
Ändringar görs via LDIF filer och ldapadd eller ldapmodify kommandon:
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 gnutls. Installera gnutls-bin och ssl-cert:
Vi kommer agera vårt eget CA, Certificate Authority, och signera våra nycklar som det CA.
Generera CA certifikat
Generera vår privata CA nyckel:
Skapa filen /etc/ssl/ca.info med information om vårt CA:
cn = Example Company ca cert_signing_key
Byt ut Example Company mot din egna beskrivning.
Generera ett självsignerat CA certifikat:
Addera CA certifikatet till /etc/ssl/certs/ca-certificates.crt:
Generera server certifikat
Generera vår privata nyckel för server:
Gör filen läsbar för gruppen ssl-cert:
Skapa filen /etc/ssl/ldap01.info:
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:
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:
Lägg till openldap till gruppen ssl-cert. Annars kan inte slapd läsa certifikaten och start av slapd kommer misslyckas:
Starta om LDAP servern:
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:
LDAP uppslagningar över TLS från andra Debian Wheezy maskiner
Kopiera filen /etc/ssl/certs/cacert.pem till andra maskiner och addera certifikatet till filen /etc/ssl/certs/ca-certificates.crt:
Och gör samma ändringar till filen /etc/ldap/ldap.conf som gjordes på LDAP servern.