[LINUX] LDAP installeren, files aanmaken ?

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • BacardiBreezer
  • Registratie: September 2003
  • Laatst online: 19-06-2005

BacardiBreezer

Breezing Bacardi ?

Topicstarter
Ik ben bezig met de installatie van een LDAP-server. So far so good volg ik even de tut van linux-scritps.nl want het staat daar allemaal nogal duidelijk uitgeled en dan weet je zeker wat je aan het doen bent :)

NU zit ik alleen met dit stukje:

In de directory /etc/pam.d staat welke services op welke manier gebruik maken van pam. Hier onder een voorbeeld m.b.t. SSH

Zorg ervoor dat de /etc/pam.d/ssh file er als volgt uitziet:

ldap:/etc/pam.d# cat ssh
#%PAM-1.0
auth sufficient pam_unix_auth.so
auth required pam_ldap.so try_first_pass config=/etc/pam_ldap/ssh.conf
account sufficient pam_unix_acct.so
account required pam_ldap.so config=/etc/pam_ldap/ssh.conf
password sufficient pam_pwdb.so
password required pam_ldap.so use_first_pass config=/etc/pam_ldap/ssh.conf
session required pam_unix.so

Volgens deze configuratie worden eerst gekeken of een user lokaal bestaat, vervolgens in de LDAP server. Zoals je ziet heeft deze een aparte config file, zodat er aparte filters voor de verschillende services kunnen worden gedefinieerd. Maak ook deze config file aan:
cat /etc/pam_ldap/ssh.conf

# Your LDAP server.
host ldap.server.nl

# The distinguished name of the search base.
base o=test,c=nl

# Use the V3 protocol to optimize searches
ldap_version 3

#binddn cn=manager,o=test,c=nl

# The credentials to bind with.
# Optional: default is no credential.
#bindpw geheim

# Filter to AND with uid=%s
#Dit is het filter
#pam_filter service=*ssh*

# The user ID attribute (defaults to uid)
pam_login_attribute uid

# voeg deze regels toe voor gebruik over ssl
#port 636
#ssl yes
#tls_ciphers TLSv1

Enkele andere files:

ldap:/etc/pam.d# cat login

#%PAM-1.0
auth required /lib/security/pam_securetty.so
auth required /lib/security/pam_nologin.so
auth sufficient /lib/security/pam_ldap.so
auth required /lib/security/pam_unix_auth.so try_first_pass
account sufficient /lib/security/pam_ldap.so
account required /lib/security/pam_unix_acct.so
password required /lib/security/pam_cracklib.so
password required /lib/security/pam_ldap.so
password required /lib/security/pam_pwdb.so use_first_pass
session required /lib/security/pam_unix_session.so


ldap:/etc/pam.d# cat passwd

#%PAM-1.0
#voor unix
#password required pam_unix.so nullok obscure min=4 max=8 md5
#voor ldap
password required pam_ldap.so config=/etc/pam_ldap/passwd.conf


ldap:/etc/pam.d# cat /etc/pam_ldap/passwd.conf

# Your LDAP server.
host ldap.server.nl
#uri ldaps://ldap
port 389
#port 636
#ssl yes
# The distinguished name of the search base.
base o=test,c=nl
# Use the V3 protocol to optimize searches
#ldap_version 3
binddn cn=manager,o=test,c=nl
# The credentials to bind with.
# Optional: default is no credential.
bindpw geheim
# The user ID attribute (defaults to uid)
pam_login_attribute uid
#ssl on


De laatste 2 files aanmaken gaat niet. Ik doe iets fout maar kan nergens vinden wat. Ik ben van mening dat ik "ldap:/etc/pam.d# cat /etc/pam_ldap/passwd.conf" in de commandline moet zetten en er dan iets moet gaan gebeuren...... helaas gata wat mis en krijg deze error: -bash: ldap:/etc/pam.d#: No such file or directory

Wat gebeurd hier, wat doet de regel precies ? Hij maakt een file aan in de catogorie config ? Ik ben het spoor even bijster.

Nu is er nog een 2e probleem dat niet helemaal lekker gaat.

deze pagina: http://www.linux-scripts..../index.php?titel=8&stap=7 hier staat een test voor listening op poort 389 en 636. Als ik die testjes uitvoer krijg ik deze error:

ldap_start_tls: Can't contact LDAP server (-1)

Ik heb in de (linux)firewall en op de routers al de poorten open gezet om te kijken of dit uitmaakt...... het enige wat veranderde nar mijn weten was dat "ldap_start_tls" een andere melding was, wel iets met ldap.

Iemand een idee ? LDAP lijkt me namelijk wel helemaal geweldig :)

Jij bent misschien belangrijk, maar ik ben aardig ;)


Acties:
  • 0 Henk 'm!

  • BacardiBreezer
  • Registratie: September 2003
  • Laatst online: 19-06-2005

BacardiBreezer

Breezing Bacardi ?

Topicstarter
Probleem met de test van de LDAP-server lijkt opgelost..... nu de rest nog. daar snap ik echt niets van :)

Jij bent misschien belangrijk, maar ik ben aardig ;)


Acties:
  • 0 Henk 'm!

Anoniem: 28145

tls is ssl voor LDAP (onder andere): TCP en UDP port 636, dus dat klopt.

in je nsswitch.conf moet je dan vrees ik ldap vervangen door ldaps. Totzover kan ik het volgen, maar voor de volgende stappen zul je echt op zoek moeten, die weet ik niet. :(

[ Voor 149% gewijzigd door Anoniem: 28145 op 21-07-2004 22:29 ]


Acties:
  • 0 Henk 'm!

  • BacardiBreezer
  • Registratie: September 2003
  • Laatst online: 19-06-2005

BacardiBreezer

Breezing Bacardi ?

Topicstarter
Anoniem: 28145 schreef op 21 juli 2004 @ 22:22:
tls is ssl voor LDAP (onder andere): TCP en UDP port 636, dus dat klopt.

in je nsswitch.conf moet je dan vrees ik ldap vervangen door ldaps. Totzover kan ik het volgen, maar voor de volgende stappen zul je echt op zoek moeten, die weet ik niet. :(
Dat probleem is opzich opgelost..... ik kan de regel zonder -ZZ goed runnen (hier is wel een fix voor, heeft iets met de CA te maken)

NU even het eerste probleem..... met die cat-files (als ik het zo goed zeg) wat doe ik hier fout. Heb hier nog niets voor kunnen vinden namelijk, staat ook niet zo heel goed in de tut heb ik het idee..... als het zou werken wel :) maar ik doe duidelijk iets fout.

Jij bent misschien belangrijk, maar ik ben aardig ;)


Acties:
  • 0 Henk 'm!

Anoniem: 111684

"ldap:/etc/pam.d# cat /etc/pam_ldap/passwd.conf" bestaat uit twee stukken, namelijk de LDAP URI (URL) "ldap:/etc/pam.d" en het commando in de (root) shell "# cat /etc/pam_ldap/passwd.conf". Zoals de fout al aangeeft kan BASH niks met jouw LDAP URI (hij denkt dat het een bestand of direcotry moet zijn), het 2e commando moet gewoon wel werken.

Check voor duidelijke (wellicht Engelse) howto's over (o.a.) LDAP 'http://www.tldp.org'.

Acties:
  • 0 Henk 'm!

  • BacardiBreezer
  • Registratie: September 2003
  • Laatst online: 19-06-2005

BacardiBreezer

Breezing Bacardi ?

Topicstarter
Ik heb het probleem naar mijn idee gevonden wat betreft de certificering.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Nu wordt het tijd de eerste entry’s toe te voegen

Eerst database aanmaken met manager, creëer een file “ldif” met de volgend inhoud:

dn: o=test,c=nl
o: test
objectclass: top
objectclass: organization

dn: cn=Manager,o=bedrijftest,c=nl
objectclass: organizationalRole
cn: Manager

Zet dit in de ldif.

Nu gaan we deze file toevoegen.
/usr/local/bin/ldapadd -x -W -D 'cn=manager,o=bedrijftest,c=NL' -f ldif
Er wordt gevraagd om het wachtwoord, deze staat in de slapd.conf.

Als je nu het commando /usr/local/sbin/slapcat geeft, krijg je de inhoud van de database te zien.
Dit kan ook met:
/usr/local/bin/ldapsearch -x -W -D 'cn=manager,o=bedrijftest,c=nl' -b 'o=test,c=nl' objectclass=*

