Social Messenger sind der Untergang

Ges­tern bin ich wie­der mit der vol­len Band­brei­te der Hilf­lo­sig­keit gegen­über den Eigen­dy­na­mi­ken kon­fron­tiert wor­den, die ent­ste­hen, wenn sich jün­ge­re Schü­le­rin­nen und Schü­ler auf Whats­App bewegen.

  • Belei­di­gun­gen
  • ver­än­der­te Bil­der unlieb­sa­mer Mitschüler
  • Ent­haup­tungs­vi­de­os
  • […]
  • Ich kann nichts dafür“-Behauptungen (In der Schü­ler­vor­stel­lungs­welt kann man sich ja schließ­lich nicht dage­gen weh­ren, in Whats­App-Grup­pen auf­ge­nom­men zu werden)

Die­se Din­ge schei­nen sich nach mei­nen Beob­ach­tun­gen vor alle in den jün­ge­ren Klas­sen­stu­fen der Sekun­dar­stu­fe I zu häu­fen. Die reflex­ar­ti­gen Reak­tio­nen auf Vor­komm­nis­se sehen zunächst so aus:

  1. Han­dy weg­neh­men. Die dür­fen Whats­App erst ab 16 nutzen!“
  2. Han­dy ver­bie­ten. Die kön­nen damit nicht umgehen!“
  3. Medi­en­päd­ago­gen ein­la­den, der denen das mal sagt!“
  4. Eltern in die Pflicht neh­men. Die sind unver­ant­wort­lich, Kin­dern ein Smart­phone zu kaufen!“
  5. Nun sag‘ mal Maik, was soll ich denn jetzt machen? Du bist doch Medi­en­fuz­zi. Alles Schei­ße mit die­sem Digitalzeugs!“

Han­deln wir das mal alles in der Kür­ze ab, die es sach­lo­gisch verdient:

Zu 1.)

Net­ter Ver­such. Das Han­dy gehört uns nicht und umfasst den Pri­vat­be­reich der SuS. Das ist so auf der Ebe­ne wie: „Ich ver­bie­te dir, nicht alters­ge­rech­te Fil­me in dei­ner Frei­zeit zu schauen!“

Zu 2.)

Net­ter Ver­such. Das Han­dy gehört uns nicht und umfasst den Pri­vat­be­reich der SuS. Das ist so auf der Ebe­ne wie: „Ich ver­bie­te dir, dich in dei­ner Frei­zeit mit Han­nes und Tim zu tref­fen. Die haben einen schlech­ten Ein­fluss auf dich!“

Zu 3.)

Net­ter Ver­such. Und bequem. Dann macht der das halt (wenn er dann mal Zeit hat). Ich nen­ne sowas medi­en­päd­ago­gi­sches Fei­gen­blatt: „Wir haben was getan – wir haben jeman­den ein­ge­la­den! Wenn dann kei­ner kommt, tja, kön­nen wir auch nichts dafür!“

Zu 4.)

Völ­lig rich­tig. Wenig bis so gar nicht rea­lis­tisch. Eltern hal­ten das mit dem Han­dy oft so: Wir kau­fen dir eines. Wir ken­nen uns damit eh nicht aus. Das Erstau­nen ist dann rie­sig, wenn dann mit dem Gerät Din­ge gesche­hen, die unschön sind. Dann ist das Inter­net schuld. Oder wahl­wei­se die Schu­le, die ja nichts dage­gen macht. Mein Bild: Sie schi­cken ein vier­jäh­ri­ges Kind mit dem Rad bei Dun­kel­heit quer durch die Stadt und sind dann völ­lig über­rascht, wenn es umge­nie­tet wird. Die­ser Scheiß­ver­kehr ist dann schuld!“ (sonst müss­te man sich ja selbst sei­ner Ver­ant­wor­tung stellen …)

Zu 5.)

Die Situa­ti­on ist sehr kom­plex. Das Sys­tem der Betei­lig­ten und der Ursa­chen auch. Wer hier ein ein­fa­che Ant­wort erwar­tet, ver­kennt die Kom­ple­xi­tät völ­lig. Bes­ten­falls ver­la­gert er das Pro­blem schlicht vor­der­grün­dig aus dem Wahr­neh­mungs­be­reich von Schu­le. Lei­der wird das immer wie­der in die Schu­le zurück­schwap­pen. mit dem Unter­schied, dass man dann noch sehr viel weni­ger über die Vor­gän­ge in der „Par­al­lel­welt“ weiß,

Maik, du Klug­schei­ßer, ich will Lösungen! 

Lösung 1:

Wo Ver­bo­te nicht grei­fen, kom­me ich um Ver­hand­lun­gen und päd­ago­gi­sche Ver­ein­ba­run­gen nicht her­um. Es gibt an Schu­len Gre­mi­en, die die ein­zel­nen Grup­pen ver­tre­ten. Es gibt eine Schü­ler- und eine Eltern­ver­tre­tung. Wenn ich ziel­of­fen hier zu Ver­ein­ba­run­gen kom­me, die den Han­dy­ge­brauch inner­halb der Schu­le regeln, habe ich eine grö­ße­re Chan­ce, dass die­se Ver­ein­ba­run­gen ein­ge­hal­ten und durch demo­kra­tisch ver­han­del­te Sank­tio­nen not­falls auch durch­ge­setzt wer­den. Zusätz­lich ist das u.U. eine Chan­ce, Demo­kra­tie prak­tisch zu leben und es ist eine Chan­ce, ins­be­son­de­re Eltern und Schü­lern auf Augen­hö­he zu begeg­nen. Die­se Gre­mi­en müs­sen ja ihrem „Wahl­volk“ Ent­schei­dun­gen ver­mit­teln. Und ins­be­son­de­re Eltern kön­nen ja schon mehr als Kaf­fee und Kuchen bei Ver­an­stal­tun­gen zu spen­den. Die­se Idee schei­tert oft an dem dafür not­wen­di­gen Para­dig­men­wech­sel: Schu­le ist ja von ihrem Wesen her hier­ar­chisch organisiert.

Lösung 2:

