Arktur4 User in einen openLDAP (slapd) übertragen

Arktur4 — soft­ware­mä­ßig abso­lut ver­al­tet und mit recht unge­wis­ser Zukunft — ist in vie­len Schu­len immer noch ein soli­des Arbeits­pferd und ver­wal­tet dort gan­ze Netz­wer­ke. Inte­gra­les Kon­zept ist die zen­tra­le Authen­ti­fi­zie­rung via openLDAP, ein zur Zeit der Ein­füh­rung bei Ark­tur aus mei­ner Sicht zukunfts­wei­sen­des Kon­zept. Arktur4 spuckt peri­odisch einen Export sei­nes LDAP-Bau­mes aus: gesamt.ldif. Eigent­lich als Siche­rung für Not­fäl­le gedacht, lässt sich damit aller­hand Nütz­li­ches bewerk­stel­li­gen: Zum Bei­spiel kann man Appli­ka­tio­nen wie Mood­le, Dru­pal, Media­wi­ki, phpgroup­ware an openLDAP anbin­den. Jeder Benut­zer muss sich dann nur ein Pass­wort mer­ken (und sei­ne Daten nicht in jede die­ser Appli­ka­tio­nen ein­tra­gen — das macht dann openLDAP auto­ma­tisch).

Anbei ein klei­nes Script, um die User eines arktur4 in einen exter­nen slapd (openldap) zu über­tra­gen, der z.B. auf einem Root­ser­ver läuft. Benö­tigt wird eine gesamt.ldif.

Per cron­job kann die not­wen­di­ge Syn­chro­ni­sa­ti­on statt­fin­den, wenn die gesamt.ldif etwa über scp eben­fall peri­odisch auf den Root­ser­ver kopiert wird.

Das Script ist nicht beson­ders sexy:
Bei Aktua­li­sie­rung killt es den gesam­ten LDAP-Baum und baut ihn neu auf. Bes­ser wäre es, auf einen bestehen­den Ein­trag zu prü­fen — ab dafür ist die­ses uncoo­le Ver­fah­ren des Scripts effi­zi­ent und schnell.

Das Script läuft ent­we­der im Brow­ser (dann ers­te Zei­le mit She­bang löschen) oder bedeu­tend flot­ter auch als Shell­script (weni­ger als eine Minu­te bei einem P3-800 und 2000 Usern).

Nach den glei­chen Prin­zip könn­te man auch einen arktur5 nach­träg­lich und *zusätz­lich* „lda­pi­sie­ren”, um z.B. eben­falls  sin­gle-sign-on für Mood­le oder Media­Wi­ki zu rea­li­sie­ren. Auch eine daten­schutz­kon­for­me Anony­mi­sie­rung ist durch ent­spre­chen­des map­ping der User­da­ten in die­sen Anwen­dun­gen mög­lich.

Für Arktur5 muss man jedoch die passwd / shadow-Datei und nicht die gesamt.ldif aus­le­sen, was eini­ge Ände­run­gen am Script erfor­dert. Wenn sich wider Erwar­ten her­aus­stel­len soll­te, dass die­se OPti­on gewünscht wird, wer­de ich das ger­ne auch rea­li­sie­ren.

In der /etc/ldap/slapd.conf ist ggf. der Para­me­ter sizeli­mit zu ergän­zen (gera­de bei gro­ßen Schu­le mit mehr als 500 SuS. sizeli­mit beschränkt stan­dard­mä­ßig die Ant­wort­men­ge des openLDAP auf 500 Ein­trä­ge (Default-Ein­stel­lung von openLDAP). Wünscht man man mehr, muss der Para­me­ter expli­zit in der slapd.conf ange­ge­ben wer­den.

Und ja:
Das ist ein erns­tes Sicher­heits­pro­blem, wenn das im Netz auf einem Root­ser­ver ein­ge­setzt wird.

Wer den slapd nicht an local­host zu bin­den ver­mag und nicht den anony­mous-Bind ver­bie­ten kann, soll­te die­ses Script nicht ver­wen­den.

Aller­dings wür­de ich mich eher mit einem whiteshark an eine loka­le Netz­werk­do­se in der Schu­le hän­gen und die Pass­wor­te des Arktur4/5 im Klar­text mit­le­sen (etwa bei der Squi­d­an­mel­dung), als einen Roo­tie zu hacken und die sha2-Hash­es zu bru­teforcen (dau­ert ja immer noch etwas), um dann nicht ein­mal eine Shell auf Ark­tur zu besit­zen. Wenn dann die Daten dort (auf dem Roo­tie) zusätz­lich noch anony­mi­siert sind, kann eigent­lich kaum etwas gesche­hen…

Link zum Script: arktur4_to_slapd

Facebook Like

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.