Je database kan nu gebruikt worden. Je kan nu ook het wachtwoord van de manager uit de slapd.conf halen. Mochten er ooit problemen zijn met het manager account, dan kan je hierin weer een wachtwoord zetten.


Nu gaat dit goed, hierna maak ik een gebruiker in de DB.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
dn: uid=bacardibreezer,o=bedrijftest,c=nl
objectClass: person
objectClass: inetorgperson
objectClass: posixaccount
cn: Bacardi Breezer
givenName: Bacardi
sn: Breezer
street: Straatweg 1
postalCode: 1234AB
uid: bacardibreezer
mail: bacardi_breezer@niets.nl
uidNumber: 9016
gidNumber: 9000
homeDirectory: /var/www/html/bacardibreezer
userpassword: {SSHA}+1Hx5fY6j/BroCg0isYnwk32B3+e52L9


Als ik hierna zoek op
code:
1
/usr/local/bin/ldapsearch -x -W -D 'cn=manager,o=bedrijftest,c=nl' -b 'o=bedrijftest,c=nl' uid=bacardibreezer


Dan wordt op het LDAP wachtwoord gevraagd en krijg ik netjes de userinfo te zien.

Hierna maak ik een certificaat aan:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Creëer een certificaat met:
/usr/local/ssl/bin/openssl req -new -x509 -nodes -keyout /usr/local/etc/openldap/ssl/server.key -out /usr/local/etc/openldap/ssl/server.crt
LET EROP DAT JE ALS COMMON NAME DE FQDN VAN JE MACHINE OP GEEFT!

/usr/local/ssl/bin/openssl genrsa -des3 -out /usr/local/etc/openldap/ssl/ca.key 1024

/usr/local/ssl/bin/openssl rsa -in /usr/local/etc/openldap/ssl/ca.key -out /usr/local/etc/openldap/ssl/ca.key

/usr/local/ssl/bin/openssl req -new -x509 -days 365 -key /usr/local/etc/openldap/ssl/ca.key -out /usr/local/etc/openldap/ssl/ca.crt
LET EROP DAT JE ALS COMMON NAME DE FQDN VAN JE MACHINE OP GEEFT!

Voeg het volgende toe aan je slapd.conf:

TLSCertificateFile /usr/local/etc/openldap/ssl/server.crt
TLSCertificateKeyFile /usr/local/etc/openldap/ssl/server.key
TLSCACertificateFile /usr/local/etc/openldap/ssl/ca.crt 

Nu de slapd opnieuw starten (eerst oude process stoppen (killall slapd))
/usr/local/libexec/slapd -h "ldaps:/// ldap:///"

Als het goed is wordt er nu geluisterd naar twee poorten, 389 en 636.


Dit gaat allemaal goed en nu ga ik het checken of de certificering ook daadwerkelijk werkt.

code:
1
2
3
4
5
6
7
8
Dit is te testen met:
/usr/local/bin/ldapsearch -x -W -H ldap://servernaam -ZZ -D 'cn=manager,o=bedrijftest,c=nl' -b 'o=bedrijftest,c=nl' uid=bacardibreezer –d33

De –ZZ betekent starttls (poort 389). Let op dat je bij –H ldap:// dezelfde host op geeft als je bij de common name van het certificate hebt opgegeven!!

Je kan ook gebruiken:
/usr/local/bin/ldapsearch -x -W -H ldaps://servernaam -D 'cn=manager,o=bedrijftest,c=nl' -b 'o=bedrijftest,c=nl' uid=bacardibreezer -d222
Let op dat de naam hetzelfde moet zijn als in de commonname certificaat! Met de debug info kan je zien dat alles over TLS/SSL verloopt.



De eerste krijg ik niet werkend. Als ik hem in debug-mode draai dan komt eruit dat de certifacten niet matchen wat ze toch zeker moeten doen.

De tweede test werkt perfect...... dus over SSL zou moeten werken maar normaal niet ?

Ik heb gechecked en de poorten staan beide open en wordt op geluisterd.

Kan iemand me hier in raden ?

Jij bent misschien belangrijk, maar ik ben aardig ;)

Pagina: 1