Wo in der Gesell­schaft bekom­men SuS vor­ge­lebt, wie man z.B. sozia­le Medi­en sinn­voll und reflek­tiert nutzt? Wo in Schu­le bekom­men SuS gezeigt, wel­che Poten­tia­le für das eige­ne Ler­nen in Social­me­dia steckt? Wenn ich Schu­len Por­tal­lö­sun­gen mit zar­ten Social­me­dia­funk­tio­nen emp­feh­le, kommt sehr oft: „Aber die­sen Chat, den müs­sen wir drin­gend abschal­ten, da pas­siert nur Mist, wer soll das kon­trol­lie­ren!“ Wenn da „Mist“ pas­siert, ist das m.E. ein Geschenk, weil es in einem geschütz­ten Raum ent­steht und päd­ago­gisch auf­ge­ar­bei­tet wer­den kann. Wir brau­chen mehr sol­chen „Mist“, der auf Sys­te­men von Schu­len geschieht, weil wir ihm dort ohne irgend­wel­chen Anzei­gen und rich­ter­li­chen Anord­nun­gen begeg­nen kön­nen – die Daten haben wir ja selbst und idea­ler­wei­se auch kla­re Rege­lun­gen, wann die­se von wem wie ein­ge­setzt wer­den dürfen.

Lösung 3:

Kein Unter­richt über Medi­en, son­dern Unter­richt mit Medi­en. Das erfor­dert ein schul­wei­tes Medi­en­kon­zept und es wird erstau­nen, wie viel sich sogar ganz ohne WLAN und Tablets in die­sem Bereich machen lässt. Über­ra­schen­der­wei­se sind bestimm­te Wer­te und Lebens­er­fah­run­gen auch in Zei­ten von Social­me­dia noch gültig.

Lei­der wird die Umset­zung die­ser Erkennt­nis genau wie damals der Buch­druck eine Alpha­be­ti­sie­rung erfor­dern und zwar vor allem eine digi­ta­le Alpha­be­ti­sie­rung von Lehr­kräf­ten. Und das Lesen fällt man­chem leich­ter und man­chem schwe­rer. Wenn ich aber an den Poten­tia­len und Mög­lich­kei­ten teil­ha­ben möch­te und wenn ich hand­lungs­fä­hig sein will, kom­me ich nicht dar­um her­um, ler­nen zu müs­sen. NIcht nur wegen der SuS, son­dern vor allem aus Ego­is­mus: Digi­ta­ler Analpha­be­tis­mus führt direkt in die Anhän­gig­keit von ande­ren und in die Unsouveränität.

 

 

Reflexionsfreie Zone

Men­schen in sozia­len Beru­fen sind teil­wei­se in ihren Arbeits­ver­trä­gen dazu ver­pflich­tet, an Super­vi­sio­nen teil­zu­neh­men. In den Sit­zun­gen wer­den z.B. Kon­flik­te inner­halb des Teams auf­ge­ar­bei­tet, Wege auf­ge­zeigt, um mit anver­trau­ten Per­so­nen bes­ser umzu­ge­hen und es wer­den auch oft genug das eige­ne Han­deln und die eige­ne Per­sön­lich­keit infra­ge gestellt.

Ich ken­ne Super­vi­si­on schon aus mei­ner Arbeit mit Klas­sen­ta­gun­gen – ein­mal im Halb­jahr war es mehr als erwünscht, wenn nicht sogar ver­pflich­tend, an Super­vi­sio­nen teil­zu­neh­men. Da ging es gut zur Sache – mit Psy­cho­dra­ma, Rol­len­tausch, Trä­nen und allem Drum und Dran. Die Sit­zun­gen beweg­ten sich oft ganz und gar nicht in der Komfortzone.

Wie­der in Kon­takt mit Super­vi­si­on bin ich erst zwan­zig Jah­re spä­ter in mei­ner Aus­bil­dung als medi­en­päd­ago­gi­scher Bera­ter gekom­men. Vie­le von uns haben gen­ölt und sich gefragt, was z.B. Kon­flikt­be­wäl­ti­gungs­stra­te­gien mit Medi­en­be­ra­tung zu tun haben. Mitt­ler­wei­le ist es mit dem Gen­öle still gewor­den. Es ent­wi­ckelt sich zu einer Kern­kom­pe­tenz, Struk­tu­ren zu ana­ly­sie­ren, Kon­flikt­ge­sprä­che zu füh­ren, Kri­tik ernst zu neh­men und mit ihr umzu­ge­hen. Tech­nik: 5% – Mensch: 95%.

Die super­du­per Home­page nützt z.B. gar nichts, wenn sich der Betreu­er immer selbst um alle Infor­ma­tio­nen küm­mern muss, den Kol­le­gen hin­ter­her­läuft und dabei kei­ne Unter­stüt­zung von der Lei­tung erhält: „Hä? Kriegt doch genau dafür eine Ent­las­tungs­stun­de!“ (Nein! Er bekommt die Ent­las­tung für eine aktu­el­le Homepage).

In Fol­low-Ups zu unse­rer Aus­bil­dung dür­fen wir Erleb­nis­se mit­brin­gen, die dann bear­bei­tet wer­den. Und das wer­den sie. Und auch ein Maik Riecken bekommt da hin und wie­der ver­dien­ten Lack. Auf die­sen Ver­an­stal­tun­gen stel­len sich für mich oft Wei­chen für die Zukunft – mir wird klar, was mir gut tut und was mich im Leben lang­fris­tig nicht wei­ter­bringt. Ich bil­de mir ein, dass das für mei­ne Zufrie­den­heit, mei­ne Distanz­fä­hig­keit und vor allem mei­ne Gesund­heit ein gro­ße Rol­le spielt.

Aber ich bin wohl auch ein Weich­ei. Die Arbeit an Schu­le ist psy­chisch immer Zucker. Da gibt es nicht auf­zu­ar­bei­ten. Da gibt es kei­ne psy­cho­lo­gisch indu­zier­ten Krank­hei­ten wie Kopf- und Rücken­schmer­zen (Ver­span­nun­gen), Alko­ho­lis­mus, Tin­ni­tus oder ein­fach inne­re Emi­gra­ti­on in die Kau­zig­keit oder ande­re Din­ge. Mit Kol­le­gen ver­steht man sich grund­sätz­lich gut.

