Revision 21 as of 2009-02-12 08:43:19

Clear message

SisällysluetteloBRTableOfContents(3)

LTSP5 - OpenLDAP - Perusasennus

Tämä ohje on tarkoitettu Ubuntu 8.04.2-versiolle. Ohjeessa on käytetty kahta palvelinkonetta; ensimmäisessä on LTSP5-ympäristö päätteille (kaksi verkkokorttia), toisessa on kotihakemisto ja keskitetty kirjautuminen. Kummallakin koneella pääkäyttäjän (sudo-käyttäjä) tunnus on paikallinen, niitä ei ole viety kirjautumispalvelimelle.

Tämä ohje perustuu asennukseen, joka tehtiin Valamossa LTSP5-työpajassa. Kuvaus asennuksesta on tällä Wiki-sivulla: http://wiki.ubuntu-fi.org/LTSP5_openLDAP

Tässä ohjeessa ei käydä läpi varsinaista LTSP5-palvelimen asennusta. Asennusohje on tällä Wiki-sivulla: http://wiki.ubuntu-fi.org/LTSP5_Perusasennus

LTSP5 - OpenLDAP - Lähiverkko

Tässä ohjeessa on käytetty seuraavanlaista lähiverkkoa.

             Internet
             |
 ----------- Reititin/Kytkin -----------
 | (eth0)                       (eth0) |
 LTSP5-palvelin        OpenLDAP-palvelin
 | (eth1)
 Kytkin
 |
 Pääte

Lähiverkon osoitteet

Reititin/Kytkin - 192.168.1.1

LTSP5-palvelin - 192.168.1.2 - ubuntu-ltsp5

OpenLDAP-palvelin - 192.168.1.3 - ubuntu-openldap

Pääte - 192.168.0.10 - ubuntu-10

Tunnukset ja salasanat

ubuntu-ltsp5 | admin-ltsp5 - TP2009ltsp

ubuntu-openldap | admin-openldap - TP2009ltsp

ubuntu-10 | ltsp001 - edubuntu

OpenLDAP-tunnukset ja salasanat

cn=manager,dc=arkki,dc=info - TP2009ldap

cn=nss,dc=arkki,dc=info - TP2009nss

Tässä ohjeessa on käytetty tällaista puurakennetta.

 dc=info
 |
 dc=arkki----|----------|
 |            |          |
 ou=Users     ou=Groups  cn=nss
 |            |          
 |            cn=Users
 |
 cn=ltsp001, ltsp002 ...

OpenLDAP-asennus

1. OpenLDAP-palvelimen asennus tehdään yhdellä paketilla: slapd. Tarpeelliset ohjelmat OpenLDAP-tietokannan käsittelyyn ovat ldap-utils-paketissa.

sudo apt-get install slapd ldap-utils

2. OpenLDAP-ohjelman asennuksen yhteydessä avautuu asetusohjelma, mutta sen voi huoletta ohittaa painamalla salasana-kyselyihin pelkän painalluksen. Kopioi talteen alkuperäinen asetustiedosto ja kopioi seuraavat rivit uuteen asetustiedostoon, poista ensin kaikki alkuperäiset rivit.

sudo cp /etc/ldap/slapd.conf /etc/ldap/slapd.conf.original

sudo nano /etc/ldap/slapd.conf

include         /etc/ldap/schema/core.schema
include         /etc/ldap/schema/cosine.schema
include         /etc/ldap/schema/nis.schema
include         /etc/ldap/schema/inetorgperson.schema

pidfile         /var/run/slapd/slapd.pid

argsfile        /var/run/slapd/slapd.args

loglevel        256

modulepath      /usr/lib/ldap
moduleload      back_hdb

sizelimit 500

tool-threads 1

backend         hdb
database        hdb

suffix          "dc=arkki,dc=info"

rootdn          "cn=manager,dc=arkki,dc=info"
rootpw          {MD5}0H0NPb1xLD770iuQqZYkqQ==

directory       "/var/lib/ldap"

dbconfig set_cachesize 0 2097152 0

dbconfig set_lk_max_objects 1500
dbconfig set_lk_max_locks 1500
dbconfig set_lk_max_lockers 1500

index           objectClass eq

lastmod         on

checkpoint      512 30

access to attrs=userPassword,shadowLastChange
        by dn="cn=manager,dc=arkki,dc=info" write
        by anonymous auth
        by self write
        by * none

access to *
        by dn="cn=manager,dc=arkki,dc=info" write
        by dn="cn=nss,dc=arkki,dc=info" read
        by * auth

