OpenLDAP

Szerző: Ványi Albert |

Ebből a cikkből megtudhatod, hogy hogyan telepítsd fel és konfiguráld be az OpenLDAP alkalmazást. Az operációs rendszer egy Debian8 “jessie”.

 

Alaprendszer telepítése és konfigurálása

Első lépésben frissítsük fel az operációs rendszerünket:

sudo apt-get update && sudo apt-get upgrade

Majd telepítsük a szükséges csomagokat:

apt-get install slapd ldap-utils phpldapadmin

Konfiguráljuk újra a slapd nevű kiszolgáló démont:

dpkg-reconfigure slapd

Kérdések és válaszok:

  1. Kihagyod a kezdeti konfigurációt: NO
  2. dns domain név megadása: Általában a hostname –fqdn által vissza adott név, ez lesz a root dn
  3. Organization Unit name: Szervezeti egység neve
  4. Adminisztrátor jelszava: Adminisztrátori jelszó megadása
  5. Adatbázis típusa: HDB
  6. El akarjuk-e, távolítani az adatbázist a slapd kiszolgáló démon eldobásakor: NO
  7. Eltávolítsuk-e az régi adatbázist: YES
  8. Engedélyezzük az LDAPv2 protokollt: NO

Lépjünk be az /etc/ldap könyvtárba és készítsünk egy logging.ldif fájlt a következő tartalommal:

dn: cn=config
changetype: modify
add: olcLogLevel
olcLogLevel: stats

Adjuk ki a következő parancsot:

ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f logging.ldif

Módosítsuk az /etc/rsyslog.conf addjuk a fájl végéhez a következő sorokat:

# Disable rate limiting (default is 200 messages in 5 seconds; below we make the 5 become 0)
$SystemLogRateLimitInterval 0

Indítsuk újra a logolást:

service rsyslog restart

Hozzuk létre a schema_convert.conf fájlt, az alábbi tartalommal:

include /etc/ldap/schema/core.schema
include /etc/ldap/schema/collective.schema
include /etc/ldap/schema/corba.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/duaconf.schema
include /etc/ldap/schema/dyngroup.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/java.schema
include /etc/ldap/schema/misc.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/openldap.schema
include /etc/ldap/schema/ppolicy.schema

Hozzuk létre az ldif_output könyvtárt a /tmp alatt, majd adjuk ki az alábbi két parancsot:

slapcat -f schema_convert.conf -F /tmp/ldif_output -n0 -s "cn={5}dyngroup,cn=schema,cn=config" > /tmp/cn=dyngroup.ldif
slapcat -f schema_convert.conf -F /tmp/ldif_output -n 0 | grep dyngroup

Szerkesszük a /tmp/cn\=dyngroup.ldif fájlt, az alábbiak szerint:

dn: cn=dyngroup,cn=schema,cn=config
...
...
cn: dyngroup

Az állomány végén hasonló szöveget látsz, ezeket töröld ki, és mentsd el a változást:

structuralObjectClass: olcSchemaConfig
entryUUID: 10dae0ea-0760-102d-80d3-f9366b7f7757
creatorsName: cn=config
createTimestamp: 20080826021140Z
entryCSN: 20080826021140.791425Z#000000#000#000000
modifiersName: cn=config
modifyTimestamp: 20080826021140Z

Add ki az alábbi utasítást:

sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /tmp/cn\=dyngroup.ldif

 

SSL támosgatás beállítása

Generáljunk főtanusítványt, és a szerverünk részére tanúsítványt és kulcsot, majd ezeket másoljuk be az /etc/ldap/sasl2 könyvtárba, majd hozzuk létre a mod_ssl.ldif fájlt az alábbi tartalommal:

# create new
dn: cn=config
changetype: modify
add: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ldap/sasl2/sajat-ca-certificates.crt
-
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ldap/sasl2/server.crt
-
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ldap/sasl2/server.key

Értelemszerűen, a saját tanúsítványaink neveit adjuk meg!

Adjuk ki a következő utasítást:

ldapmodify -Y EXTERNAL -H ldapi:/// -f mod_ssl.ldif

Sikeres végrehajtás esetén, az alábbi üzenetet kell látnunk:

SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "cn=config"

Engedélyezzük az ssl használatát, ehhez nyissuk meg az /etc/default/slapd állományt. Keressük meg és egészítsük ki az alábbi szekciót:

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

Érvényesítsük a változásokat:

systemctl restart slapd

 

PHPLDAPADIM konfigurálása

Nyissuk meg a /etc/phpldapadmin/config.php fájlt és módosítsuk a következő sorokat:

$config->custom->appearance['hide_template_warning'] = true;
$servers->newServer('ldap_pla');
$servers->setValue('server','host','127.0.0.1');
$servers->setValue('server','base',array('dc=example,dc=com'));
$servers->setValue('login','bind_id','cn=admin,dc=example,dc=com');

Az example.com helyett, a saját root dn nevünket adjuk meg, és ezzel el is készültünk. A címtárat a http://example.com/phpldapadmin címen tudjuk!

forrás: http://sugo.ubuntu.hu/10.10/html/serverguide/hu/openldap-server.html

CHECKSUM ERROR javítása

Ezt a hibát úgy tudod felderíteni, hogy kiadod parancssorban a systemctl status slapd parancsot. A kimenetben látszik a checksum hiba. Másoljuk a hibás állományt, a /tmp könyvtárba:

cp /etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif /tmp

Az első két sorát eltávolítjuk az állománynak:

tail -n +3 /tmp/olcDatabase={2}hdb.ldif > fixed.ldif

Töltsük le a CRC tool programot innen, http://freecode.com/projects/checkcrc/, majd csomagoljuk ki:

tar xvfz check-4.3-src.tgz

A program függősége: zlib-dev, rasbian alatt: zlib1g-dev, ha szükséges telepítsd fel!

Fordítsuk le a programot:

cd check-4.3
gcc -O3 -Wall -DUSE_ZLIB -I/usr/include -o check check.c -L/usr/lib64 -lz

CRC számítása:

./check /tmp/fixed.ldif
fixed.ldif        CRC-32 = 61e6182a, size = 582 bytes

Eredeti fájl chechsum értékének javítása:

nano /etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif
AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify.
CRC32 61e6182a

Forrás: Itt!