Running on lenny…

Pein­lich genug: Durch sources.list-Gemurkse hat­te mein gutes Ser­ver­lein für den Pri­vat­ge­brauch irgend­wie die ver­wund­ba­ren SSH-Keys aus open­s­sl nicht kuriert – darf man eigent­lich gar nicht erzäh­len… Das ist dan­kens­wer­ter Wei­se dadurch auf­ge­fal­len, dass ich einen SSL-Key durch eine CA unter­schrei­ben las­sen woll­te. Tja, und http://www.psw.net ver­wei­ger­te dar­auf doch gleich die Annah­me mei­nes Schlüs­sels  (vul­nerable key used), sehr emp­feh­lens­wer­te Fir­ma. Und da dach­te ich mir: Wenn schon, denn schon.

Ergeb­nis:

riecken.de läuft seit eben auf der neu­en, sta­bi­len Debian­ver­si­on Len­ny. Ich hat­te noch kurz über­legt, vor­her MyS­QL zu repli­zie­ren und den Stand­by­mail­ser­ver auf Funk­ti­on zu über­prü­fen – aber: no risk, no fun. Ein Back­up-MX wäre viel­leicht ein­mal ein Projekt.

Eine Ant­wort auf pings nach der „reboot“-Eingabe hat doch etwas beru­higt, obwohl das hier kein Pro­duk­tiv­sys­tem ist. Das Back­up lag hier zu Hau­se auf der Plat­te und wäre auch Dank Kabel­deutsch­land recht schnell wie­der online gewe­sen – aber so ist es doch viel bes­ser. Ich mag Debian.

End­lich xcache und diver­se ande­re, neue Soft­ware­ver­sio­nen… Neben­bei fällt einem dann auch noch auf, dass poli­cy-weight irgend­wann ama­vis-Expe­ri­men­ten geop­fert wur­de. Der tut jetzt auch wie­der sei­nen Dienst – Post­fix hat aber schon so mit den ein­ge­bau­ten Fil­tern ziem­lich viel Mist weggefangen.

Verschlüsselung in Webapplikationen (MD5)

Pass­wör­ter gehö­ren nicht in die Hän­de von Drit­ten, auch nicht in die von Admi­nis­tra­to­ren. Daher wur­den für die Spei­che­rung von Pass­wör­tern soge­nann­te Fall­tür­me­cha­nis­men (trap­door mecha­nisms) entwickelt:

Es ist zwar mög­lich, ein Pass­wort zu ver­schlüs­seln, nicht jedoch es wie­der zu entschlüsseln.

Der Ver­schlüs­se­lungs­al­go­rith­mus funk­tio­niert also genau wie eine Fall­tür nur in eine Rich­tung. Das mag auf den ers­ten Blick sinn­los erschei­nen, ist aber eigent­lich sehr pfif­fig. Neh­men wir als Bei­spiel den weit ver­brei­te­ten MD5-Algo­rith­mus. Mit die­sem sichert fast jede Web­an­wen­dung in PHP ihre Pass­wör­ter ab. Dabei wird aus

123456=> MD5-Ver­schlüs­se­ler => e10adc3949ba59abbe56e057f20f883e

Die­se lan­ge Zei­chen­ket­te sieht der Admin. Er weiß aber des­we­gen das Pass­wort im Klar­text noch nicht, da der Weg

e10adc3949ba59abbe56e057f20f883e => MD5-Ent­schlüs­se­ler (Gibt es nicht) => Passwort

prin­zip­be­dingt ver­sperrt ist. Die dabei ent­ste­hen­de, lan­ge Zei­chen­ket­te wird „Hash“ genannt.

Wenn man sich nun an einer Web­an­wen­dung (Mood­le, Joom­la, egroup­ware …) anmel­det, macht die Web­an­wen­dung folgendes: 

Benut­zer gibt Pass­wort im Klar­text ein => MD5-Ver­schlüss­ler => Hash1

Die­ser Hash1 wird nun mit dem Hash – nen­nen wir ihn Hash2 – ver­gli­chen, der in der Daten­bank für den User gespei­chert ist (er könn­te etwa bei der Regis­trie­rung erzeugt wor­den sein).

Stim­men bei­den Hash­es über­ein, hat der User das kor­rek­te Pass­wort ein­ge­ge­ben, weil der Ver­schlüs­se­lungs­me­cha­nis­mus ja immer gleich ist. Stim­men die Hash­es nicht über­ein, muss der Benut­zer ein fal­sches Pass­wort ein­ge­ge­ben haben.

Soweit so gut. Das ist auch die Erklä­rung dafür, dass einen – so man sein Pass­wort ver­ges­sen hat – stets ein neu­es Pass­wort zuge­wie­sen wird, denn der Admin kann das alte Pass­wort ja nicht wis­sen, son­dern ledig­lich ein neu­es setzen.

Eigent­lich hört sich das Gan­ze recht sicher an – ist es bloß nicht, denn es gibt Angrif­fe gegen die­ses Ver­fah­ren, die aber alle­samt vor­aus­set­zen, dass der Angrei­fer an den Hash kommt.

Wei­ter­le­sen

Evaluationssystem: Vereinfachung der Usability

Alle Umfra­ge­teil­neh­mer erhal­ten von uns einen zufäl­li­gen Benut­zer­na­men und ein zufäl­li­ges Pass­wort. Es wäre ja sehr hübsch, wenn man gleich nach dem Anmel­den direkt zu Umfra­ge gelang­te. Das gelingt durch einen klei­nen Trick:

Zunächst wird eine ein­fach zu mer­ken­de Sub­do­main ange­legt, etwa