Jede Annah­me von Hil­fe von außen ist eh ein Zei­chen von Schwä­che und davon, dass im Kol­le­gi­um etwas nicht stimmt. Wo kämen wir dahin, uns und unse­re Per­sön­lich­keit infra­ge zu stel­len! Wir sind fer­tig, wir brau­chen das nicht! Und dann die Finan­zie­rung: 120,- Euro Stun­den­satz für einen guten Super­vi­sor? 240,- Euro für zwei Stun­den durch ca. 10 Per­so­nen tei­len – jedes Vier­tel­jahr? Das muss doch der Dienst­herr bezah­len (objek­tiv völ­lig kor­rekt). Das Geld ste­cke ich doch lie­ber ins Auto – oder Motor­rad oder in den Han­dy­ver­trag und lei­de ansons­ten still vor mich hin.

Nicht nur ich bin ver­wun­dert, dass aus­ge­rech­net in Schu­le – deren päd­ago­gi­sche Aus­rich­tung ja immer als Beleg dafür her­hal­ten darf, nicht mit wirt­schaft­li­chen Struk­tu­ren ver­gleich­bar zu sein – ein in mei­nen Augen zen­tra­les Instru­men­ta­ri­um von Per­so­nal­ent­wick­lung weder finan­ziert noch ein­for­dert, wel­ches in fast allen ande­ren ver­gleich­ba­ren päd­ago­gi­schen Kon­tex­ten üblich oder gar obli­ga­to­risch ist.

Tablets in der Schule: Bitte (fast) keine Androids mehr!

Vorweg

Ich set­ze per­sön­lich kei­ne Tablets im Unter­richt oder mei­nen eige­nen Work­flow ein. Für mich per­sön­lich sind das Spiel­zeu­ge und kei­ne Arbeits­ge­rä­te. Mei­ne Fin­ger sind zu dick und unmotorisch.

Ich gestal­te mei­nen digi­ta­len Unter­richt aber so, dass das Gerät dafür kaum eine Rol­le spielt, wenn es zumin­dest einen Brow­ser und eini­ger­ma­ßen per­for­man­te Leis­tungs­da­ten zum Ren­dern von Web­in­hal­ten ver­fügt. Mei­ne Tools stel­len stan­dar­di­sier­te Schnitt­stel­len bereit, sodass hof­fent­lich jeder die App und das Gerät dafür nut­zen kann, die/das zu ihr/ihm passt.

App“ ist für mich ein ande­res Wort für „Pro­gramm, des­sen Ober­flä­che auf Touch­be­die­nung zuge­schnit­ten ist“. Damit sind Tablets natür­lich will­kom­men – es gibt ja ande­re Men­schen als mich mit ande­ren Vor­lie­ben und Präferenzen.

Was ich gar nicht mag, ist als Admin Son­der­lö­sun­gen bau­en zu müs­sen, weil ein Her­stel­ler meint, eige­ne „Stan­dards“ sei­en kun­den­freund­li­cher. Des­we­gen has­se ich aus Admi­nis­tra­to­ren­sicht spe­zi­ell Apple wie die Pest. So viel zum Rant.

Was man in der Schule von der Software eines Gerätes erwarten können muss

 

  1. Regel­mä­ßi­ge Betriebssystemupdates
  2. Regel­mä­ßi­ge Sicherheitsupdates
  3. Ver­läss­li­che Sand­bo­xes für Prüfungssituationen
  4. Ver­läss­li­ches, leicht zu bedie­nen­des MDM (Lösung zum Mana­gen der Gerä­te, wenn sie schul­ei­gen sind)

… über einen Zeit­raum von min­des­tens fünf Jah­ren. Ein Her­stel­ler, der das nicht bie­ten kann, hat nach mei­ner Mei­nung in der Schu­le bei schul­ei­ge­nen(!) Gerä­ten nichts verloren.

Damit fal­len (fast) alle Andro­id­ge­rä­te heraus.

Warum keine Androids?

Das Lizenz­mo­dell von Android ermög­licht erst die Her­stel­lung extrem güns­ti­ger Gerä­te. Die Quell­tex­te lie­gen offen, das Sys­tem lässt sich recht unauf­wän­dig an fast jede belie­bi­ge Hard­ware­um­ge­bung anpas­sen, d.h. als Her­stel­ler bin ich in der Wahl mei­ner CPU, mei­nes Gra­fik­pro­zes­sors usw. recht frei. Dar­aus ent­steht eine Viel­zahl an Pro­dukt­li­ni­en. Um das Sys­tem per­for­mant und schlank zu hal­ten, bricht man mit einem Grund­prin­zip von Linux, auf dem Android basiert: Dem gene­ri­schen System.

Ein gene­ri­sches Sys­tem läuft unver­än­dert auf sehr vie­len unter­schied­li­chen Umge­bun­gen: Ubun­tu kann ich auf fast jeden Rech­ner instal­lie­ren – Linux bringt die dafür erfor­der­li­chen Trei­ber gleich mit und erkennt z.B. Hard­ware beim Start vollautomatisch.

Ein gene­ri­sches Sys­tem kann dar­über­hin­aus zen­tral geup­datet wer­den – im Prin­zip läuft ja über­all das Glei­che. Lei­der schleppt natür­lich ein gene­ri­sches Sys­tem alles nur Denk­ba­re an Trei­bern mit sich und ist daher recht groß – das passt vor allem nicht zu güns­ti­ger Hardware.

Kurz gesagt: Bei Andro­iden muss der Her­stel­ler jedes Sicher­heits- und Funk­ti­ons­up­dates für alle sei­ne Pro­dukt­li­ni­en manu­ell ein­pfle­gen und sei­nen Kun­den z.B. als Betriebs­sys­tem­image bereit­stel­len. Das lohnt sich bei Gerä­ten wie Tablets und Han­dys mit ohne­hin meist kur­zer Ver­wen­dungs­zeit in der Regel nicht, sprich:

Die meis­ten Andro­id­ge­rä­te sind nach recht kur­zer Zeit sicher­heits­tech­nisch ein Debakel

Die ein­zi­ge ech­te Aus­nah­me, die ich dies­be­züg­lich ken­ne, ist die Nexus­se­rie von Goog­le selbst. Mei­ne Nexus­ta­blets der ers­ten Gene­ra­ti­on erhal­ten bis heu­te zeit­nah Updates – schon fast vier Jah­re mittlerweile.