3. OpenLDAP:n manager-käyttäjän salasana, joka sijoitetaan slapd.conf-tiedostoon, luodaan näin. Salasana on "TP2009ldap".

slappasswd -h {MD5}
New password: 
Re-enter new password: 
{MD5}0H0NPb1xLD770iuQqZYkqQ==
root@ubuntu-openldap:~#

Näiden asetusten jälkeen voidaan käynnistää OpenLDAP-palvelin.

/etc/init.d/slapd start
Starting OpenLDAP: slapd.

4. OpenLDAP-palvelimen tietokannan perusrakenne luodaan näin. Käytetään base.ldif-tiedostoa.

dn: dc=arkki,dc=info
objectclass: organization
objectclass: dcObject
o: Arkki
dc: arkki
description: Arkki - Asmo Koskinen

dn: ou=Hosts,dc=arkki,dc=info
ou: Hosts
objectClass: top
objectClass: organizationalUnit
objectClass: domainRelatedObject
associatedDomain: arkki.info

dn: ou=Peopledc=arkki,dc=info
ou: People
objectClass: top
objectClass: organizationalUnit
objectClass: domainRelatedObject
associatedDomain: arkki.info

dn: ou=Groups,dc=arkki,dc=info
ou: Groups
objectClass: top
objectClass: organizationalUnit
objectClass: domainRelatedObject
associatedDomain: arkki.info

dn: cn=users,ou=Groups,dc=arkki,dc=info
objectClass: posixGroup
cn: users
gidNumber: 10000

5. Tämä tiedosto ajetaan OpenLDAP-palvelimelle näin. Manager-käyttäjän salasana on tässä asennuksessa "TP2009ldap".

ldapadd -W -x -D "cn=manager,dc=arkki,dc=info" -f base.ldif
Enter LDAP Password: 
adding new entry "dc=arkki,dc=info"

adding new entry "ou=Hosts,dc=arkki,dc=info"

adding new entry "ou=People,dc=arkki,dc=info"

adding new entry "ou=Groups,dc=arkki,dc=info"

adding new entry "cn=users,ou=Groups,dc=arkki,dc=info"

6. OpenLDAP-palvelimella on kaksi käyttäjää, joilla on eri tehtävät. Manager-käyttäjä saa kirjoittaa, lukea ja käsitellä tietokantoja. Nss-käyttäjä saa vain lukea. Seuraavaksi luodaan nss-käyttäjä. Ensin tehdään nss.ldif-tiedosto.

dn: cn=nss, dc=arkki,dc=info
objectClass: organizationalRole
objectClass: simpleSecurityObject
cn: nss
description: LDAP NSS user
userPassword: 

7. Salasana luodaan edellämainitulla tavalla ja sijoitetaan suoraan nss.ldif-tiedostoon. Salasana on "TP2009nss".

slappasswd -h {MD5}
New password: 
Re-enter new password: 
{MD5}iJ/UWG+ALKWLTgwEmmZj4Q==

8. Nss.ldif-tiedosto ajteaan OpenLDAP-palvelimelle.

ldapadd -W -x -D "cn=manager,dc=arkki,dc=info" -f nss.ldif
Enter LDAP Password: 
adding new entry "cn=nss, dc=arkki,dc=info"

Näiden asetusten jälkeen voidaan käynnistää OpenLDAP-palvelin uudestaan.

/etc/init.d/slapd restart
Stopping OpenLDAP: slapd.
Starting OpenLDAP: slapd.

OpenLDAP-palvelimelle on asennettu Webmin-ohjelmisto. Ruutukaappauksia Webmin-ohjelman OpenLDAP-modulista. Asennusohje on tällä Wiki-sivulla: http://wiki.ubuntu-fi.org/Webmin