http://umfrage.schuldomain.tld

Unter­halb die­ser Sub­do­main spielt man eine Datei „index.html“ mit fol­gen­dem Inhalt ein:

<html>
<head>
<meta http-equiv=„refresh“ content=„0; URL=<link>“>
</head>
<body>
Kli­cken Sie <a href=“<link>“>here</a> wenn Sie nicht auto­ma­tisch zur Umfra­ge wei­ter­ge­lei­tet werden…
Click <a href=“<link>“>here</a> if you are not redi­rec­ted automatically…
</body>
</html>

Den Inhalt von <link> erhält man, wenn man im Kurs, in dem sich die Umfra­ge befin­det, mit der Maus auf den Link zur Umfra­ge geht und dort mit der rech­ten Maus­tas­te „Link-Adres­se kopie­ren“ wählt.

link_feedbackDanach befin­det sich der Link in der Zwi­schen­ab­la­ge und kann mit <STRG+V> in die Datei ein­ge­fügt werden.

Jetzt gibt der Benut­zer ein­fach unse­re Domain in sei­nen Brow­ser ein, mel­det sich mit den Zugangs­da­ten an und lan­det dann direkt in der Umfra­ge – vor­aus­ge­setzt es ist kein Kurs­schlüs­sel gesetzt.

Wenn man die­sen setzt – und das ist mehr als sinn­voll – muss man die­sen den Umfra­ge­teil­neh­men­den zusam­men mit der Zufalls-ID mitteilen.

Mit die­sem Ver­fah­ren gab es bei 150 Teil­neh­men­den nur in zwei Fäl­len Pro­ble­me beim Ein­log­gen (Tipp­feh­ler bei der Ein­ga­be der Zugangsdaten).

Evaluationssystem: Konfiguration des Feedbackmoduls

Eigent­lich wäre die Geschich­te kei­nen eige­nen Blog­bei­trag wert gewe­sen. Ich emp­feh­le aus eini­gen recht­li­chen Grün­den fol­gen­de Ein­stel­lun­gen für das Feedbackmodul:

Anonym aus­fül­len => anonym

Die zuvor müh­sam gene­rier­ten Zufalls-IDs sind schon anonym. Den­noch bleibt eine Gefahr erhal­ten, die man im Daten­schutz als Ver­ket­tung bezeich­net. Es ist schlicht nicht not­wen­dig eine bestimm­te Zufalls-ID mit einer bestimm­ten Daten­rei­he zu ver­ket­ten, d.h. z.B. genau zu wis­sen, wie „xzf56ez“ jetzt das Feed­back beant­wor­tet hat. Das wäre ein kla­rer Ver­stoß gegen das Gebot der Daten­spar­sam­keit. In die­sem Modus ver­ket­tet das Feed­back­mo­dul  stets den Anwen­der „anony­mer Benut­zer“ mit der Datenreihe.

Beach­ten Sie:

Der Erfolg und die Qua­li­tät Ihrer Umfra­g­er­geb­nis­se hän­gen mas­siv vom vor­her trans­pa­rent dar­ge­stell­ten und ver­mit­tel­ten Grad der Anony­mi­sie­rung ab. Die­se simp­le Ein­stel­lung bie­tet in der Hin­sicht viel mehr Sicher­heit für den Teilnehmenden.

Wei­ter­le­sen

Evaluationssystem: Kopplung des LDAP mit Moodle

Vor­aus­ge­setzt wird, dass Mood­le auf dem glei­chen Ser­ver wir der ein­ge­rich­te­te und mit Daten befüll­te slapd läuft. Sche­ma­tisch ist die­se Anlei­tung ganz all­ge­mein ver­wend­bar, um Mood­le ein einen openLDAP-Ser­ver zu kop­peln. Die „Bul­ku­pload­leu­te“ brau­chen die­se Anlei­tung nicht…

Zunächst ein­mal müs­sen wir sicher­stel­len, dass die Authen­ti­fi­zierng über openLDAP über­haupt in Mood­le akti­viert ist. Dazu kli­cken Sie im Administrationsmenu

Web­site-Admi­nis­tra­ti­on => Nutzer/innen => Authen­ti­fi­zie­rung => Übersicht

auf das geschlos­se­ne Auge bei „LDAP-Ser­ver“, so es denn noch geschlos­sen ist. Durch das Akti­vie­ren der LDAP-Aurhen­ti­fi­zie­rung blei­ben übri­gens alle übri­gen Authen­ti­fi­zie­rungs­me­tho­den funk­ti­ons­fä­hig. Jetzt erscheint im Menu

Web­site-Admi­nis­tra­ti­on => Authentifizierung

ein neu­er Ein­trag mit dem Namen „LDAP-Ser­ver“, den es anzu­kli­cken gilt. Es folgt eine umfang­rei­che Kon­fi­gu­ra­ti­ons­sei­te. Ich hang­le mich mich jetzt nur durch die Fel­der hin­durch, die geän­dert oder mit Daten befüllt wer­den müs­sen. Alle ande­ren Fel­der blei­ben jung­fräu­lich. Es wer­den fol­gen­de Anga­ben aus dem vor­he­ri­gen Schritt benötigt:

  • Wert der Varia­blen $orga­ni­sa­ti­on (eva­lua­ti­on)
  • Wert der Varia­blen $domain (schul­do­main)
  • Wert der Varia­blen $tld (tld)

Ich nen­ne zunächst das Kon­fi­gu­ra­ti­ons­feld gefolgt von einem Pfeil (=>), hin­ter dem der ein­zu­tra­gen­de Inhalt steht.

Wei­ter­le­sen

1 19 20 21 22 23 24