Man kann aus­wei­chen auf Com­mu­ni­ties rund um Cya­no­gen­mod – Techi­es wie ich könn­ten das ggf.. – aber für Schu­len im All­ge­mei­nen ist das kei­ne Option.

In der Schu­le brau­che ich nach mei­nem Emp­fin­den Gerä­te, die min­des­tens drei, bes­ser fünf zuver­läs­sig lau­fen. Rea­lis­tisch fin­de ich eher einen Gerä­te­wech­sel nach drei Jah­ren, d.h. min­des­tens(!) drei Gerä­te pro Schul­lauf­bahn, denn schon heu­te wer­den die meis­ten Men­schen (auch und gera­de SuS!)  Gerä­te, die noch älter sind, auf­grund des tech­no­lo­gi­schen Wan­dels als unzu­mut­bar emp­fin­den – daher noch ein Seitenhieb:

Bei Kal­ku­la­tio­nen „Tablet preis­lich gegen Schul­buch / Taschen­rech­ner / Atlas“ ohne Ein­be­zug des tech­no­lo­gi­schen Wan­dels (Pro­dukt­up­grade nach drei Jah­ren) wäre ich SEHR vor­sich­tig ob des rea­len Preis­vor­teils gegen­über heu­te – unser Wirt­schafts­sys­tem basiert nicht dar­auf, dass wir stän­dig weni­ger ausgeben.

 

iPads und Windowstablets 

Apple ist ein in sich geschlos­se­nes Sys­tem und Micro­soft macht den Her­stel­lern sei­ner Gerä­te recht rigi­de Vor­ga­ben, was die Hard­ware­aus­stat­tung angeht – im Prin­zip fah­ren die die gene­ri­sche Stra­te­gie des Linux­ker­nels. Damit ist die Sicher­heits­pro­ble­ma­tik in einem wesent­li­chen Kern­punkt ent­schärft, weil nicht der Her­stel­ler Updates bereit­stellt, son­dern eben Apple und Micro­soft und die­se Updates auch über die betriebs­sys­tem­ei­ge­nen Mecha­nis­men instal­lie­ren. Die damit ver­bun­de­ne Lang­fris­tig­keit macht den Ein­satz z.B. einer MDM-Lösung oder Klas­sen­raum­steue­rung erst beherrsch­bar: Wenn ich nicht andau­ernd ver­seuch­te Gerä­te wie­der­her­stel­len und neu in eine MDM-Lösung inte­grie­ren muss, wird die Bewäl­ti­gung des Arbeits­pen­sums mög­lich. Und gera­de Schul­ge­rä­te, die durch vie­le Hän­de gehen, sind gegen­über der­ar­ti­gen Drang­sa­lie­run­gen extrem gefähr­det. Selbst Apple hat mitt­ler­wei­le kapiert, dass ein 1:1‑Design eben nicht in eine 1:many-Umgebung passt und ent­wi­ckelt in die rich­ti­ge Rich­tung.

Nach­trag:

Etwas aus­führ­li­cher hat sich Andre­as Hof­mann mit der neu­en Initia­ti­ve von Apple beschäftigt.

 

Anfangsgenölewiederaufgriff

Mir ist völ­lig klar, dass mit der auto­ma­ti­schen Update­po­li­tik von Apple und gera­de auch Micro­soft auch sehr streit­ba­re Mecha­nis­men Ein­zug in die mobi­len Gerä­te hal­ten – vor allem vor dem Daten­schutz­hin­ter­grund. Mir wäre ein Ubun­tu-Touch auf frei­er Hard­ware ohne UEFI- und TPM-Mist bedeu­tend lieber.

Da wir aber im „Isn­um­mal­so­land“ leben, geht es um prag­ma­ti­sche Ansät­ze. Und da hat Apple schon auf­grund des App­an­ge­bot im Ver­gleich zu Micro­soft zur­zeit die Nase für vie­le Anwen­der halt vor­ne. Ich per­sön­lich fin­de das doof.

Viel­leicht fehlt es bei Andro­ids ein­fach auch nur an Dienst­leis­tern, die das Gan­ze z.B. mit Cya­no­gen­mod schlicht pro­fes­sio­na­li­sie­ren und Ser­vice­bund­les für drei bis fünf Jah­re anbieten.

Präsenztage in der Schule – das Prinzip der sozialen Rekursivität in öffentlichen Debatten

Auch auf­grund von “Vermittlungsproblemen” in der Bevöl­ke­rung sehen sich die Kul­tus­mi­nis­te­ri­en der Län­der nun­mehr “gezwungen”, Prä­senz­ta­ge für Lehr­kräf­te an den Schu­len ein­zu­füh­ren, so jeden­falls ein zunächst wenig beach­te­ter Beschluss der KMK auf ihrer letz­ten Zusam­men­kunft. Als ehe­ma­li­ger Per­so­nal­rat und durch­aus auch kri­ti­scher Betrach­ter der Pri­vi­le­gi­en unse­rer Berufs­spar­te möch­te ich doch die­se Idee nicht unkom­men­tiert lassen.

Wäh­rend Jan-Mar­tin Klin­ge sich eher mit den resul­tie­ren­den Ver­wal­tungs­fra­gen aus­ein­an­der­setzt und sich an Din­gen wie dem Gleicheits­grund­satz im Duk­tus von Beam­ten­deutsch abar­bei­tet, lege ich den Fokus bewusst etwas anders und begin­ne dabei mit einer klei­nen Anekdote:

Als an unse­rer Schu­le schwe­di­sche Lehr­kräf­te zu Gast waren, haben wir Ihnen natür­lich mit eini­gem Stolz unser frisch reno­vier­tes, wirk­lich groß­zü­gig gestal­te­tes Leh­rer­zim­mer gezeigt. Die Reak­ti­on war durch­aus posi­tiv. Das ist hoch zu bewer­ten, wenn man etwas mit schwe­di­scher Schul­ar­chi­tek­tur ver­traut ist. Es kam aber sofort auch die Fra­ge mit dem für mich immer wie­der put­zig anzu­hö­ren­den schwe­di­schen Akzent: “Das ist eine schö­nes Raum. Wo triffst du dich mit dei­ne Kol­legs, um zu arbeiten?” – “Ja hier halt!”, ant­wor­te­te ich. “Nein, das hier ist eine tol­les Sozi­al­raum, aber kei­ne Arbeitsplatz!”, kam sofort der Ein­wand. Für den schwe­di­schen Kol­le­gen war es unvor­stell­bar, kei­nen Arbeits­platz in der Schu­le zu haben.