[http://www.arkki.info/howto/Wiki/LTSP5-openLDAP-Perusasennus/OpenLDAP_01.png OpenLDAP_01.png]

[http://www.arkki.info/howto/Wiki/LTSP5-openLDAP-Perusasennus/OpenLDAP_02.png OpenLDAP_02.png]

[http://www.arkki.info/howto/Wiki/LTSP5-openLDAP-Perusasennus/OpenLDAP_03.png OpenLDAP_03.png]

[http://www.arkki.info/howto/Wiki/LTSP5-openLDAP-Perusasennus/OpenLDAP_04.png OpenLDAP_04.png]

[http://www.arkki.info/howto/Wiki/LTSP5-openLDAP-Perusasennus/OpenLDAP_05.png OpenLDAP_05.png]

[http://www.arkki.info/howto/Wiki/LTSP5-openLDAP-Perusasennus/OpenLDAP_06.png OpenLDAP_06.png]

SSL-salaus OpenLDAP-palvelimella

OpenLDAP-palvelimella otetaan käyttöön SSL-salaus. Lue ensin tämä ohje: https://help.ubuntu.com/community/SecuringOpenLDAPConnections

Sertifikaatti luodaan näin. Tärkeintä on laittaa kohtaan "Common Name" OpenLDAP-palvelimen DNS-nimi, joka on kaikissa asiakaskoneiden hosts-tiedostossa tähän tapaan.

admin-ltsp5@ubuntu-ltsp5:~$ cat /etc/hosts
127.0.0.1       localhost
192.168.1.2     ubuntu-ltsp5
192.168.1.3     ubuntu-openldap
192.168.0.10    ubuntu-10

Sertifikaatti on rsa-avain, jonka pituus on 1024 bittiä ja voimassaoloaika 10 vuotta. Sertikaatti on helpointa nimetä samoin kuin itse palvelinkin.

sudo openssl req -newkey rsa:1024 -x509 -nodes -out ubuntu-openldap.pem -keyout ubuntu-openldap.pem -days 3650
Generating a 1024 bit RSA private key
[--]
writing new private key to 'ubuntu-openldap.pem'
[--]
Common Name (eg, YOUR name) []:ubuntu-openldap

Sertifikaatin tiedot ja sijainti lisätään slapd.conf-tiedostoon. Tässä ohjeessa on luotu hakemisto /etc/ldap/ssl ja pem-tiedosto on sijoitettu tähän hakemistoon.

TLSCACertificateFile  /etc/ldap/ssl/ubuntu-openldap.pem
TLSCertificateFile    /etc/ldap/ssl/ubuntu-openldap.pem
TLSCertificateKeyFile /etc/ldap/ssl/ubuntu-openldap.pem

Muokkaa vielä tiedostoa /etc/default/slapd näin. Lisää rivi SLAPD_SERVICES="ldap:/// ldaps:///", mutta älä muuta muita.

SLAPD_CONF=
SLAPD_USER="openldap"
SLAPD_GROUP="openldap"
SLAPD_PIDFILE=
SLAPD_SERVICES="ldap:/// ldaps:///"
SLAPD_SENTINEL_FILE=/etc/ldap/noslapd
SLAPD_OPTIONS=""

Sertikaatin toimivuus voidaan tarkistaa näin.

openssl s_client -connect ubuntu-openldap:636 -showcerts
[--]
Server certificate
subject=/C=AU/ST=Some-State/O=Internet Widgits Pty Ltd/CN=ubuntu-openldap
issuer=/C=AU/ST=Some-State/O=Internet Widgits Pty Ltd/CN=ubuntu-openldap
---
No client certificate CA names sent
---
SSL handshake has read 1095 bytes and written 316 bytes
---
New, TLSv1/SSLv3, Cipher is AES256-SHA
Server public key is 1024 bit
[--]

LDAP-asiaksohjelmat OpenLDAP-palvelimella

Jotta Webmin-ohjelmaa voidaan käyttää päätteiden tunnusten käsittelyyn, niin myös OpenLDAP-palvelimella tarvitaan LDAP-asiakasohjelmat.

Asennetaan LDAP-asiakasohjelmat.

sudo apt-get install ldap-auth-client libpam-ldap libnss-ldap

Tehdään seuraavat muutokset asetustiedostoihin. Kopioi alkuperäiset talteen.

/etc/ldap/ldap.conf

BASE    dc=arkki,dc=info
URI     ldap://ubuntu-openldap

/etc/ldap.conf

base dc=arkki,dc=info

uri ldap://ubuntu-openldap

ldap_version 3

binddn cn=nss,dc=arkki,dc=info
bindpw TP2009nss

rootbinddn cn=manager,dc=arkki,dc=info

pam_password md5

nss_base_passwd         ou=People,dc=arkki,dc=info?one
nss_base_shadow         ou=People,dc=arkki,dc=info?one
nss_base_group          ou=Group,dc=arkki,dc=info?one

nss_initgroups_ignoreusers backup,bin,daemon,dhcp,games,gnats,irc,klog,libuuid,list,lp,mail,man,news,openldap,proxy,root,sshd,statd,sync,sys,syslog,uucp,www-data

/etc/ldap.secret

TP2009ldap

/etc/nsswitch.conf

passwd:         files ldap
group:          files ldap
shadow:         files ldap

hosts:          files dns
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis