<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.hobby.nl/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=2001%3A980%3A5570%3A1%3A49E2%3A72B2%3A401%3A3A69</id>
	<title>Hobbynet Admin Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.hobby.nl/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=2001%3A980%3A5570%3A1%3A49E2%3A72B2%3A401%3A3A69"/>
	<link rel="alternate" type="text/html" href="https://wiki.hobby.nl/index.php/Special:Contributions/2001:980:5570:1:49E2:72B2:401:3A69"/>
	<updated>2026-05-14T14:39:28Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.40.1</generator>
	<entry>
		<id>https://wiki.hobby.nl/index.php?title=LDAP&amp;diff=77394</id>
		<title>LDAP</title>
		<link rel="alternate" type="text/html" href="https://wiki.hobby.nl/index.php?title=LDAP&amp;diff=77394"/>
		<updated>2017-09-18T19:27:20Z</updated>

		<summary type="html">&lt;p&gt;2001:980:5570:1:49E2:72B2:401:3A69: /* add-schema.ldif */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introductie==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==LDAP server keuze==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
==Loadbalanced==&lt;br /&gt;
Er zijn twee servers (hcc-ldap-lb1 en hcc-ldap-lb2) die achter een loadbalancer in preferred server mode staan 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.&lt;br /&gt;
&lt;br /&gt;
==Installatie==&lt;br /&gt;
Installatie van OpenLDAP is simpel:&lt;br /&gt;
 aptitude install slapd ldap-utils&lt;br /&gt;
Als er gebruikgemaakt wordt van php scripts, is het ook nodig &#039;&#039;&#039;php5-cli&#039;&#039;&#039; en &#039;&#039;&#039;php5-ldap&#039;&#039;&#039; te installeren. De configuratie van OpenLDAP is sinds Karmic Koala iets gecompliceerder geworden. &#039;cn=config&#039; 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 &amp;quot;dpkg-reconfigure slapd&amp;quot; zet alleen de skeleton configuratie terug. Je moet zelf de database, root dn en acl&#039;s opzetten (als root of met sudo). Run  &#039;&#039;&#039;dpkg-reconfigure slapd&#039;&#039;&#039; om terug te gaan naar een lege directory. &lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
UPDATE: bij de upgrade naar 16.04.1 zijn proefondervindelijk nog wat extra handelingen nodig gebleken.&lt;br /&gt;
xml server updaten naar ubuntu 16.04. WIP!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- apt-get install phpmyadmin&lt;br /&gt;
- apt-get install aptitude &lt;br /&gt;
- apt-get install php-xmlrpc&lt;br /&gt;
- apt-get install php7.0-ldap&lt;br /&gt;
- phpenmod xml&lt;br /&gt;
- phpenmod mysqli&lt;br /&gt;
  (&#039;php -m&#039; toont de geactiveerde modules)&lt;br /&gt;
- apache2ctl restart&lt;br /&gt;
&lt;br /&gt;
phpmyadmin werkt niet:&lt;br /&gt;
- apt-get install php-mbstring&lt;br /&gt;
- apt-get install php-gettext&lt;br /&gt;
&lt;br /&gt;
ontbrekende pakketten volgens hjv:&lt;br /&gt;
&lt;br /&gt;
apt-get install aptitude &lt;br /&gt;
apt-get install phpmyadmin&lt;br /&gt;
apt-get install php-mbstring&lt;br /&gt;
apt-get install php-gettext&lt;br /&gt;
apt-get install php-xmlrpc&lt;br /&gt;
apt-get install php7.0-ldap&lt;br /&gt;
apt-get install mysql-server&lt;br /&gt;
apt-get install ldapscripts&lt;br /&gt;
apt-get install php7.0-xml&lt;br /&gt;
apt-get install slapd&lt;br /&gt;
apt-get install ldap-utils&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
&lt;br /&gt;
* Voer de laatste stappen uit, zoals beschreven in de Hobbynet wiki: *&lt;br /&gt;
&lt;br /&gt;
- openldap moet lid zijn van de groep ssl-cert!&lt;br /&gt;
apt-get install ssl-cert&lt;br /&gt;
adduser openldap ssl-cert&lt;br /&gt;
(of vi /etc/group&lt;br /&gt;
    ssl-cert:x:116:openldap)&lt;br /&gt;
&lt;br /&gt;
- Zorg dat de LDAP deamon bij de certificaten kan komen. &lt;br /&gt;
LET OP: op alle hobbynet servers staan de certificaten in /site/disk/etc/ssl/hobby.nl/&lt;br /&gt;
chgrp ssl-cert /etc/ssl/private/hobby.nl.*&lt;br /&gt;
chmod 440      /etc/ssl/private/hobby.nl.key&lt;br /&gt;
&lt;br /&gt;
- Vertel LDAP (en PHP) clients welke certificaten toegestaan zijn&lt;br /&gt;
vi /etc/ldap/ldap.conf&lt;br /&gt;
TLS_CERT        /etc/ssl/private/hobby.nl.crt&lt;br /&gt;
TLS_KEY         /etc/ssl/private/hobby.nl.key&lt;br /&gt;
TLS_REQCERT     allow&lt;br /&gt;
&lt;br /&gt;
- mysql laat het bestand ibdata1 ongelimiteerd groeien (InnoDB bestanden)&lt;br /&gt;
/etc/mysql/my.cnf&lt;br /&gt;
innodb_file_per_table&lt;br /&gt;
&lt;br /&gt;
=============&lt;br /&gt;
Hobbynet aanpassingen&lt;br /&gt;
/etc/bash.bashrc&lt;br /&gt;
export http_proxy=http://squid-int.hobby.nl:3128&lt;br /&gt;
export https_proxy=http://squid-int.hobby.nl:3128&lt;br /&gt;
export ftp_proxy=http://squid-int.hobby.nl:3128&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Locatie bestanden===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
* Alle ldif em tmpl bestanden gaan naar /usr/local/hobbynet/lib&lt;br /&gt;
* init_ldap en andere scripts gaan naar /usr/local/hobbynet/bin&lt;br /&gt;
* alle data bestanden (dumps) en update ldifs gaan naar /usr/local/hobbynet/data&lt;br /&gt;
* etc/ldap/schema/hcc_schema.* gaan naar /etc/ldap/schema&lt;br /&gt;
* etc/ldap/schema/ppolicy.ldif gaat naar /etc/ldap/schema&lt;br /&gt;
&lt;br /&gt;
==Initiële database==&lt;br /&gt;
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&#039;s) erin. Alleen zijn er geen leden geladen in de ou=leden en ou=inactieve_leden.&lt;br /&gt;
===slapd.init.ldif ===&lt;br /&gt;
Bij installatie/reconfiguratie wordt /usr/share/slapd/slapd.init.ldif ingelezen. Zie aldaar indien nodig.&lt;br /&gt;
&lt;br /&gt;
==init_ldap script==&lt;br /&gt;
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 &#039;&#039;&#039;cn=admin,dc=hcc,dc=nl&#039;&#039;&#039; steeds opnieuw 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. Het script &#039;&#039;&#039;restore_ldap&#039;&#039;&#039; laadt vervolgens de laatste dump terug. Bij wijzigingen aan het schema is het raadzaam altijd een &#039;&#039;&#039;dump_ldap&#039;&#039;&#039; te doen zodat een later een actuele dump kan worden teruggeladen.&lt;br /&gt;
&lt;br /&gt;
Het (plain text) password van cn=admin,dc=hcc,dc=nl moet bij het aanroepen van &#039;&#039;&#039;init_ldap&#039;&#039;&#039; op de commandline worden meegegeven. Tijdens de dpkg-reconfigure moet het password nog 2x gegeven worden. Lees eventueel ook de [http://www.openldap.org/doc/admin/ OpenLDAP Admin Guide].&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
* voorbereidingen om &amp;quot;dpkg-reconfigure slapd&amp;quot; te draaien&lt;br /&gt;
* definities van input files&lt;br /&gt;
* check host&lt;br /&gt;
* bouwen van het skelet van de nieuwe directory&lt;br /&gt;
Zie voor details van de scripts &#039;&#039;&#039;init_ldap&#039;&#039;&#039;, &#039;&#039;&#039;dump_ldap&#039;&#039;&#039; en &#039;&#039;&#039;restore_ldap&#039;&#039;&#039; op een van de servers (in /usr/local/hobbynet/bin).&lt;br /&gt;
&lt;br /&gt;
==onderdelen van init_ldap==&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
===add-schema.ldif===&lt;br /&gt;
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. &lt;br /&gt;
* Hiertoe wordt het onderstaande schema in /etc/ldap/schema geplaatst als hcc_schema.schema. &lt;br /&gt;
* Vervolgens worden de stappen uitgevoerd zoals beschreven in de [https://help.ubuntu.com/11.10/serverguide/C/openldap-server.html Ubuntu Server guide], onder &#039;&#039;&#039;Modifying the slapd Configuration Database&#039;&#039;&#039;. &lt;br /&gt;
* De resulterende output file &#039;&#039;&#039;cn=hcc_schema.ldif&#039;&#039;&#039; moet dan nog naar /etc/ldap/schema/hcc_schema.ldif gecopieerd worden. &lt;br /&gt;
Als dit proces herhaald moet worden, start dan met een lege output directory en verwijder een eventueel achtergebleven cn=hcc_schema.ldif bestand. &lt;br /&gt;
&lt;br /&gt;
De extra schema&#039;s worden middels een &#039;&#039;&#039;include&#039;&#039;&#039; toegevoegd. &#039;&#039;&#039;Ppolicy&#039;&#039;&#039; is op gelijke wijze als &#039;&#039;&#039;hcc_schema&#039;&#039;&#039; tot .ldif geconverteerd. Alle stappen om een nieuwe &#039;&#039;&#039;hcc-schema.ldif&#039;&#039;&#039; te maken zijn gescript in &#039;&#039;&#039;upd_schema&#039;&#039;&#039;. In &#039;&#039;&#039;init_ldap&#039;&#039;&#039; wordt het eigen schema en de password policy geladen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#######################################&lt;br /&gt;
## add-schema.ldif                   ##&lt;br /&gt;
#######################################&lt;br /&gt;
include: file:///etc/ldap/schema/hcc_schema.ldif&lt;br /&gt;
include: file:///etc/ldap/schema/ppolicy.ldif&lt;br /&gt;
include: file:///etc/ldap/schema/ldapns.ldif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====schema updates====&lt;br /&gt;
Soms wordt een attribute toegevoegd of gewijzigd. Hiertoe dient het bestand hcc_schema.schema in /usr/local/hobbynet/etc/ldap/schema, gewijzigd te worden. Daarna dient er een ldif versi van gemaakt te worden. Gebruik hiervoor &#039;&#039;&#039;upd_schema.sh&#039;&#039;&#039; in dezelfde directory. De resulterende hcc_schema.ldif wordt in dit script naar /etc/ldap/schema gecopieërd. Bij grote wijzigingen is het aan te bevelen door de hele rebuild cycle te gaan (dump, init, restore). Bij triviale aanpassingen zou hcc_schema.ldif ook &#039;&#039;&#039;direct&#039;&#039;&#039; in de actieve directory geplaatst kunnen worden, gevolgd door slechts een &#039;&#039;&#039;service slapd restart&#039;&#039;&#039;. Gebruik hiervoor (blijf in de lokale schema directory):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cp &amp;quot;ldif_output/cn=config/cn=schema/cn={14}hcc_schema.ldif&amp;quot; &amp;quot;/etc/ldap/slapd.d/cn=config/cn=schema/cn={4}hcc_schema.ldif&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
LET OP: De nummers tussen accolades zijn bepaald door de volgorde van andere scripts! Zolang geen andere schema&#039;s worden toegevoegd zullen ze niet veranderen.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
ook kan met de ldap-tools gewerkt worden. Gebruik ldapsearch en ldapmodify, eventueel met de -f optie om een voorbereide serie opdrachten uit te voeren. Gebruik ldapsearch om eerst de structuur te vinden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn={4}hcc_schema,cn=schema,cn=config&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Hier een voorbeeld om een objectClass aan te passen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cat pas_aan.ldif&lt;br /&gt;
dn: cn={4}hcc_schema,cn=schema,cn=config&lt;br /&gt;
changetype: modify&lt;br /&gt;
delete: olcObjectClasses&lt;br /&gt;
olcObjectClasses: {7}( 1.3.6.1.4.1.12795.2.8 NAME &#039;hccRelatieNaam&#039; \&lt;br /&gt;
   DESC &#039;Naam van een klant of partner&#039; SUP top STRUCTURAL MUST ( cn $userPassword )&lt;br /&gt;
MAY ( hccXmlIp4 $ hccXmlIp6 $ hccXmlAllow $ description ) )&lt;br /&gt;
-&lt;br /&gt;
add: olcObjectClasses&lt;br /&gt;
olcObjectClasses: {7}( 1.3.6.1.4.1.12795.2.8 NAME &#039;hccRelatieNaam&#039; \&lt;br /&gt;
   DESC &#039;Naam van een klant of partner&#039; SUP top STRUCTURAL MUST ( cn $userPassword )&lt;br /&gt;
MAY ( hccXmlIp4 $ hccXmlIp6 $ hccXmlAllow $ description $ hccIg ) )&lt;br /&gt;
-&lt;br /&gt;
&lt;br /&gt;
$sudo ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f pas_aan.ldif &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===modify_config.ldif===&lt;br /&gt;
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 &#039;&#039;&#039;STATS&#039;&#039;&#039; gezet. Dit geeft niet teveel logging maar is toch goed bruikbaar. Om extra logging te krijgen op b.v. ACL&#039;s, verander olcLogLevel dan in &amp;quot;stats ACL&amp;quot;.  &lt;br /&gt;
&lt;br /&gt;
Dit template wordt tijdens het draaien van het init_ldap script gecopieerd naar modify-config.ldif. Eventueel kan met place holders gewerkt worden (@...@), dit om op alle servers (ook test servers) één en hetzelfde script te kunnen gebruiken. Er zijn nog enkele van deze templates. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#######################################&lt;br /&gt;
## modify-config.hobbynet            ##&lt;br /&gt;
#######################################&lt;br /&gt;
dn: cn=config&lt;br /&gt;
replace: olcLogLevel&lt;br /&gt;
olcLogLevel: stats&lt;br /&gt;
-&lt;br /&gt;
replace: olcTLSCACertificateFile&lt;br /&gt;
olcTLSCACertificateFile: /disk/site/etc/ssl/hobby.nl/CA-bundel.crt&lt;br /&gt;
-&lt;br /&gt;
replace: olcTLSCertificateFile&lt;br /&gt;
olcTLSCertificateFile: /disk/site/etc/ssl/hobby.nl/hobby.nl.crt&lt;br /&gt;
-&lt;br /&gt;
replace: olcTLSCertificateKeyFile&lt;br /&gt;
olcTLSCertificateKeyFile: /disk/site/etc/ssl/hobby.nl/hobby.nl.key&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Om de logging in een apart bestand te krijgen moet in /etc/rsyslog.d een extra bestand &#039;&#039;&#039;openldap.conf&#039;&#039;&#039; geplaatst worden.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local4.*   -/var/log/openldap.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tevens willen we logrotate op dit bestand. Plaats in /etc/logrotate.d het bestand &#039;&#039;&#039;openldap&#039;&#039;&#039; met de volgende inhoud&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/var/log/openldap.log&lt;br /&gt;
{&lt;br /&gt;
        rotate 4&lt;br /&gt;
        weekly&lt;br /&gt;
        missingok&lt;br /&gt;
        notifempty&lt;br /&gt;
        compress&lt;br /&gt;
        delaycompress&lt;br /&gt;
        sharedscripts&lt;br /&gt;
        postrotate&lt;br /&gt;
                reload rsyslog &amp;gt;/dev/null 2&amp;gt;&amp;amp;1 || true&lt;br /&gt;
        endscript&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===modify-hdb.ldif===&lt;br /&gt;
Hier worden de wijzigingen op de backend db gemaakt. Er worden een aantal attributes ge-indexeerd en de search SizeLimit wordt op &#039;&#039;&#039;unlimited&#039;&#039;&#039; gezet. De waarden die in DB_CONFIG moeten komen (Berkely DB parameters) staan ook in dit bestand. Deze versie is outdated. De ACL regels zijn drastisch gewijzigd. Raadpleeg altijd de laatste versie op de server zelf.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#######################################&lt;br /&gt;
## modify-hdb.ldif                   ##&lt;br /&gt;
#######################################&lt;br /&gt;
dn: olcDatabase={1}hdb,cn=config&lt;br /&gt;
replace: olcAccess&lt;br /&gt;
#&lt;br /&gt;
# hobbynetlogin heeft lees rechten op ou=users&lt;br /&gt;
olcAccess: to attrs=@posixAccount,@posixGroup,@shadowAccount,@hostObject&lt;br /&gt;
  by dn=&amp;quot;cn=hobbynetlogin,ou=applicaties,dc=hcc,dc=nl&amp;quot; read&lt;br /&gt;
  by * break&lt;br /&gt;
#&lt;br /&gt;
# drupal/test moet hccOptIn kunnen schrijven vanaf de&lt;br /&gt;
# profiel pagina. Overige klanten kunnen hccOptin&lt;br /&gt;
# alleen lezen. self mag schrijven&lt;br /&gt;
olcAccess: to attrs=hccOptIn&lt;br /&gt;
  by self write&lt;br /&gt;
  by dn=&amp;quot;cn=drupal-hcc-nl,ou=klanten,dc=hcc,dc=nl&amp;quot; write&lt;br /&gt;
  by * break&lt;br /&gt;
#&lt;br /&gt;
# anonieme klanten moeten kunnen inloggen&lt;br /&gt;
# en mogen hun eigen password wijzigen&lt;br /&gt;
olcAccess: to attrs=userPassword,shadowLastChange&lt;br /&gt;
  by self write&lt;br /&gt;
  by anonymous auth&lt;br /&gt;
  by * break&lt;br /&gt;
#&lt;br /&gt;
# user mag enkele eigen attr wijzigen&lt;br /&gt;
olcAccess: to attrs=hccLogin,hccPseudoniem,hccKaderPassword&lt;br /&gt;
  by self write&lt;br /&gt;
  by * break&lt;br /&gt;
#&lt;br /&gt;
# beheerders hebben schrijfrechten op alles (updateDN)&lt;br /&gt;
# klanten hebben alleen lees rechten op alles (readDN)&lt;br /&gt;
# self mag  lezen&lt;br /&gt;
olcAccess: to *&lt;br /&gt;
  by self read&lt;br /&gt;
  by dn=&amp;quot;cn=xml-hoge-rechten,ou=applicaties,dc=hcc,dc=nl&amp;quot; write&lt;br /&gt;
  by dn=&amp;quot;cn=xml-lage-rechten,ou=applicaties,dc=hcc,dc=nl&amp;quot; read&lt;br /&gt;
  by dn.one=&amp;quot;ou=beheer,dc=hcc,dc=nl&amp;quot; write&lt;br /&gt;
  by dn.one=&amp;quot;ou=klanten,dc=hcc,dc=nl&amp;quot; read&lt;br /&gt;
  by * break&lt;br /&gt;
#&lt;br /&gt;
# helpdesk heeft leesrechten op ou=leden&lt;br /&gt;
olcAccess: to attrs=@hccOrgPerson,@hccKaderFunctie&lt;br /&gt;
  by dn.one=&amp;quot;ou=helpdesk,dc=hcc,dc=nl&amp;quot; read&lt;br /&gt;
  by * break&lt;br /&gt;
#&lt;br /&gt;
# partners mogen een paar attrs lezen&lt;br /&gt;
olcAccess: to attrs=hccLidNummer,hccPostcode,hccPostcodeZoekveld&lt;br /&gt;
  by dn.one=&amp;quot;ou=partners,dc=hcc,dc=nl&amp;quot; read&lt;br /&gt;
#&lt;br /&gt;
# iedereen moet (pseudo attr) entry en objectClass kunnen lezen&lt;br /&gt;
olcAccess: to attrs=entry,objectClass&lt;br /&gt;
  by * read&lt;br /&gt;
#&lt;br /&gt;
# vangnet: blokkeer alle toegang tot de overige attrs.&lt;br /&gt;
olcAccess: to *&lt;br /&gt;
  by * none&lt;br /&gt;
-&lt;br /&gt;
replace: olcDbDirectory&lt;br /&gt;
olcDbDirectory: /var/lib/ldap&lt;br /&gt;
-&lt;br /&gt;
replace: olcSizeLimit&lt;br /&gt;
olcSizeLimit: 100000&lt;br /&gt;
-&lt;br /&gt;
replace: olcDbCachesize&lt;br /&gt;
olcDbCachesize: 200000&lt;br /&gt;
-&lt;br /&gt;
replace: olcDbCheckpoint&lt;br /&gt;
olcDbCheckpoint: 1024 5&lt;br /&gt;
-&lt;br /&gt;
replace: olcDbConfig&lt;br /&gt;
olcDbConfig: set_cachesize 0 536870912 0&lt;br /&gt;
olcDbConfig: set_lk_max_objects 1000&lt;br /&gt;
olcDbConfig: set_lk_max_locks 1000&lt;br /&gt;
olcDbConfig: set_lk_max_lockers 1000&lt;br /&gt;
olcDbConfig: set_flags DB_LOG_AUTOREMOVE&lt;br /&gt;
olcDbConfig: set_flags DB_TXN_NOSYNC&lt;br /&gt;
-&lt;br /&gt;
replace: olcDbIDLcacheSize&lt;br /&gt;
olcDbIDLcacheSize: 600000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===modify_index.ldif===&lt;br /&gt;
Een kale configuratie is heel snel voor wat betreft het opnieuw vullen met gegevens. Bij het aanmaken van een verse LDAP database worden er dan ook zo min mogelijk indexen aangemaakt.&amp;lt;br&amp;gt;&lt;br /&gt;
Zodra de inhoud is ingelezen kunnen de &#039;echte&#039; indexen aangemaakt worden.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#######################################&lt;br /&gt;
## modify-index.ldif                 ##&lt;br /&gt;
#######################################&lt;br /&gt;
dn: olcDatabase={1}hdb,cn=config&lt;br /&gt;
replace: olcDbIndex&lt;br /&gt;
olcDbIndex: default pres,eq&lt;br /&gt;
olcDbIndex: objectClass,entryUUID,entryCSN eq&lt;br /&gt;
olcDbIndex: hccLidNummer,hccLogin,hccForumLogin eq&lt;br /&gt;
olcDbIndex: uid,uidNumber,gidNumber,memberUid,member eq&lt;br /&gt;
olcDbIndex: cn,host,hccPseudoniem,hccOptin,hccLocatie eq&lt;br /&gt;
olcDbIndex: sn,hccPostcodeZoekveld,hccIg,hccRegio eq,subfinal&lt;br /&gt;
olcDbIndex: hccRol,hccBezoek eq,pres,subfinal&lt;br /&gt;
olcDbIndex: hccBulletins pres&lt;br /&gt;
olcDbIndex: aboNummer eq&lt;br /&gt;
olcDbIndex: aboPostcodeZoekveld eq,subfinal&lt;br /&gt;
olcDbIndex: mail,mailHccnet,hccKaderMail pres,eq&lt;br /&gt;
olcDbIndex: hccProfiel pres&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ppolicy overlay===&lt;br /&gt;
* vanuit LDAP de minimale lengte van een wachtwoord afdwingen&lt;br /&gt;
* in LDAP SSHA versleuteling activeren&amp;lt;br&amp;gt;&lt;br /&gt;
(olcPPolicyHashCleartext: TRUE)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#######################################&lt;br /&gt;
## add-ppolicy.ldif                  ##&lt;br /&gt;
#######################################&lt;br /&gt;
dn: cn=module, cn=config&lt;br /&gt;
cn: module&lt;br /&gt;
objectClass: olcModuleList&lt;br /&gt;
objectClass: top&lt;br /&gt;
olcModuleLoad: ppolicy&lt;br /&gt;
olcmodulepath: /usr/lib/ldap&lt;br /&gt;
&lt;br /&gt;
dn: olcOverlay=ppolicy,olcDatabase={1}hdb,cn=config&lt;br /&gt;
objectClass: olcOverlayConfig&lt;br /&gt;
objectClass: olcPPolicyConfig&lt;br /&gt;
olcOverlay: ppolicy&lt;br /&gt;
olcPPolicyDefault: cn=default,ou=policies,dc=hcc,dc=nl&lt;br /&gt;
olcPPolicyUseLockout: TRUE&lt;br /&gt;
olcPPolicyHashCleartext: TRUE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The default ppolicy looks like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dn: cn=default,ou=policies,dc=hcc,dc=nl&lt;br /&gt;
objectClass: pwdPolicy&lt;br /&gt;
objectClass: device&lt;br /&gt;
cn: default&lt;br /&gt;
pwdCheckQuality: 1&lt;br /&gt;
pwdMinLength: 8&lt;br /&gt;
pwdAttribute: 2.5.4.35&lt;br /&gt;
pwdAllowUserChange: TRUE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Syncrepl overlay===&lt;br /&gt;
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 [http://www.openldap.org/doc/admin/ LDAP Admin Guide]. &#039;&#039;&#039;Mirror configuratie is specifiek per server!&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#######################################&lt;br /&gt;
## add-syncrepl.tmpl                 ##&lt;br /&gt;
#######################################&lt;br /&gt;
dn: cn=config&lt;br /&gt;
changetype: modify&lt;br /&gt;
replace: olcServerID&lt;br /&gt;
olcServerID: @SID@&lt;br /&gt;
&lt;br /&gt;
dn: cn=module{0},cn=config&lt;br /&gt;
changetype: modify&lt;br /&gt;
add: olcModuleLoad&lt;br /&gt;
olcModuleLoad: syncprov&lt;br /&gt;
&lt;br /&gt;
dn: olcOverlay=syncprov,olcDatabase={1}hdb,cn=config&lt;br /&gt;
changetype: add&lt;br /&gt;
objectClass: olcOverlayConfig&lt;br /&gt;
objectClass: olcSyncProvConfig&lt;br /&gt;
olcOverlay: syncprov&lt;br /&gt;
olcSpCheckpoint: 100 5&lt;br /&gt;
olcSpSessionlog: 100&lt;br /&gt;
&lt;br /&gt;
dn: olcDatabase={1}hdb,cn=config&lt;br /&gt;
changetype: modify&lt;br /&gt;
add: olcSyncRepl&lt;br /&gt;
olcSyncRepl: rid=@RID@&lt;br /&gt;
  provider=ldap://@PROVIDER@&lt;br /&gt;
  binddn=&amp;quot;cn=admin,dc=hcc,dc=nl&amp;quot; bindmethod=simple credentials=&amp;quot;@PASSWORD@&amp;quot;&lt;br /&gt;
  searchbase=&amp;quot;dc=hcc,dc=nl&amp;quot;&lt;br /&gt;
  type=refreshAndPersist&lt;br /&gt;
  interval=00:00:00:10&lt;br /&gt;
  retry=&amp;quot;5 5 300 5&amp;quot;&lt;br /&gt;
  timeout=1&lt;br /&gt;
  starttls=yes&lt;br /&gt;
-&lt;br /&gt;
add: olcMirrorMode&lt;br /&gt;
olcMirrorMode: TRUE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
De andere server krijgt ServerID 2 en de provider is het IP adres van de andere server.&lt;br /&gt;
&lt;br /&gt;
===Unique overlay===&lt;br /&gt;
Deze overlay dient er voor te zorgen dat o.a het attribuut hccLogin een unieke waarde bevat.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#######################################&lt;br /&gt;
## add-unique.ldif                   ##&lt;br /&gt;
#######################################&lt;br /&gt;
dn: cn=module,cn=config&lt;br /&gt;
cn: module&lt;br /&gt;
objectclass: olcModuleList&lt;br /&gt;
objectclass: top&lt;br /&gt;
olcmoduleload: unique&lt;br /&gt;
olcmodulepath: /usr/lib/ldap&lt;br /&gt;
&lt;br /&gt;
dn: olcOverlay=unique,olcDatabase={1}hdb,cn=config&lt;br /&gt;
objectClass: olcOverlayConfig&lt;br /&gt;
objectClass: olcUniqueConfig&lt;br /&gt;
olcOverlay: unique&lt;br /&gt;
olcUniqueAttribute: uid uidNumber hccLogin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==SSL/TLS beveiliging==&lt;br /&gt;
Gebruik de juiste .pem bestanden in /etc/ssl/certs en /etc/ssl/private.&lt;br /&gt;
&lt;br /&gt;
We maken gebruik van een RapidSSL certificaat. Als dit niet standaard in Ubuntu bekend is, zet dan eerst GeoTrust_RapidSSL_-_ca-bundle.pem in de map /etc/ssl/certs neer. Voer nu een &#039;&#039;&#039;c_rehash .&#039;&#039;&#039; uit in /etc/ssl/certs om de cache te updaten (omdat GeoTrust_RapidSSL_-_ca-bundle.pem nieuw werd toegevoegd). &lt;br /&gt;
&lt;br /&gt;
De ownership is belangrijk. Hiertoe wordt de groep &amp;quot;openldap&amp;quot; toegevoegd aan de groep ssl-cert.&lt;br /&gt;
 adduser openldap ssl-cert&lt;br /&gt;
&lt;br /&gt;
Als dit fout gaat, doe dan eerst:&lt;br /&gt;
 apt-get install ssl-cert&lt;br /&gt;
&lt;br /&gt;
Zet het certificaat en de private key in de juiste groep:&lt;br /&gt;
 chgrp ssl-cert /etc/ssl/private/hobby.nl.*&lt;br /&gt;
 chmod 440      /etc/ssl/private/hobby.nl.key&lt;br /&gt;
&lt;br /&gt;
Het resultaat is dan als volgt:&lt;br /&gt;
 root@hcc-ldap-lb1:~# ls -l /etc/ssl/private/hcc* &lt;br /&gt;
 -rw-r--r-- 1 root     ssl-cert 1724 Nov 22 20:47 hobby.nl.crt&lt;br /&gt;
 -r--r----- 1 root     ssl-cert 1679 Nov 22 20:25 hobby.nl.key&lt;br /&gt;
&lt;br /&gt;
 root@hcc-ldap-lb1:~# grep openldap /etc/group&lt;br /&gt;
 ssl-cert:x:114:openldap&lt;br /&gt;
 openldap:x:118:&lt;br /&gt;
&lt;br /&gt;
Per september 2017 staan de certificaten in /disk/site/etc/ssl/hobby.nl, net als op alle andere servers. Omdat apparmor actief is moet deze directory worden toegevoegd aan /etc/apparmor.d/local/usr.sbin.slapd. Die file ziet er dan als volgt uit:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Site-specific additions and overrides for usr.sbin.slapd.&lt;br /&gt;
# For more details, please see /etc/apparmor.d/local/README.&lt;br /&gt;
#include &amp;lt;abstractions/ssl_certs&amp;gt;&lt;br /&gt;
/disk/site/etc/ssl/hobby.nl/ r,&lt;br /&gt;
/disk/site/etc/ssl/hobby.nl/* r,&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Als Openldap ook op poort 636 benaderd wordt (naast TLS op 389), moet in /etc/default/slapd ldaps:/// opgenomen worden bij de SLAPD_SERVICES. Netstat -a dient dan 636 te laten zien voor zowel IPv4 als IPv6.&lt;br /&gt;
&lt;br /&gt;
Om de cn=config te zien kan je het volgende commando gebruiken:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ldapsearch -Y EXTERNAL -H ldapi:/// -b cn=config&lt;br /&gt;
&lt;br /&gt;
of, wat botter maar korter:&lt;br /&gt;
cat /etc/ldap/slapd.d/cn\=config.ldif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Backup, initialize, restore==&lt;br /&gt;
Om het hele skelet van ldap in één keer te herstellen dient &#039;&#039;&#039;init_ldap&#039;&#039;&#039; gebruikt te worden. Als argument &#039;&#039;&#039;moet&#039;&#039;&#039; het admin beheer wachtwoord mee gegeven worden.&lt;br /&gt;
&lt;br /&gt;
===lokaal===&lt;br /&gt;
Backups kunnen gemaakt worden terwijl slapd draait maar geadviseerd wordt slapd te stoppen. Voor dumpen moet &#039;&#039;&#039;slapcat&#039;&#039;&#039; gebruikt worden. Backups kunnen gemaakt worden per database of een filter daarop, naar een ldif bestand.&lt;br /&gt;
 slapcat -l hcc-dump.ldif -b &amp;quot;dc=hcc,dc=nl&amp;quot;&lt;br /&gt;
Dit maakt een dump van alles onder &#039;&#039;&#039;dc=hcc,dc=nl&#039;&#039;&#039; naar het bestand hcc-dump.ldif. Ook is het mogelijk het database nummer te gebruiken, config is altijd nummer 0, hdb is gewoonlijk 1.&lt;br /&gt;
&lt;br /&gt;
Het &#039;&#039;&#039;dump_ldap&#039;&#039;&#039; script dumpt alle ou&#039;s in aparte .ldif bestanden; het omgekeerde doet &#039;&#039;&#039;restore_ldap&#039;&#039;&#039;.  &lt;br /&gt;
Terug inlezen kan alleen in een lege directory, dus direct nadat &#039;&#039;&#039;init_ldap&#039;&#039;&#039; is gedaan. Gebruik voor het terugplaatsen &#039;&#039;&#039;slapadd&#039;&#039;&#039;. Aan te bevelen is &#039;&#039;&#039;-c&#039;&#039;&#039; mee te geven zodat ondanks fouten doorgegaan wordt. &lt;br /&gt;
&lt;br /&gt;
Voor slapadd &#039;&#039;&#039;moet&#039;&#039;&#039; slapd gestopt zijn. Denk er om alvorens te slapd starten het ownership van de bestanden in /var/lib/ldap recht te zetten! (dit lijkt niet meer nodig te zijn vbs20130526)&lt;br /&gt;
 /etc/init.d/slapd stop&lt;br /&gt;
 slapadd -l hcc-dump.ldif -w -c &amp;gt;errors.txt&lt;br /&gt;
 chown openldap:openldap /var/lib/ldap/*&lt;br /&gt;
 /etc/init.d/slapd start&lt;br /&gt;
&lt;br /&gt;
===remote===&lt;br /&gt;
Er wordt dagelijks een encrypted remote backup gemaakt naar backup2bit. Zie voor meer info [[Encrypted_backup]]. Dit script maakt gebruik van unieke gpg keys. Op elke server is dus een eigen versie nodig van &#039;&#039;&#039;backup-encrypted&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
Recente lokale backups zijn te vinden in &#039;&#039;&#039;/usr/local/hobbynet/tmp&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==crontab==&lt;br /&gt;
 # script dat updates ophaalt (maar niet installeert), zodat nagios ze ook detecteert&lt;br /&gt;
 0 9 * * * /usr/local/hobbynet/bin/upd_srv &amp;gt;/dev/null&lt;br /&gt;
 0 18 * * * /usr/local/hobbynet/bin/upd_srv &amp;gt;/dev/null&lt;br /&gt;
&lt;br /&gt;
==LDAP Clients==&lt;br /&gt;
Er zijn meerdere LDAP clients. De meest populaire zijn Apache Directory Studio (&amp;quot;ADS&amp;quot;) en phpLdapAdmin (&amp;quot;PLA&amp;quot;).&amp;lt;br&amp;gt;&lt;br /&gt;
De eerste is veel uitgbreider maar vereist een Java Runtime Environment (&amp;quot;JRE&amp;quot;). Onder Windows is dat JRE8.&amp;lt;br&amp;gt;&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Binnen Hobbynet wordt uitsluitend gebruik gemaakt van ADS.&lt;br /&gt;
&lt;br /&gt;
===StartTLS===&lt;br /&gt;
Aanbevolen wordt StartTLS op poort 389 te gebruiken. Alternatief is LDAPS op poort 636 maar dat is depreciated. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===ADS onder Windows===&lt;br /&gt;
Onder Windows moet met &#039;&#039;&#039;keytool.exe&#039;&#039;&#039; gewerkt worden. De uitleg heb ik van  [http://www.talkingtree.com/blog/index.cfm?mode=entry&amp;amp;entry=25AA75A4-45A6-2844-7CA3EECD842DB576 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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Haal de benodigde bestanden op (op een Linux systeem):&lt;br /&gt;
wget http://www.cacert.org/certs/root.der -O root.der&lt;br /&gt;
wget http://www.cacert.org/certs/class3.der -O class3.der&lt;br /&gt;
copieer de bestanden naar de Windows omgeving in C:\Program Files (x86)\Java\jre6\lib\security.&lt;br /&gt;
&lt;br /&gt;
Open een commandwindow:&lt;br /&gt;
cd C:\Program Files (x86)\Java\jre6\lib\security&lt;br /&gt;
..\..\bin\keytool -import -trustcacerts -keystore cacerts -storepass changeit -noprompt -alias cacertclass1 -file root.der&lt;br /&gt;
..\..\bin\keytool -import -trustcacerts -keystore cacerts -storepass changeit -noprompt -alias cacertclass3 -file class3.der&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===ADS onder Linux===&lt;br /&gt;
Apache Directory Studio laat zich uit een tarball installeren. Dit kan geheel in userspace; er is geen make install o.i.d. nodig. ADS loopt vanuit de lokatie waar het uitgepakt is.&lt;br /&gt;
&lt;br /&gt;
===ADS gebruik===&lt;br /&gt;
ADS kan erg handig zijn voor het snel dumpen van hele ou&#039;s in .ldif formaat. Zo&#039;n dump kan direct op een andere server worden ingelezen.&lt;br /&gt;
&lt;br /&gt;
===PhpLdapAdmin onder Linux===&lt;br /&gt;
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 [http://phpldapadmin.sourceforge.net/wiki/index.php/Server:server:tls phpldapadmin wiki].&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# LDAP Defaults&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# See ldap.conf(5) for details&lt;br /&gt;
# This file should be world readable but not world writable.&lt;br /&gt;
&lt;br /&gt;
#BASE   dc=example,dc=com&lt;br /&gt;
#URI    ldap://ldap.example.com ldap://ldap-master.example.com:666&lt;br /&gt;
&lt;br /&gt;
#SIZELIMIT      12&lt;br /&gt;
#TIMELIMIT      15&lt;br /&gt;
#DEREF          never&lt;br /&gt;
TLS_CACERT      /etc/ssl/certs/CAcert_org.pem&lt;br /&gt;
TLS_CERT        /etc/ssl/private/hobby.nl.crt&lt;br /&gt;
TLS_KEY         /etc/ssl/private/hobby.nl.key&lt;br /&gt;
TLS_REQCERT     allow&lt;br /&gt;
#TLS_REQCERT never&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Denk er wel aan na wijzigingen Apache te herstarten.&lt;br /&gt;
===PAM en NSS via LDAP===&lt;br /&gt;
Het inloggen van gebruikers kan ook via een LDAP server en client geschieden. Hiervoor dienen enkele pakketten geïnstalleerd en geconfigureerd te worden. Er zijn wijzigingen nodig in /etc/nsswitch.conf en de /etc/pam.d/common-* bestanden. Beide zijn via dedicated tools aan te passen.&lt;br /&gt;
&lt;br /&gt;
Installeer &#039;&#039;&#039;libnss-ldapd&#039;&#039;&#039; om de benodigde libraries te verkrijgen. Apt-get zal tevens &#039;&#039;&#039;libpam-ldapd&#039;&#039;&#039;, &#039;&#039;&#039;nslcd&#039;&#039;&#039; en &#039;&#039;&#039;nscd&#039;&#039;&#039; binnen brengen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install libnss-ldapd auth-client-config ldap-utils&lt;br /&gt;
The following extra packages will be installed:&lt;br /&gt;
    libpam-ldapd nscd nslcd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Libnss-ldapd is een doorontwikkling van libnss-ldap en bevat meerdere verbeteringen. Zie: [http://arthurdejong.org/nss-pam-ldapd/ deze site] van de ontwikkelaar. Bij de installatie wordt een user &#039;&#039;&#039;nslcd&#039;&#039;&#039; aangemaakt; denk erom die in de .tmpl bestanden te zetten!&lt;br /&gt;
  &lt;br /&gt;
nsswitch.conf laat zich configureren via &#039;&#039;&#039;auth-client-config&#039;&#039;&#039; maar lac_ldap is alleen aanwezig als &#039;&#039;&#039;ldap-auth-config&#039;&#039;&#039; ook is geinstalleerd. Zo niet gebruik dan de tweede regel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
auth-client-config -t nss -p lac_ldap&lt;br /&gt;
auth-client-config -t nss -p ldap_example&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Het resultaat is dat nsswitch.conf zowel in files (/etc/passwd etc.) zoekt als in ldap.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# /etc/nsswitch.conf&lt;br /&gt;
#&lt;br /&gt;
# Example configuration of GNU Name Service Switch functionality.&lt;br /&gt;
# If you have the `glibc-doc-reference&#039; and `info&#039; packages installed, try:&lt;br /&gt;
# `info libc &amp;quot;Name Service Switch&amp;quot;&#039; for information about this file.&lt;br /&gt;
&lt;br /&gt;
# pre_auth-client-config # passwd:         compat&lt;br /&gt;
passwd: files ldap&lt;br /&gt;
# pre_auth-client-config # group:          compat&lt;br /&gt;
group: files ldap&lt;br /&gt;
# pre_auth-client-config # shadow:         compat&lt;br /&gt;
shadow: files ldap&lt;br /&gt;
&lt;br /&gt;
hosts:          files dns&lt;br /&gt;
networks:       files&lt;br /&gt;
&lt;br /&gt;
protocols:      db files&lt;br /&gt;
services:       db files&lt;br /&gt;
ethers:         db files&lt;br /&gt;
rpc:            db files&lt;br /&gt;
&lt;br /&gt;
# pre_auth-client-config # netgroup:       nis&lt;br /&gt;
netgroup: nis&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Het aanpassen van de PAM bestanden gaat sinds enige releases met &#039;&#039;&#039;pam-auth-update&#039;&#039;&#039;. Kies in het menu voor zowel unix als ldap. Default wordt nu ldap authenticatie gebruikt voor uid &amp;gt;= 1000. Bij Hobbynet willen we vanaf 300 ldap gebruiken. Door een licht gemodificeerde versie van /usr/share/pam-configs/ldap te maken (ldap-hobbynet), kan ook voor de hobbynet instelling gekozen worden. Dit is de ldap-hobbynet versie:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Name: LDAP Authentication (uid&amp;gt;300)&lt;br /&gt;
Default: yes&lt;br /&gt;
Priority: 128&lt;br /&gt;
Auth-Type: Primary&lt;br /&gt;
Auth-Initial:&lt;br /&gt;
        [success=end default=ignore]    pam_ldap.so minimum_uid=300&lt;br /&gt;
Auth:&lt;br /&gt;
        [success=end default=ignore]    pam_ldap.so minimum_uid=300 use_first_pass&lt;br /&gt;
Account-Type: Additional&lt;br /&gt;
Account:&lt;br /&gt;
        [success=ok new_authtok_reqd=done ignore=ignore user_unknown=ignore authinfo_unavail=ignore default=bad]        pam_ldap.so minimum_uid=300&lt;br /&gt;
Password-Type: Primary&lt;br /&gt;
Password-Initial:&lt;br /&gt;
        [success=end default=ignore]    pam_ldap.so minimum_uid=300&lt;br /&gt;
Password:&lt;br /&gt;
        [success=end default=ignore]    pam_ldap.so minimum_uid=300 try_first_pass&lt;br /&gt;
Session-Type: Additional&lt;br /&gt;
Session:&lt;br /&gt;
        [success=ok default=ignore]     pam_ldap.so minimum_uid=300&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dit is in een standaard opzet van LDAP voldoende om zowel lokale gebruikers als gebruikers opgeslagen in LDAP, te laten inloggen en hun password te laten wijzigen. In de Hobbynet setup moet er echter nog meer gebeuren in de ACL&#039;s van de LDAP server configuratie. Omdat Hobbynet de laatste ACL regel heeft gewijzigd in een &#039;&#039;&#039;deny-all&#039;&#039;&#039;, is er een helper of proxy account nodig dat read access heeft of een aantal cruciale velden in de posixAccount objectClass. Zie verder de lsiting van nslcd.conf.&lt;br /&gt;
&lt;br /&gt;
Libnss-ldapd en libpam-ldapd hebben een gezamelijke daemon &#039;&#039;&#039;nslcd&#039;&#039;&#039; die z&#039;n configuratie uit &#039;&#039;&#039;/etc/nslcd.conf&#039;&#039;&#039; haalt. Hierin is ook een voorziening voor het helper account. Aan het eind vande &#039;&#039;&#039;nslcd.conf&#039;&#039;&#039; staat de voorziening voor host-based login. Als het attribute &#039;&#039;&#039;host&#039;&#039;&#039; de fqdn of alleen de host naam bevat, bepaald dat of inloggen op die host mogelijk is. &#039;&#039;&#039;*&#039;&#039;&#039; staat inloggen op alle hosts toe.&lt;br /&gt;
&lt;br /&gt;
Eventueel kan het daemon proces voor debugging doeleinden ook als command (&#039;&#039;&#039;nslcd -d&#039;&#039;&#039;) gestart worden. Om de bevragingen van de LDAP server wat te verminderen, kan &#039;&#039;&#039;nscd&#039;&#039;&#039; voor caching zorgen. Deze cache daemon heeft zijn eigen configuratie bestand: &#039;&#039;&#039;/etc/nslcd.conf&#039;&#039;&#039;. De default instellingen zijn goed; eventueel kan de logging naar een bestand gestuurd worden.&lt;br /&gt;
&lt;br /&gt;
Verbinding met de LDAP server kan met StartTLS beveiligd worden. Hier de inhoud van nslcd.conf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# /etc/nslcd.conf&lt;br /&gt;
# nslcd configuration file. See nslcd.conf(5)&lt;br /&gt;
# for details.&lt;br /&gt;
&lt;br /&gt;
# The user and group nslcd should run as.&lt;br /&gt;
uid nslcd&lt;br /&gt;
gid nslcd&lt;br /&gt;
&lt;br /&gt;
# log location and level&lt;br /&gt;
#log /var/log/nslcd.log debug&lt;br /&gt;
&lt;br /&gt;
# The location at which the LDAP server(s) should be reachable.&lt;br /&gt;
uri ldap://ldap2-int.hobby.nl/&lt;br /&gt;
&lt;br /&gt;
# The search base that will be used for all queries.&lt;br /&gt;
base dc=hcc,dc=nl&lt;br /&gt;
&lt;br /&gt;
# Other base mappings&lt;br /&gt;
base   group  ou=groups,dc=hcc,dc=nl&lt;br /&gt;
base   passwd ou=users,dc=hcc,dc=nl&lt;br /&gt;
base   shadow ou=users,dc=hcc,dc=nl&lt;br /&gt;
&lt;br /&gt;
# The search scope.&lt;br /&gt;
#scope sub&lt;br /&gt;
&lt;br /&gt;
# The LDAP protocol version to use.&lt;br /&gt;
ldap_version 3&lt;br /&gt;
&lt;br /&gt;
# The DN to bind with for normal lookups.&lt;br /&gt;
#binddn cn=annonymous,dc=example,dc=net&lt;br /&gt;
#bindpw secret&lt;br /&gt;
binddn cn=hobbynetlogin,ou=applicaties,dc=hcc,dc=nl&lt;br /&gt;
bindpw xxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
# The DN used for password modifications by root.&lt;br /&gt;
#rootpwmoddn cn=admin,dc=example,dc=com&lt;br /&gt;
&lt;br /&gt;
# SSL options&lt;br /&gt;
ssl off&lt;br /&gt;
ssl start_tls&lt;br /&gt;
#tls_reqcert never&lt;br /&gt;
tls_cacertfile /etc/ssl/certs/cacert.org.pem&lt;br /&gt;
#tls_cert /etc/ssl/private/server.crt&lt;br /&gt;
#tls_key /etc/ssl/private/server.key&lt;br /&gt;
&lt;br /&gt;
# The minimum uid&lt;br /&gt;
nss_min_uid 300&lt;br /&gt;
&lt;br /&gt;
pam_authz_search (&amp;amp;(objectClass=posixAccount)(uid=$username)(|(host=$hostname)(host=$fqdn)(host=\\*)))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===users en groepen toevoegen===&lt;br /&gt;
Hiervoor moet &#039;&#039;&#039;ldapscripts&#039;&#039;&#039; zijn geïnstalleerd. Dit is het geval op de ldap-lb1 server. Dat levert de volgende extra commando&#039;s op:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ldaprenamemachine&lt;br /&gt;
ldapadduser&lt;br /&gt;
ldapdeleteuserfromgroup&lt;br /&gt;
ldapfinger&lt;br /&gt;
ldapid&lt;br /&gt;
ldapgid&lt;br /&gt;
ldapmodifyuser&lt;br /&gt;
ldaprenameuser&lt;br /&gt;
lsldap&lt;br /&gt;
ldapaddusertogroup&lt;br /&gt;
ldapsetpasswd&lt;br /&gt;
ldapinit&lt;br /&gt;
ldapaddgroup&lt;br /&gt;
ldapdeletegroup&lt;br /&gt;
ldapmodifygroup&lt;br /&gt;
ldapdeletemachine&lt;br /&gt;
ldaprenamegroup&lt;br /&gt;
ldapaddmachine&lt;br /&gt;
ldapmodifymachine&lt;br /&gt;
ldapsetprimarygroup&lt;br /&gt;
ldapdeleteuser&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Meest gebruikt zijn &#039;&#039;&#039;ldapaddgroup, ldapadduser, ldapsetpasswd&#039;&#039;&#039;.  &lt;br /&gt;
Er zijn manpages maar er is ook uitgebreide uitleg in de [https://help.ubuntu.com/14.04/serverguide/openldap-server.html Ubuntu server guide]. Omdat wij het automatisch maken van de home dir uit hebben staan, moet die met de hand aangemaakt worden en moet de owner goed gezet worden.&lt;br /&gt;
&lt;br /&gt;
===host-based login===&lt;br /&gt;
Met een kleine uitbreiding in het schema van de LDAP server, kan host-based login gerealiseerd worden. Ook in de &#039;&#039;&#039;nslcd.conf&#039;&#039;&#039; is een uitbreiding nodig.&lt;br /&gt;
&lt;br /&gt;
In de LDAP server dient de objectClass &#039;&#039;&#039;hostObject&#039;&#039;&#039; aan de entries in de ou=users toegevoegd te worden. Deze (auxilary) objectClass brengt slechts één attribute met zich mee: &#039;&#039;&#039;host&#039;&#039;&#039;. De regel in nslcd.conf checkt of één van de waarden van &#039;&#039;&#039;host&#039;&#039;&#039; gelijk is aan de naam van de server waarop ingelogd wordt. De waarde &#039;&#039;&#039;*&#039;&#039;&#039; geldt als wildcard. Zie de regel &#039;&#039;&lt;br /&gt;
&#039;pam_authz_search&#039;&#039;&#039;&#039; in &#039;&#039;&#039;nslcd.conf&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Password aanpassen===&lt;br /&gt;
Via LDAP ingelogde gebruikers kunnen net als lokale gebruikers hun wachtwoord met &#039;&#039;&#039;passwd&#039;&#039;&#039; wijzigen. Wel moet aan de eisen in de LDAP ppolicy module voldaan worden.&lt;br /&gt;
&lt;br /&gt;
==PHP scripting==&lt;br /&gt;
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 &#039;&#039;&#039;/usr/local/hobbynet/bin&#039;&#039;&#039; directory.&lt;br /&gt;
Voor de php-scripting zijn enkele php5 pakketten nodig. Installeer deze met apt-get. Het gaat om:&lt;br /&gt;
* php5-cli&lt;br /&gt;
* php5-ldap&lt;br /&gt;
&lt;br /&gt;
== Apache authenticatie via LDAP ==&lt;br /&gt;
In plaats van .htpassword authenticatie, kan ook LDAP gebruikt worden. Activeer daartoe de Apache module&lt;br /&gt;
&#039;authnz_ldap&#039;.&lt;br /&gt;
 a2enmod authnz_ldap&lt;br /&gt;
Denk er om dat dit in een loadbalanced situatie op beide servers gedaan dient te worden!&lt;br /&gt;
&lt;br /&gt;
=== Voorbeeld van een .htaccess configuratiebestand ===&lt;br /&gt;
(alleen als voorbeeld, niet zo gebruiken!)&lt;br /&gt;
&lt;br /&gt;
Dit is het configuratiebestand dat op de PC30 beheerpagina op de testserver actief is. Deze configuratie staat zowel de &#039;nieuwe&#039; (LDAP) manier van aanloggen toe, als ook de &#039;oude&#039; (.htpassword bestand) manier.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AuthName &amp;quot;www-test pc30 login (gebruik uw hcc-lidnummer/hcc-code of uw hcc.nl gebruikersnaam/wachtwoord)&amp;quot;&lt;br /&gt;
AuthType Basic&lt;br /&gt;
AuthBasicProvider file ldap&lt;br /&gt;
AuthLDAPURL ldaps://ldap2-int.hobby.nl/ou=leden,dc=hcc,dc=nl?hccLogin?one?(hccRol=*)&lt;br /&gt;
AuthLDAPCompareDNOnServer on&lt;br /&gt;
AuthLDAPBindDN cn=drupal-hcc-nl,ou=klanten,dc=hcc,dc=nl&lt;br /&gt;
AuthLDAPBindPassword xxxxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
AuthzLDAPAuthoritative off&lt;br /&gt;
Order deny,allow&lt;br /&gt;
Deny from all&lt;br /&gt;
AuthUserFile /usr/local/hobbynet/lib/www_homes&lt;br /&gt;
require valid-user&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Voorbeeld van een LDAP configuratie in de Apache config ===&lt;br /&gt;
(alleen als voorbeeld, niet zo gebruiken!)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Bovenstaand voorbeeld is speciaal bedoeld voor de map &#039;/pc30&#039;. Het enige dat speciale dat daarvoor gedaan moet worden, is in de eerste regel (&#039;&amp;lt;Location&amp;gt;&#039; de naam van die map neer te zetten.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Location /pc30&amp;gt;&lt;br /&gt;
 AuthName &amp;quot;www-test pc30 login (gebruik uw hcc-lidnummer/hcc-code of uw hcc.nl gebruikersnaam/wachtwoord)&amp;quot;&lt;br /&gt;
 AuthType Basic&lt;br /&gt;
 AuthBasicProvider file ldap&lt;br /&gt;
 AuthLDAPURL ldaps://ldap2-int.hobby.nl/ou=leden,dc=hcc,dc=nl?hccLogin?one?(hccRol=*)&lt;br /&gt;
 AuthLDAPCompareDNOnServer on&lt;br /&gt;
 AuthLDAPBindDN cn=drupal-hcc-nl,ou=klanten,dc=hcc,dc=nl&lt;br /&gt;
 AuthLDAPBindPassword xxxxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
 AuthzLDAPAuthoritative off&lt;br /&gt;
 Order deny,allow&lt;br /&gt;
 Deny from all&lt;br /&gt;
 AuthUserFile /usr/local/hobbynet/lib/www_homes&lt;br /&gt;
 require valid-user&lt;br /&gt;
&amp;lt;/Location&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hoe kan LDAP veilig gebruikt worden vanuit Apache===&lt;br /&gt;
Zet een script neer in de gebruikersomgeving, en gebruik mod_authz_external. Doe de controle vervolgens via de XMPRPC server.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Zie [[Kadernet]] voor een voorbeeld.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Waar is welke LDAP gebruiker ingeregeld ==&lt;br /&gt;
Deze pagina is out-of-date. PC30 heeft nu meer accounts.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! gebruikersnaam&lt;br /&gt;
! welke LDAP&amp;lt;br&amp;gt;server&lt;br /&gt;
! servernaam&lt;br /&gt;
! programma&lt;br /&gt;
! bestand&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:yellow; color:black&amp;quot;  &lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; | OU=klanten&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cn=drupal-hcc-nl &lt;br /&gt;
| ldap2&lt;br /&gt;
| www-test-lb*&amp;lt;br&amp;gt;www-beta-lb*&lt;br /&gt;
| apache&lt;br /&gt;
| Drupal configuratie (t.b.v. LDAP authenticatie module)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cn=drupal-hcc-nl&lt;br /&gt;
| ldap2&lt;br /&gt;
| www-test-lb*&amp;lt;br&amp;gt;www-beta-lb*&lt;br /&gt;
| apache&lt;br /&gt;
| site-config www-test en www-test-ssl&amp;lt;br&amp;gt;(t.b.v. pc30 beheerpagina)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cn=drupal-hcc-nl&lt;br /&gt;
| hcc-ldap-lb*&amp;lt;br&amp;gt;(productie)&lt;br /&gt;
| hcc-ldap&lt;br /&gt;
| xmlrpc server&lt;br /&gt;
| (t.b.v. minimale rechten bij de LDAP server)&amp;lt;br&amp;gt;/disk/site/hobby.nl/xml-hcc-ldap/www/xml/xml-server.php&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cn=drupal-hcc-nl&lt;br /&gt;
| ldap2&lt;br /&gt;
| ldap2&lt;br /&gt;
| xmlrpc server&lt;br /&gt;
| (t.b.v. minimale rechten bij de LDAP server)&amp;lt;br&amp;gt;/disk/site/hobby.nl/xml-ldap2/www/xml/xml-server.php&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cn=drupal-hcc-nl&lt;br /&gt;
| hcc-ldap-lb2&amp;lt;br&amp;gt;(productie)&lt;br /&gt;
| php-lb* &lt;br /&gt;
| apache&lt;br /&gt;
| gamesbestuur wiki config&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cn=forum-hcc-nl&lt;br /&gt;
| ldap2&lt;br /&gt;
| php-lb* ?&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cn=groepen-hcc-nl&lt;br /&gt;
| ldap2&lt;br /&gt;
| php-joomla-lb* ?&lt;br /&gt;
| &lt;br /&gt;
| joomla 2.5 test site&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cn=partner-hcc-nl&lt;br /&gt;
| ldap2&lt;br /&gt;
| www-test-lb*&amp;lt;br&amp;gt;www-beta-lb*&lt;br /&gt;
| test script &lt;br /&gt;
| (t.b.v. partner-koppeling van de xmlrpc server)&amp;lt;br&amp;gt;~hans/partner-test/test_xml.php&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cn=webapps&lt;br /&gt;
| hcc-ldap-lb2&lt;br /&gt;
| www-hobby-nl-lb2 (productie)&lt;br /&gt;
| apache&lt;br /&gt;
| (t.b.v. Ledenraad en bijeenkomsten module op de kadersite)&amp;lt;br&amp;gt;/disk/site/hcc.nl/kadernet/config-ldap.php&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot;| &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:yellow; color:black&amp;quot;  &lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; | OU=beheer&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cn=xml&lt;br /&gt;
| hcc-ldap-lb*&amp;lt;br&amp;gt;(productie)&lt;br /&gt;
| hcc-ldap&lt;br /&gt;
| xmlrpc server&lt;br /&gt;
| (t.b.v. maximale rechten bij de LDAP server)&amp;lt;br&amp;gt;/disk/site/hobby.nl/xml-hcc-ldap/www/xml/xml-server.php&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cn=xml&lt;br /&gt;
| ldap2&lt;br /&gt;
| ldap2&lt;br /&gt;
| xmlrpc server&lt;br /&gt;
| (t.b.v. maximale rechten bij de LDAP server)&amp;lt;br&amp;gt;/disk/site/hobby.nl/xml-ldap2/www/xml/xml-server.php&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot;| &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:yellow; color:black&amp;quot;  &lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; | OU=helpdesk&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cn=pc30-helpdesk&lt;br /&gt;
| ldap2&lt;br /&gt;
| www-test-lb*&amp;lt;br&amp;gt;www-beta-lb*&lt;br /&gt;
| apache&lt;br /&gt;
| t.b.v. pc30 beheerpagina&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cn=pc30-testuser&lt;br /&gt;
| ldap2&lt;br /&gt;
| &#039;&#039;not in use&#039;&#039;&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Externe toegang ==&lt;br /&gt;
Voor de nieuwe leden administratie van Cherry-T die bij een externe hosting partij (Tosch) draait, is het nodig via SFTP bestanden te kunnen uploaden en downloaden. &lt;br /&gt;
&lt;br /&gt;
Ook HTTPS is toegestaan (om XML-RPC aanroepen uit te kunnen voeren).&lt;br /&gt;
&lt;br /&gt;
Hiertoe zijn een paar gaten in de firewall op ldap2, ldap-lb1 en ldap-lb1 gemaakt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# HTTPS&lt;br /&gt;
&lt;br /&gt;
# Allow incoming traffic from the HCC server at Tosch&lt;br /&gt;
$IPTABLES -A INPUT -p tcp -s 87.195.117.142 --dport 443 -m conntrack --ctstate NEW -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
# FTPS&lt;br /&gt;
&lt;br /&gt;
# Allow FTPS access to 87.195.117.143 (Apps.HCC.local, HCC server at Tosch)&lt;br /&gt;
$IPTABLES -A OUTPUT -p tcp -d 87.195.117.143 --dport 990       -j ACCEPT&lt;br /&gt;
$IPTABLES -A OUTPUT -p tcp -d 87.195.117.143 --dport 5000:6000 -j ACCEPT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TODO lijst ==&lt;br /&gt;
&#039;&#039;Dit is een lijst in wording, graag aanvullen&#039;&#039; &lt;br /&gt;
* &#039;dun&#039; loadbalancer script maken om te controleren dat LDAP echt luistert&lt;/div&gt;</summary>
		<author><name>2001:980:5570:1:49E2:72B2:401:3A69</name></author>
	</entry>
</feed>