Ich fin­de, dass die­se Anek­do­te den Kern der Pro­ble­ma­tik zeigt: Selbst wenn ich in der Schu­le arbei­ten woll­te, könn­te ich es selbst nicht mit hin­rei­chen­der Effek­ti­vi­tät tun. Im Leh­rer­zim­mer trifft man sich und tauscht sich aus. Das ist Fluch und Segen zugleich: Fluch für den Wunsch, z.B. läs­ti­ge Kor­rek­tur­ar­bei­ten zügig zu erle­di­gen, Segen für den Aus­tausch zu päd­ago­gi­schen Fra­gen – letz­te­re lie­ßen sich aber weit­aus effek­ti­ver klä­ren, wenn alle Betei­lig­ten anwe­send wären. In der jet­zi­gen Form des KMK-Beschlus­ses ist den Lehr­kräf­ten ja weit­ge­hend frei­ge­stellt, wann sie sich in der Schu­le einfinden.

Dass es in der Schu­le i.d.R. kei­nen geeig­ne­ten Arbeits­platz gibt außer den schnell über­füll­ten Leh­rer­ar­beits­zim­mern bedingt ja zusätz­lich qua­si einen heim­li­chen Vertrag:

“Du Kol­le­ge setzt dein häus­li­ches Arbeits­zim­mer von der Steu­er ab, hast somit vol­le Frei­heit in dei­nem Home­of­fice und dafür spa­ren wir die eine oder ande­re Mark bei der räum­li­chen und säch­li­chen Aus­stat­tung der Schulen.”

An so Din­gen wie den Rege­lun­gen zur Daten­ver­ar­bei­tung auf pri­va­ten DV-Gerä­ten von Lehr­kräf­te (Link auf Erlass hier in Nie­der­sach­sen) sieht man recht hübsch, dass die­ses Kon­strukt auch gele­gent­lich hef­tig knirscht, aber im Gro­ßen und Gan­zen natür­lich funk­tio­niert. Wenn man mich jetzt zwingt, in der Schu­le tätig zu sein, könn­te ich ja auf die Idee kom­men, dar­aus auch Ansprü­che abzu­lei­ten – inso­fern weiß ich nicht, ob der Dienst­herr sich auf lan­ge Sicht damit wirk­lich einen Gefal­len tut.

Ich kann ver­ste­hen, war­um vie­le Men­schen uns Lehr­kräf­te als pri­vi­le­giert wahr­neh­men. Ich bin mir nicht so sicher, ob das nun gesetz­te Signal wirk­lich geeig­net ist, die übli­chen Stamm­tisch­ste­reo­ty­pe über Leh­rer wirk­sam im Sin­ne einer sicher­lich auch inten­dier­ten Für­sor­ge durch den Dienst­herrn abzu­mil­dern – da schei­nen mir Din­ge wie die Unkünd­bar­keit oder Pen­si­ons­re­ge­lun­gen durch­aus gewich­ti­ger in der Wahr­neh­mung “meiner” Stamm­tisch­kon­tak­te außer­halb der Leh­rer­sze­ne. Gera­de in Bezug auf die säch­li­che Aus­stat­tung sind wir als Lehr­kräf­te m.E. eben nicht unbe­dingt gutgestellt.

Das Ein­zi­ge, was man schafft, ist “soziale Rekur­si­on” – man ändert an einer Stel­le etwas, was in der Fol­ge wei­te­re Pro­zes­se in Gang setzt, die sich auf den glei­chen Aus­gangs­punkt bezie­hen, aber im Gegen­satz zur mathe­ma­ti­schen Rekur­si­on kaum vor­her­seh­bar sind. Sicher ist: Wir kom­men immer wie­der bei der glei­chen Fra­ge an.

Was denkt ihr? Könn­ten Prä­senz­ta­ge sinn­voll dabei hel­fen, dass Lehr­kräf­te nicht mehr so pri­vi­le­giert wah­ge­nom­men wer­den? Gin­ge für euch ein sol­ches Ansin­nen auf?

Radiusserver gegen LDAP authentifizieren lassen

Allgemein

Die­ser Ein­trag basiert auf die­ser Ori­gi­nal­an­lei­tung. free­ra­di­us ist ein Authen­ti­fi­zie­rungs­ser­ver, der nach außen das Radi­us­pro­to­koll bereit­stellt. Über die­ses Pro­to­koll kann man sich z.B. an einem WLAN anmel­den, ohne die Zugangs­da­ten für OpenLDAP oder jede belie­bi­ge ande­re Authen­ti­fi­zie­rungs­quel­le zu ken­nen und ver­tei­len zu müs­sen. Wenn ein zen­tra­ler Ver­zeich­nis­dienst kon­fi­gu­riert ist, wer­den z.B. sehr ein­fach Din­ge mög­lich wie ein kreis­wei­tes WLAN. In den Schu­len muss dann ledig­lich ein neu­es WLAN-Netz kon­fi­gu­riert wer­den, wel­ches gegen unse­ren zen­tra­len Radi­us authen­ti­fi­ziert und schon kann ich als Leh­rer der Schu­le A im Netz der Schu­le B z.B. bei Fort­bil­dung das WLAN nutzen.

Radiusschema in OpenLDAP integrieren

Damit die Authen­ti­fi­zie­rung über Radi­us mit alle denk­ba­ren Funk­tio­nen klappt, soll­te man ein neu­es Sche­ma zu OpenLDAP hin­zu­fü­gen. Es funk­tio­niert auch ohne, nur kommt man bei spä­te­ren Erwei­te­rungs­w­üb­schen schnell an Gren­zen. Hier ist ein Sche­ma bereits vor­be­rei­tet (freeradius_schema.ldif), wel­ches free­ra­di­us als Text­da­tei mit­bringt. Es lässt sich direkt über die Kon­so­le in cn=config einspielen.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
dn: cn=freeradius,cn=schema,cn=config
objectClass: olcSchemaConfig
cn: freeradius
olcAttributeTypes: {0}( 1.3.6.1.4.1.3317.4.3.1.1 NAME 'radiusArapFeatures' DES
 C '' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-
 VALUE )
olcAttributeTypes: {1}( 1.3.6.1.4.1.3317.4.3.1.2 NAME 'radiusArapSecurity' DES
 C '' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-
 VALUE )
olcAttributeTypes: {2}( 1.3.6.1.4.1.3317.4.3.1.3 NAME 'radiusArapZoneAccess' D
 ESC '' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGL
 E-VALUE )
olcAttributeTypes: {3}( 1.3.6.1.4.1.3317.4.3.1.44 NAME 'radiusAuthType' DESC '
 checkItem: Auth-Type' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115
 .121.1.26 SINGLE-VALUE )
olcAttributeTypes: {4}( 1.3.6.1.4.1.3317.4.3.1.4 NAME 'radiusCallbackId' DESC 
 'replyItem: Callback-Id' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.
 115.121.1.26 SINGLE-VALUE )
olcAttributeTypes: {5}( 1.3.6.1.4.1.3317.4.3.1.5 NAME 'radiusCallbackNumber' D
 ESC 'replyItem: Callback-Number' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4
 .1.1466.115.121.1.26 SINGLE-VALUE )
olcAttributeTypes: {6}( 1.3.6.1.4.1.3317.4.3.1.6 NAME 'radiusCalledStationId' 
 DESC 'checkItem: Called-Station-Id' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.
 1.4.1.1466.115.121.1.26 SINGLE-VALUE )
