LDAP: Difference between revisions
(Lijst met LDAP gebruikers bijgewerkt) |
|||
Line 459: | Line 459: | ||
|- | |- | ||
| cn=drupal-hcc-nl | | cn=drupal-hcc-nl | ||
| hcc-ldap- | | hcc-ldap-lb2<br>(productie) | ||
| php-lb* | | php-lb* | ||
| apache | | apache | ||
Line 484: | Line 484: | ||
| test script | | test script | ||
| (t.b.v. partner-koppeling van de xmlrpc server)<br>~hans/partner-test/test_xml.php | | (t.b.v. partner-koppeling van de xmlrpc server)<br>~hans/partner-test/test_xml.php | ||
|- | |||
| cn=webapps | |||
| hcc-ldap-lb2 | |||
| www-hobby-nl-lb2 (productie) | |||
| apache | |||
| (t.b.v. Ledenraad en bijeenkomsten module op de kadersite)<br>/disk/site/hcc.nl/kadernet/config-ldap.php | |||
|- | |- | ||
Line 519: | Line 526: | ||
|- | |- | ||
| cn= | | cn=pc30-testuser | ||
| ldap2 | | ldap2 | ||
| not in use | | ''not in use'' | ||
| | | | ||
| | | |
Revision as of 18:51, 30 October 2012
Introductie
Om een centrale plaats te hebben om authenticatie te doen voor www.hcc.nl en sub-sites zoals een forum, is gekozen voor het gebruik van een LDAP database/directory. Hierin wordt alles opgeslagen wat nodig is voor het functioneren van de site, inclusief NAW gegevens die op dit moment alleen opgeslagen worden t.b.v. het PC30 beheerscherm.
LDAP server keuze
De voor de hand liggende keuze is OpenLDAP. Echter zijn er geluiden gehoord dat OpenLDAP niet zou schalen. Alternatieven zijn b.v. 389server maar die is erg slecht gesupport onder Ubuntu. Voorlopig starten we met OpenLDAP.
Loadbalanced
Er zijn twee servers (hcc-ldap-lb1 en hcc-ldap-lb2) die achter een loadbalancer in preferred server mode staat zodat het verkeer altijd naar server1 gestuurd wordt. Beide servers houden elkaar up-to-date. In de gewone situatie zullen alle reads en writes naar server1 gaan en server2 wordt door server1 bijgewerkt. Valt server1 weg, dan zal de loadbalancer overschakelen naar server2 waar vanaf dan de read en writes plaatsvinden. Zodra server1 weer beschikbaar is, wordt die bijgewerkt en zal weer master worden.
Installatie
Installatie van OpenLDAP is simpel:
aptitude install slapd ldap-utils
Als er gebruikgemaakt wordt van php scripts, is het ook nodig php5-cli en php5-ldap te installeren. De configuratie van OpenLDAP is sinds Karmic Koala iets gecompliceerder geworden. 'cn=config' wordt nog steeds gebruikt maar tijdens installatie wordt alleen een skeleton configuratie geïnstalleerd. Er wordt niet meer gevraagd om een password tijdens de installatie en met "dpkg-reconfigure slapd" zet alleen de skeleton configuratie terug. Je moet zelf de database, root dn en acl's opzetten (als root of met sudo). Run dpkg-reconfigure slapd om terug te gaan naar een lege directory.
UPDATE: in Oneiric Ocelot (11.10) is weer wel de mogelijkheid gegeven bij installatie een database aan te maken. Default wordt echter de fqdn hostname gebruikt. Bij dpkg-reconfigure kan het gewenste domein wel opnieuw gegeven worden. De initiële configuratie staat in /usr/share/slapd/slapd.init.ldif.
Locatie bestanden
Om de benodigde bestanden op de server te krijgen zal scp gebruikt moet worden. Upload alles in een privé subdirectory. Copiëer daarna alles naar de juiste plaats en verander de owner in root.
- Alle ldif em tmpl bestanden gaan naar /usr/local/hobbynet/lib
- init_ldap en andere scripts gaan naar /usr/local/hobbynet/bin
- alle data bestanden (dumps) en update ldifs gaan naar /usr/local/hobbynet/data
- etc/ldap/schema/hcc_schema.* gaan naar /etc/ldap/schema
- etc/ldap/schema/ppolicy.ldif gaat naar /etc/ldap/schema
Initiële database
Direct na installatie (of na dpkg-reconfigure slapd) staat er een werkende doch lege directory in OpenLDAP. Access is alleen geregeld voor root. Dit heeft te maken met het feit dat vanaf Karmic Koala OpenLDAP alleen het minst noodzakelijke bevat om slapd te starten. Wordt echter init_ldap gebruikt dan wordt een werkende directory gemaakt met alle statische data (in diverse ou's) erin. Alleen zijn er geen leden geladen in de ou=leden en ou=inactieve_leden.
slapd.init.ldif
Bij installatie/reconfiguratie wordt /usr/share/slapd/slapd.init.ldif ingelezen. Zie aldaar indien nodig.
init_ldap script
Het lokale script init-ldap doet een reset van de initiële Openldap configuratie. Dit heeft tot gevolg dat de DIT dc=hcc,dc=nl met een rootDN cn=admin,dc=hcc,dc=nl reeds aangemaakt wordt. Alles wat we toegevoegd/gewijzigd willen hebben in de cn=config volgt daarna. Dit wordt afgesloten met een restart van de slapd server. Na een korte delay wordt in een aantal stappen de eigenlijke data geladen. Op alle servers wordt de volledige directory geladen; op de test servers worden ook nog een paar testleden geladen.
Het (plain text) password van cn=admin,dc=hcc,dc=nl moet bij het aanroepen van init_ldap op de commandline worden meegegeven. Tijdens de dpkg-reconfigure moet het password nog 2x gegeven worden. Gebruik ook de OpenLDAP Admin Guide. Het laden van eventuele data (leden/kader/passwords/testusers) kan voorkomen worden door stop als 2de commandline argument mee te geven.
Het init_ldap script bevat allerlei logica om op meerdere ldap servers gedraaid te kunnen worden. In grote lijnen valt het script in een aantal blokken uiteen:
- voorbereidingen om "dpkg-reconfigure slapd" te draaien
- definities van input files
- check host
- bouwen van het skelet van de nieuwe directory
- laden van de data
Zie voor details het script init_ldap zelf b.v. op ldap2 (in /usr/local/hobbynet/bin).
upd_ldap script
Om na het volledig laden van de database updates te kunnen doen is er een 2de (afgeleid) script upd_ldap, dat vooral bedoeld is om te voorkomen dat telkens alle username/password gegevens via het zeer trage SOAP/XMLRPC interface van HenZ gehaald moeten worden. Ook het inlezen van bijna 90.000 records in ldap is een tijdrovende zaak. Hiertoe zet Hans alleen de mutaties klaar (veel handwerk). Omdat het tevens om aanpassingen in de kaderrollen gaat, worden die eerst allemaal verwijderd met het php script "leeg-kader-rol.php". Daarna worden vervolgens de mutaties ingelezen (delete/add), de username/passwords (wizzard informatie) ge-update en tenslotte alle rollen weer toegevoegd.
Zodra er een dagelijkse cron job draait zal dit ingewikkelde proces vervangen worden door een mechanisme dat gebruik maakt van een XMLRPC koppeling richting ldap server. Het upd_ldap script is alleen bedoeld voor de hcc-ldap-lb1/2 servers. Zolang de replicatie functioneert is het uitvoeren van dit script op hcc-ldap-lb1 voldoende. De replicatie zorgt er voor dat hcc-ldap-lb2 bijgewerkt wordt. Dit script wordt niet actief onderhouden! Controleer voor gebruik de inhoud.
onderdelen van init_ldap
Init_ldap is opgezet om stap voor stap de database op te bouwen. Hieronder een beschrijving van de losse ldif bestanden die ingelezen worden. Incidenteel wordt een ldif gewijzigd; kijk altijd in de actuele bestanden!
add-schema.ldif
Omdat wij een aantal eigen attributes en Objectclasses hebben toegevoegd aam het schema, moeten deze aan OpenLDAP worden toegevoegd. Het schema moet nog worden omgezet naar ldif format.
- Hiertoe wordt het onderstaande schema in /etc/ldap/schema geplaatst als hcc_schema.schema.
- Vervolgens worden de stappen uitgevoerd zoals beschreven in de Ubuntu Server guide, onder Modifying the slapd Configuration Database.
- De resulterende output file cn=hcc_schema.ldif moet dan nog naar /etc/ldap/schema/hcc_schema.ldif gecopieerd worden.
Als dit proces herhaald moet worden, start dan met een lege output directory en verwijder een eventueel achtergebleven cn=hcc_schema.ldif bestand.
De extra schema's worden middels een include toegevoegd. Ppolicy is op gelijke wijze als hcc_schema tot .ldif geconverteerd. Alle stappen om een nieuwe hcc-schema.ldif te maken zijn gescript in upd_schema. In init_ldap wordt het eigen schema en de password policy geladen:
####################################### ## add-schema.ldif ## ####################################### include: file:///etc/ldap/schema/hcc_schema.ldif include: file:///etc/ldap/schema/ppolicy.ldif
modify_config.ldif
Dit template dient om de SSL/TLS instelling toe te voegen in de ldap configuratie. Toegevoegd worden de certificaat gegevens om met TLS te kunnen werken. Het loglevel wordt op STATS en ACL gezet. Dit geeft niet teveel logging maar is toch goed bruikbaar. De @...@ strings worden tijdens het draaien van het init_ldap script vervangen door specifieke waarden voor de server. Dit om op alle servers (ook test servers) één en hetzelfde script te kunnen gebruiken. Er zijn nog enkele van deze templates.
####################################### ## modify-config.tmpl ## ####################################### dn: cn=config add: olcTLSCACertificateFile olcTLSCACertificateFile: /etc/ssl/certs/CAcert_org.pem - add: olcTLSCertificateFile olcTLSCertificateFile: /etc/ssl/private/@CERT@.crt - add: olcTLSCertificateKeyFile olcTLSCertificateKeyFile: /etc/ssl/private/@CERT@.key - replace: olcLogLevel olcLogLevel: stats ACL
Om de logging in een apart bestand te krijgen moet in /etc/rsyslog.d een extra bestand openldap.conf geplaatst worden.
local4.* -/var/log/openldap.log
Tevens willen we logrotate op dit bestand. Plaats in /etc/logrotate.d het bestand openldap met de volgende inhoud
/var/log/openldap.log { rotate 4 weekly missingok notifempty compress delaycompress sharedscripts postrotate reload rsyslog >/dev/null 2>&1 || true endscript }
modify-hdb.ldif
Hier worden de wijzigingen op de backend db gemaakt. Er worden een aantal attributes ge-indexeerd en de search SizeLimit wordt op unlimited gezet. De waarden die in DB_CONFIG moeten komen (Berkely DB parameters) staan ook in dit bestand.
######################################### ## modify-hdb.idif versie 20120515vbs ## ######################################### dn: olcDatabase={1}hdb,cn=config replace: olcDbDirectory olcDbDirectory: /var/lib/ldap - replace: olcAccess olcAccess: to attrs=userPassword by self write by anonymous auth by dn="cn=admin,dc=hcc,dc=nl" write by dn.one="ou=beheer,dc=hcc,dc=nl" write by * none olcAccess: to attrs=hccLogin by self write by dn="cn=admin,dc=hcc,dc=nl" write by dn.one="ou=beheer,dc=hcc,dc=nl" write by dn.one="ou=klanten,dc=hcc,dc=nl" read by dn.one="ou=helpdesk,dc=hcc,dc=nl" read by * none olcAccess: to * by self read by dn="cn=admin,dc=hcc,dc=nl" write by dn.one="ou=beheer,dc=hcc,dc=nl" write by dn.one="ou=klanten,dc=hcc,dc=nl" read by dn.one="ou=helpdesk,dc=hcc,dc=nl" read by * none - replace: olcSizeLimit olcSizeLimit: 100000 - replace: olcDbCachesize olcDbCachesize: 2000000 - replace: olcDbCheckpoint olcDbCheckpoint: 1024 5 - replace: olcDbConfig olcDbConfig: set_cachesize 0 536870912 0 olcDbConfig: set_lk_max_objects 1000 olcDbConfig: set_lk_max_locks 1000 olcDbConfig: set_lk_max_lockers 1000 olcDbConfig: set_flags DB_LOG_AUTOREMOVE olcDbConfig: set_flags DB_TXN_NOSYNC - replace: olcDbIDLcacheSize olcDbIDLcacheSize: 6000000 - replace: olcDbIndex olcDbIndex: default pres,eq olcDbIndex: objectClass,entryUUID,entryCSN eq olcDbIndex: mail eq,sub olcDbIndex: sn eq,sub,subany olcDbIndex: hccRol pres,eq,sub olcDbIndex: hccLidNummer,hccLogin,hccPseudoniem eq,sub olcDbIndex: hccPostcodeZoekveld,hccLand eq,sub
ppolicy overlay
- vanuit LDAP de minimale lengte van een wachtwoord afdwingen
- in LDAP SSHA versleuteling activeren
(olcPPolicyHashCleartext: TRUE)
####################################### ## add-ppolicy.ldif ## ####################################### dn: cn=module{0},cn=config changetype: modify add: olcModuleLoad olcModuleLoad: ppolicy dn: olcOverlay=ppolicy,olcDatabase={1}hdb,cn=config changetype: add objectClass: olcConfig objectClass: olcOverlayConfig objectClass: olcPPolicyConfig olcOverlay: ppolicy olcPPolicyDefault: cn=default,ou=policies,dc=hcc,dc=nl olcPPolicyHashCleartext: TRUE
The default ppolicy looks like this:
dn: cn=default,ou=policies,dc=hcc,dc=nl objectClass: pwdPolicy objectClass: device cn: default pwdCheckQuality: 1 pwdMinLength: 8 pwdAttribute: 2.5.4.35 pwdAllowUserChange: TRUE
Syncrepl overlay
Om twee servers met elkaar in sync te houden is nog wat aanvullende configuratie nodig. In onze situatie zal altijd maar één server bevraagd worden; bij een failover van de loadbancer zal dus de andere server gebruikt worden. Bij het teruggaan naar server 1 zal de directory bijgewerkt worden. Wij gebruiken de z.g. Mirror Mode. Zie de LDAP Admin Guide. Mirror configuratie is specifiek per server!
####################################### ## add-syncrepl.tmpl ## ####################################### dn: cn=config changetype: modify replace: olcServerID olcServerID: @SID@ dn: cn=module{0},cn=config changetype: modify add: olcModuleLoad olcModuleLoad: syncprov dn: olcOverlay=syncprov,olcDatabase={1}hdb,cn=config changetype: add objectClass: olcOverlayConfig objectClass: olcSyncProvConfig olcOverlay: syncprov olcSpCheckpoint: 100 5 olcSpSessionlog: 100 dn: olcDatabase={1}hdb,cn=config changetype: modify add: olcSyncRepl olcSyncRepl: rid=@RID@ provider=ldap://@PROVIDER@ binddn="cn=admin,dc=hcc,dc=nl" bindmethod=simple credentials="@PASSWORD@" searchbase="dc=hcc,dc=nl" type=refreshAndPersist interval=00:00:00:10 retry="5 5 300 5" timeout=1 starttls=yes - add: olcMirrorMode olcMirrorMode: TRUE
De andere server krijgt ServerID 2 en de provider is het IP adres van de andere server.
Unique overlay
Deze overlay dient er voor te zorgen dat het attribuut hccLogin een unieke waarde bevat.
####################################### ## add-unique.ldif ## ####################################### dn: cn=module{0},cn=config changetype: modify add: olcModuleLoad olcModuleLoad: unique dn: olcOverlay=unique,olcDatabase={1}hdb,cn=config changetype: add objectClass: olcOverlayConfig objectClass: olcUniqueConfig olcOverlay: unique olcUniqueAttribute: hcclogin
add-hcc-ou.ldif
Hierin worden alle ou's aangemaakt. Tevens wordt alle statische data als beheerders, klanten, ig's, regio's, etc. geladen. Alleen de ou's leden en inactieve_leden blijven leeg. Het gevolg is dat een volledig operationele directory beschikbaar is nadat het init_ldap script gelopen heeft. Met behulp van de restore_ldap* scripts is vervolgens de leden (en inactieve_leden) ou te vullen. Met de huidige tuning kost het terug zetten van een dump circa 2-3 minuten voor 90.000 entries.
SSL/TLS beveiliging
Gebruik de juiste .pem bestanden in /etc/ssl/certs en /etc/ssl/private. Voer een c_rehash . uit in /etc/ssl/certs om de cache te updaten (indien CAcert_org.pem nieuw werd toegevoegd). De ownership is belangrijk. Hiertoe wordt de groep "openldap" toegevoegd aan de groep ssl-cert.
adduser openldap ssl-cert
Als dit fout gaat, doe dan eerst:
apt-get install ssl-cert
Zet het certificaat en de private key in de juiste groep:
chgrp ssl-cert /etc/ssl/private/hobby.nl.* chmod 440 /etc/ssl/private/hobby.nl.key
Het resultaat is dan als volgt:
root@hcc-ldap-lb1:~# ls -l /etc/ssl/private/hcc* -rw-r--r-- 1 root ssl-cert 1724 Nov 22 20:47 hobby.nl.crt -r--r----- 1 root ssl-cert 1679 Nov 22 20:25 hobby.nl.key
root@hcc-ldap-lb1:~# grep openldap /etc/group ssl-cert:x:114:openldap openldap:x:118:
LDAP Clients
Er zijn meerdere LDAP clients. De meest populaire zijn Apache Directory Studio ("ADS") en phpLdapAdmin ("PLA"). De eerste is veel uitgbreider maar vereist een Java Runtime Environment ("JRE"). Onder Windows XP is dat JRE6. PhpLdapAdmin draait onder apache. Beide clients hebben wat configuratie nodig; Bij ADS gaat alles stapsgewijs in de GUI. Voor PLA moet /etc/phpldapadmin/config.php aangepast worden.
StartTLS
Aanbevolen wordt StartTLS op poort 389 te gebruiken. Alternatief is LDAPS op poort 636 maar dat is depreciated. Voor beide clients is het belangrijk dat de root certificaten gevonden kunnen worden. Als Apache al een server cert kent zou PLA geen probleem mogen zijn. ADS maakt deel uit van de JRE. JRE moet dus de root certificaten kunnen vinden.
ADS onder Windows
Onder Windows moet met keytool.exe gewerkt worden. De uitleg heb ik van [hier]. Het komt erop neer dat de .pem of .der certificaten van CAcert in de keystore gezet worden. Kopieer deze certificaat bestanden in C:\Program Files\Java\jre6\lib\security (jre6 kan ondertussen jre7 zijn in Vista of W7). Doe dan in een terminal window:
Haal de benodigde bestanden op (op een Linux systeem): wget http://www.cacert.org/certs/root.der -O root.der wget http://www.cacert.org/certs/class3.der -O class3.der copieer de bestanden naar de Windows omgeving in C:\Program Files (x86)\Java\jre6\lib\security. Open een commandwindow: cd C:\Program Files (x86)\Java\jre6\lib\security ..\..\bin\keytool -import -trustcacerts -keystore cacerts -storepass changeit -noprompt -alias cacertclass1 -file root.der ..\..\bin\keytool -import -trustcacerts -keystore cacerts -storepass changeit -noprompt -alias cacertclass3 -file class3.der
De Windows JRE is ook te managen via het Java applet in het configuratiescherm. Toevoegen van root certificaten lijkt niet mogelijk voor system; wel voor user. Niet verder naar gezocht.
ADS onder Linux
Apache Directory Studio volgt nog.
PHP LDAP Admin onder Linux
Voor ldap clients (phpldapadmin) dient de client configuratie goed te zijn. Deze bevindt zich in /etc/ldap.ldap.conf. Het is voldoende als de directory met de root certificaten bekend is. Deze client configuratie is meer php-ldap gebonden dan alleen voor PLA. Ook de Drupal LDAPauth module werkt met ditzelfde beatand. Zie ook de [phpldapadmin wiki].
# # LDAP Defaults # # See ldap.conf(5) for details # This file should be world readable but not world writable. #BASE dc=example,dc=com #URI ldap://ldap.example.com ldap://ldap-master.example.com:666 #SIZELIMIT 12 #TIMELIMIT 15 #DEREF never TLS_CACERT /etc/ssl/certs/CAcert_org.pem TLS_CERT /etc/ssl/private/hobby.nl.crt TLS_KEY /etc/ssl/private/hobby.nl.key TLS_REQCERT allow #TLS_REQCERT never
Denk er wel aan na wijzigingen Apache te herstarten.
Backup
lokaal
Backups kunnen gemaakt worden terwijl slapd draait maar geadviseerd wordt slapd te stoppen. Voor dumpen moet slapcat gebruikt worden. Backups kunnen gemaakt worden per database naar een ldif bestand.
slapcat -l hcc-dump.ldif -b "dc=hcc,dc=nl"
Dit maakt een dump van alles onder dc=hcc,dc=nl naar het bestand hcc-dump.ldif. Ook is het mogelijk het database nummer te gebruiken, config is altijd nummer 0, hdb is gewoonlijk 1:
slapcat -l config-dump.ldif -n 0
Gebruik hier de dump_ldap en dump_ldap_hcc_nl scripts voor. Het eerste script dumpt de twee leden ou's naar twee afzonderlijke bestanden; het tweede script dumpt alles onder dc=hcc,dc=nl, dus ook de beheer ou's.
Terug inlezen kan alleen in een lege directory, dus direct nadat init_ldap is gedaan. Gebruik voor het terugplaatsen slapadd. Aan te bevelen is -c mee te geven want de eerste twee DN's zijn al aanwezig. Ingeval van een gerepliceerde db is het van belang het SID mee te geven en -w om de hoogste entryCSN weg te schrijven.
Ook voor slapadd moet slapd gestopt zijn. Denk er om na afloop het ownership van de bestanden in /var/lib/ldap recht te zetten!
/etc/init.d/slapd stop slapadd -l hcc-dump.ldif -w -c >errors.txt chown openldap:openldap /var/lib/ldap/* /etc/init.d/slapd start
Ook hier geldt: gebruik de restore_ldap en restore_ldap_hcc_nl scripts.
remote
Er wordt een encrypted remote backup gemaakt naar backup2bit. Zie voor meer info Encrypted_backup
crontab
# script dat updates ophaalt (maar niet installeert), zodat nagios ze ook detecteert 0 9 * * * /usr/local/hobbynet/bin/upd_srv >/dev/null 0 18 * * * /usr/local/hobbynet/bin/upd_srv >/dev/null
PHP scripting
Initieel worden alle leden op basis van hun hcc lidnummer ingelezen. Zodra de profielwizard doorlopen is, zal het lidnummer vervangen moeten worden door de gebruikersnaam. Er zijn verschillende php-scripts gemaakt, o.a. om snel alle kaderrollen te verwijderen. Php-scripts staan in de /usr/local/hobbynet/bin directory. Voor de php-scripting zijn enkele php5 pakketten nodig. Installeer deze met apt-get. Het gaat om:
- php5-cli
- php5-ldap
Apache authenticatie via LDAP
In plaats van .htpassword authenticatie, kan ook LDAP gebruikt worden. Activeer daartoe de Apache module 'authnz_ldap'.
a2enmod authnz_ldap
Denk er om dat dit in een loadbalanced situatie op beide servers gedaan dient te worden!
Voorbeeld van een .htaccess configuratiebestand
(alleen als voorbeeld, niet zo gebruiken! Neem dit rechtstreeks in Apache op!)
Dit is het configuratiebestand dat op de PC30 beheerpagina op de testserver actief is. Deze configuratie staat zowel de 'nieuwe' (LDAP) manier van aanloggen toe, als ook de 'oude' (.htpassword bestand) manier.
Er is in de LDAP definitie een speciale regel ingebouwd, zodat alleen personen die in de XB_lijst voorkomen toegang tot deze pagina kunnen krijgen.
AuthName "www-test pc30 login (gebruik uw hcc-lidnummer/hcc-code of uw hcc.nl gebruikersnaam/wachtwoord)" AuthType Basic AuthBasicProvider file ldap AuthLDAPURL ldaps://ldap2-int.hobby.nl/ou=leden,dc=hcc,dc=nl?hccLogin?one?(hccRol=*) AuthLDAPCompareDNOnServer on AuthLDAPBindDN cn=drupal-hcc-nl,ou=klanten,dc=hcc,dc=nl AuthLDAPBindPassword xxxxxxxxxxxxxxxxxxxxxxxxxx AuthzLDAPAuthoritative off Order deny,allow Deny from all AuthUserFile /usr/local/hobbynet/lib/www_homes require valid-user
Voorbeeld van een LDAP configuratie in de Apache config
Omdat er voor LDAP een wachtwoord noodzakelijk is, dient er geen .htaccess gebruikt te worden, maar dient dit rechtstreeks in de Apache configuratie ingeklopt te worden.
Bovenstaand voorbeeld is speciaal bedoeld voor de map '/pc30'. Het enige dat speciale dat daarvoor gedaan moet worden, is in de eerste regel ('<Location>' de naam van die map neer te zetten.
<Location /pc30> AuthName "www-test pc30 login (gebruik uw hcc-lidnummer/hcc-code of uw hcc.nl gebruikersnaam/wachtwoord)" AuthType Basic AuthBasicProvider file ldap AuthLDAPURL ldaps://ldap2-int.hobby.nl/ou=leden,dc=hcc,dc=nl?hccLogin?one?(hccRol=*) AuthLDAPCompareDNOnServer on AuthLDAPBindDN cn=drupal-hcc-nl,ou=klanten,dc=hcc,dc=nl AuthLDAPBindPassword xxxxxxxxxxxxxxxxxxxxxxxxxx AuthzLDAPAuthoritative off Order deny,allow Deny from all AuthUserFile /usr/local/hobbynet/lib/www_homes require valid-user </Location>
Waar is welke LDAP gebruiker ingeregeld
gebruikersnaam | welke LDAP server |
servernaam | programma | bestand |
---|---|---|---|---|
OU=klanten | ||||
cn=drupal-hcc-nl | ldap2 | www-test-lb* www-beta-lb* |
apache | Drupal configuratie (t.b.v. LDAP authenticatie module) |
cn=drupal-hcc-nl | ldap2 | www-test-lb* www-beta-lb* |
apache | site-config www-test en www-test-ssl (t.b.v. pc30 beheerpagina) |
cn=drupal-hcc-nl | hcc-ldap-lb* (productie) |
hcc-ldap | xmlrpc server | (t.b.v. minimale rechten bij de LDAP server) /disk/site/hobby.nl/xml-hcc-ldap/www/xml/xml-server.php |
cn=drupal-hcc-nl | ldap2 | ldap2 | xmlrpc server | (t.b.v. minimale rechten bij de LDAP server) /disk/site/hobby.nl/xml-ldap2/www/xml/xml-server.php |
cn=drupal-hcc-nl | hcc-ldap-lb2 (productie) |
php-lb* | apache | gamesbestuur wiki config |
cn=forum-hcc-nl | ldap2 | php-lb* ? | ||
cn=groepen-hcc-nl | ldap2 | php-joomla-lb* ? | joomla 2.5 test site | |
cn=partner-hcc-nl | ldap2 | www-test-lb* www-beta-lb* |
test script | (t.b.v. partner-koppeling van de xmlrpc server) ~hans/partner-test/test_xml.php |
cn=webapps | hcc-ldap-lb2 | www-hobby-nl-lb2 (productie) | apache | (t.b.v. Ledenraad en bijeenkomsten module op de kadersite) /disk/site/hcc.nl/kadernet/config-ldap.php |
OU=beheer | ||||
cn=xml | hcc-ldap-lb* (productie) |
hcc-ldap | xmlrpc server | (t.b.v. maximale rechten bij de LDAP server) /disk/site/hobby.nl/xml-hcc-ldap/www/xml/xml-server.php |
cn=xml | ldap2 | ldap2 | xmlrpc server | (t.b.v. maximale rechten bij de LDAP server) /disk/site/hobby.nl/xml-ldap2/www/xml/xml-server.php |
OU=helpdesk | ||||
cn=pc30-helpdesk | ldap2 | www-test-lb* www-beta-lb* |
apache | t.b.v. pc30 beheerpagina |
cn=pc30-testuser | ldap2 | not in use | ||
TODO lijst
Dit is een lijst in wording, graag aanvullen
- script maken om dagelijkse mutaties te verwerken
- 'dun' loadbalancer script maken om te controleren dat LDAP echt luistert