olcAttributeTypes: {7}( 1.3.6.1.4.1.3317.4.3.1.7 NAME 'radiusCallingStationId'
  DESC 'checkItem: Calling-Station-Id' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.
 6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
olcAttributeTypes: {8}( 1.3.6.1.4.1.3317.4.3.1.8 NAME 'radiusClass' DESC 'repl
 yItem: Class' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.2
 6 )
olcAttributeTypes: {9}( 1.3.6.1.4.1.3317.4.3.1.45 NAME 'radiusClientIPAddress'
  DESC '' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SIN
 GLE-VALUE )
olcAttributeTypes: {10}( 1.3.6.1.4.1.3317.4.3.1.9 NAME 'radiusFilterId' DESC '
 replyItem: Filter-Id' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115
 .121.1.26 )
olcAttributeTypes: {11}( 1.3.6.1.4.1.3317.4.3.1.10 NAME 'radiusFramedAppleTalk
 Link' DESC 'replyItem: Framed-AppleTalk-Link' EQUALITY caseIgnoreIA5Match SYN
 TAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
olcAttributeTypes: {12}( 1.3.6.1.4.1.3317.4.3.1.11 NAME 'radiusFramedAppleTalk
 Network' DESC 'replyItem: Framed-AppleTalk-Network' EQUALITY caseIgnoreIA5Mat
 ch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
olcAttributeTypes: {13}( 1.3.6.1.4.1.3317.4.3.1.12 NAME 'radiusFramedAppleTalk
 Zone' DESC 'replyItem: Framed-AppleTalk-Zone' EQUALITY caseIgnoreIA5Match SYN
 TAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
olcAttributeTypes: {14}( 1.3.6.1.4.1.3317.4.3.1.13 NAME 'radiusFramedCompressi
 on' DESC 'replyItem: Framed-Compression' EQUALITY caseIgnoreIA5Match SYNTAX 1
 .3.6.1.4.1.1466.115.121.1.26 )
olcAttributeTypes: {15}( 1.3.6.1.4.1.3317.4.3.1.14 NAME 'radiusFramedIPAddress
 ' DESC 'replyItem: Framed-IP-Address' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.
 6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
olcAttributeTypes: {16}( 1.3.6.1.4.1.3317.4.3.1.15 NAME 'radiusFramedIPNetmask
 ' DESC 'replyItem: Framed-IP-Netmask' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.
 6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
olcAttributeTypes: {17}( 1.3.6.1.4.1.3317.4.3.1.16 NAME 'radiusFramedIPXNetwor
 k' DESC 'replyItem: Framed-IPX-Network' EQUALITY caseIgnoreIA5Match SYNTAX 1.
 3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
olcAttributeTypes: {18}( 1.3.6.1.4.1.3317.4.3.1.17 NAME 'radiusFramedMTU' DESC
  'replyItem: Framed-MTU' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.
 115.121.1.26 SINGLE-VALUE )
olcAttributeTypes: {19}( 1.3.6.1.4.1.3317.4.3.1.18 NAME 'radiusFramedProtocol'
  DESC 'replyItem: Framed-Protocol' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1
 .4.1.1466.115.121.1.26 SINGLE-VALUE )
olcAttributeTypes: {20}( 1.3.6.1.4.1.3317.4.3.1.19 NAME 'radiusFramedRoute' DE
 SC 'replyItem: Framed-Route' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1
 466.115.121.1.26 )
olcAttributeTypes: {21}( 1.3.6.1.4.1.3317.4.3.1.20 NAME 'radiusFramedRouting' 
 DESC 'replyItem: Framed-Routing' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4
 .1.1466.115.121.1.26 SINGLE-VALUE )
olcAttributeTypes: {22}( 1.3.6.1.4.1.3317.4.3.1.46 NAME 'radiusGroupName' DESC
  '' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
olcAttributeTypes: {23}( 1.3.6.1.4.1.3317.4.3.1.47 NAME 'radiusHint' DESC '' E
 QUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE 
 )
olcAttributeTypes: {24}( 1.3.6.1.4.1.3317.4.3.1.48 NAME 'radiusHuntgroupName' 
 DESC '' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
olcAttributeTypes: {25}( 1.3.6.1.4.1.3317.4.3.1.21 NAME 'radiusIdleTimeout' DE
 SC 'replyItem: Idle-Timeout' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1
 466.115.121.1.26 SINGLE-VALUE )
olcAttributeTypes: {26}( 1.3.6.1.4.1.3317.4.3.1.22 NAME 'radiusLoginIPHost' DE
 SC 'replyItem: Login-IP-Host' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.
 1466.115.121.1.26 )
olcAttributeTypes: {27}( 1.3.6.1.4.1.3317.4.3.1.23 NAME 'radiusLoginLATGroup' 
 DESC 'replyItem: Login-LAT-Group' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.
 4.1.1466.115.121.1.26 SINGLE-VALUE )
olcAttributeTypes: {28}( 1.3.6.1.4.1.3317.4.3.1.24 NAME 'radiusLoginLATNode' D
 ESC 'replyItem: Login-LAT-Node' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.
 1.1466.115.121.1.26 SINGLE-VALUE )
olcAttributeTypes: {29}( 1.3.6.1.4.1.3317.4.3.1.25 NAME 'radiusLoginLATPort' D
 ESC 'replyItem: Login-LAT-Port' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.
 1.1466.115.121.1.26 SINGLE-VALUE )
olcAttributeTypes: {30}( 1.3.6.1.4.1.3317.4.3.1.26 NAME 'radiusLoginLATService
 ' DESC 'replyItem: Login-LAT-Service' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.
 6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
olcAttributeTypes: {31}( 1.3.6.1.4.1.3317.4.3.1.27 NAME 'radiusLoginService' D
 ESC 'replyItem: Login-Service' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1
 .1466.115.121.1.26 SINGLE-VALUE )
olcAttributeTypes: {32}( 1.3.6.1.4.1.3317.4.3.1.28 NAME 'radiusLoginTCPPort' D
 ESC 'replyItem: Login-TCP-Port' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.
 1.1466.115.121.1.26 SINGLE-VALUE )
olcAttributeTypes: {33}( 1.3.6.1.4.1.3317.4.3.1.29 NAME 'radiusPasswordRetry' 
 DESC '' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SING
 LE-VALUE )
olcAttributeTypes: {34}( 1.3.6.1.4.1.3317.4.3.1.30 NAME 'radiusPortLimit' DESC
  'replyItem: Port-Limit' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.
 115.121.1.26 SINGLE-VALUE )
olcAttributeTypes: {35}( 1.3.6.1.4.1.3317.4.3.1.49 NAME 'radiusProfileDn' DESC
  '' EQUALITY distinguishedNameMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 SING
 LE-VALUE )
olcAttributeTypes: {36}( 1.3.6.1.4.1.3317.4.3.1.31 NAME 'radiusPrompt' DESC ''
  EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALU
 E )
olcAttributeTypes: {37}( 1.3.6.1.4.1.3317.4.3.1.50 NAME 'radiusProxyToRealm' D
 ESC '' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGL
 E-VALUE )
olcAttributeTypes: {38}( 1.3.6.1.4.1.3317.4.3.1.51 NAME 'radiusReplicateToReal
 m' DESC '' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 S
 INGLE-VALUE )
olcAttributeTypes: {39}( 1.3.6.1.4.1.3317.4.3.1.52 NAME 'radiusRealm' DESC '' 
 EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE
  )
olcAttributeTypes: {40}( 1.3.6.1.4.1.3317.4.3.1.32 NAME 'radiusServiceType' DE
 SC 'replyItem: Service-Type' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1
 466.115.121.1.26 SINGLE-VALUE )
olcAttributeTypes: {41}( 1.3.6.1.4.1.3317.4.3.1.33 NAME 'radiusSessionTimeout'
  DESC 'replyItem: Session-Timeout' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1
 .4.1.1466.115.121.1.26 SINGLE-VALUE )
olcAttributeTypes: {42}( 1.3.6.1.4.1.3317.4.3.1.34 NAME 'radiusTerminationActi
 on' DESC 'replyItem: Termination-Action' EQUALITY caseIgnoreIA5Match SYNTAX 1
 .3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
olcAttributeTypes: {43}( 1.3.6.1.4.1.3317.4.3.1.35 NAME 'radiusTunnelAssignmen
 tId' DESC '' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
  )
olcAttributeTypes: {44}( 1.3.6.1.4.1.3317.4.3.1.36 NAME 'radiusTunnelMediumTyp
 e' DESC '' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
olcAttributeTypes: {45}( 1.3.6.1.4.1.3317.4.3.1.37 NAME 'radiusTunnelPassword'
  DESC '' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SIN
 GLE-VALUE )
olcAttributeTypes: {46}( 1.3.6.1.4.1.3317.4.3.1.38 NAME 'radiusTunnelPreferenc
 e' DESC '' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
olcAttributeTypes: {47}( 1.3.6.1.4.1.3317.4.3.1.39 NAME 'radiusTunnelPrivateGr
 oupId' DESC '' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.
 26 )
olcAttributeTypes: {48}( 1.3.6.1.4.1.3317.4.3.1.40 NAME 'radiusTunnelServerEnd
 point' DESC '' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.
 26 )
olcAttributeTypes: {49}( 1.3.6.1.4.1.3317.4.3.1.41 NAME 'radiusTunnelType' DES
 C '' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
olcAttributeTypes: {50}( 1.3.6.1.4.1.3317.4.3.1.42 NAME 'radiusVSA' DESC '' EQ
 UALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
olcAttributeTypes: {51}( 1.3.6.1.4.1.3317.4.3.1.43 NAME 'radiusTunnelClientEnd
 point' DESC '' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.
 26 )
olcAttributeTypes: {52}( 1.3.6.1.4.1.3317.4.3.1.53 NAME 'radiusSimultaneousUse
 ' DESC 'checkItem: Simultaneous-Use' SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SIN
 GLE-VALUE )
olcAttributeTypes: {53}( 1.3.6.1.4.1.3317.4.3.1.54 NAME 'radiusLoginTime' DESC
  '' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-V
 ALUE )
olcAttributeTypes: {54}( 1.3.6.1.4.1.3317.4.3.1.55 NAME 'radiusUserCategory' D
 ESC '' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGL
 E-VALUE )
olcAttributeTypes: {55}( 1.3.6.1.4.1.3317.4.3.1.56 NAME 'radiusStripUserName' 
 DESC '' SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE )
olcAttributeTypes: {56}( 1.3.6.1.4.1.3317.4.3.1.57 NAME 'dialupAccess' DESC ''
  EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALU
 E )
olcAttributeTypes: {57}( 1.3.6.1.4.1.3317.4.3.1.58 NAME 'radiusExpiration' DES
 C 'checkItem: Expiration' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466
 .115.121.1.26 SINGLE-VALUE )
olcAttributeTypes: {58}( 1.3.6.1.4.1.3317.4.3.1.59 NAME 'radiusCheckItem' DESC
  'checkItem: $GENERIC$' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.1
 15.121.1.26 )
olcAttributeTypes: {59}( 1.3.6.1.4.1.3317.4.3.1.60 NAME 'radiusReplyItem' DESC
  'replyItem: $GENERIC$' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.1
 15.121.1.26 )
olcAttributeTypes: {60}( 1.3.6.1.4.1.3317.4.3.1.61 NAME 'radiusNASIpAddress' D
 ESC '' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGL
 E-VALUE )
olcAttributeTypes: {61}( 1.3.6.1.4.1.3317.4.3.1.62 NAME 'radiusReplyMessage' D
 ESC 'replyItem: Reply-Message' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1
 .1466.115.121.1.26 )
olcObjectClasses: {0}( 1.3.6.1.4.1.3317.4.3.2.1 NAME 'radiusprofile' DESC '' S
 UP top AUXILIARY MUST cn MAY ( radiusArapFeatures $ radiusArapSecurity $ radi
 usArapZoneAccess $ radiusAuthType $ radiusCallbackId $ radiusCallbackNumber $
  radiusCalledStationId $ radiusCallingStationId $ radiusClass $ radiusClientI
 PAddress $ radiusFilterId $ radiusFramedAppleTalkLink $ radiusFramedAppleTalk
 Network $ radiusFramedAppleTalkZone $ radiusFramedCompression $ radiusFramedI
 PAddress $ radiusFramedIPNetmask $ radiusFramedIPXNetwork $ radiusFramedMTU $
  radiusFramedProtocol $ radiusCheckItem $ radiusReplyItem $ radiusFramedRoute
  $ radiusFramedRouting $ radiusIdleTimeout $ radiusGroupName $ radiusHint $ r
 adiusHuntgroupName $ radiusLoginIPHost $ radiusLoginLATGroup $ radiusLoginLAT
 Node $ radiusLoginLATPort $ radiusLoginLATService $ radiusLoginService $ radi
 usLoginTCPPort $ radiusLoginTime $ radiusPasswordRetry $ radiusPortLimit $ ra
 diusPrompt $ radiusProxyToRealm $ radiusRealm $ radiusReplicateToRealm $ radi
 usServiceType $ radiusSessionTimeout $ radiusStripUserName $ radiusTerminatio
 nAction $ radiusTunnelClientEndpoint $ radiusProfileDn $ radiusSimultaneousUs
 e $ radiusTunnelAssignmentId $ radiusTunnelMediumType $ radiusTunnelPassword 
 $ radiusTunnelPreference $ radiusTunnelPrivateGroupId $ radiusTunnelServerEnd
 point $ radiusTunnelType $ radiusUserCategory $ radiusVSA $ radiusExpiration 
 $ dialupAccess $ radiusNASIpAddress $ radiusReplyMessage ) )
olcObjectClasses: {1}( 1.3.6.1.4.1.3317.4.3.2.2 NAME 'radiusObjectProfile' DES
 C 'A Container Objectclass to be used for creating radius profile object' SUP
  top STRUCTURAL MUST cn MAY ( uid $ userPassword $ description ) )

Ein­ge­spielt wird es mit:

1
ldapadd -Q -Y EXTERNAL -H ldapi:/// -f freeradius_schema.ldif

Die Objekt­de­fi­ni­tio­nen geben durch ihren Namen schon einen Hin­weis dar­auf, was noch alles mög­lich ist. Inter­net­pro­vi­der set­zen des­we­gen oft genau auf die­ses Protokoll.

Freeradius für die Nutzung von LDAP konfigurieren

Falls noch nicht gesche­hen, muss free­ra­di­us zunächst instal­liert wer­den. Bei Debi­an und sei­nen Deri­va­ten tut es ein Einzeiler:

1
apt-get install freeradius

Jetzt sind eini­ge Kon­fi­gu­ra­ti­ons­da­tei­en zu bearbeiten: 

/etc/freeradius/modules/ldap
1
2
3
4
5
6
7
8
server = "localhost"
identity = "cn=admin,dc=domain,dc=tld"
password = <secret>
basedn = "ou=test,dc=domain,dc=tld"
filter = "(uid=%{%{Stripped-User-Name}:-%{User-Name}})"
base_filter = "(objectclass=radiusprofile)"
access_attr = "dialupAccess"
password_attribute = userPassword

dc=domain,dc=tld ist natür­lich an den eige­nen LDAP anzu­pas­sen. Der Bin­du­ser unter „iden­ti­ty“ muss Lese­zu­griff auf Attri­bu­te des Radi­us-Sche­mas haben. Die­se müs­sen in der Regel extra gewährt / kon­fi­gu­riert wer­den, eigent­lich soll­te man das nicht so ger­ne über den Haupt­ad­min des Bau­mes lösen.

/etc/freeradius/sites-enabled/default & /etc/freeradius/sites-enabled/inner-tunnel

Vor fol­gen­de Zei­len in bei­den Datei­en die Kom­men­tar­zei­chen ent­fer­nen (Abschnitt aut­ho­ri­ze / authen­ti­ca­te):

1
2
3
4
ldap
Auth-Type LDAP {
   ldap
}

Jetzt kann man bei­de Diens­te neu starten:

1
2
service slapd restart
service freeradius restart

Testen des Einstellungen

Nun kann man über­prü­fen, ob das Log­in gegen LDAP funktioniert:

1
radtest "test_ldap_user" "test_ldap_passwort" localhost 18120 "secret"

secret fin­det man in /etc/freeradius/clients.conf in der Sek­ti­on „local­host“. Wenn man von wei­te­ren IPs aus authen­ti­fi­zie­ren möch­te, muss man ein­fach für jeden Rech­ner einen neu­en Block anle­gen. Vor­kon­fi­gu­riert ist bei Debi­an und Deri­va­ten für local­host „testing123“. Wenn alles klappt, soll­te die Aus­ga­be etwa so aussehen:

1
2
3
4
5
6
7
Sending Access-Request of id 213 to 127.0.0.1 port 1812
	User-Name = "<test_ldap_user>"
	User-Password = "<test_ldap_passwort>"
	NAS-IP-Address = 127.0.0.1
	NAS-Port = 18120
	Message-Authenticator = 0x00000000000000000000000000000000
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=213, length=20

Wich­tig ist das Access-Accept packet am Schluss. Klappt es aus irgend­wel­chen Grün­den nicht, gibt es ein Access-Reject packet.

1 21 22 23 24 25 149