lighttpd und PositiveSSL-Certs

Ich habe gera­de die lite-Ver­si­on der auf http://www.psw.net feil­ge­bo­te­nen SSL-Certs aus­pro­biert. Es gibt kei­ne direk­te Anlei­tung für die Instal­la­ti­on des Zer­ti­fi­ka­tes inner­halb von lighttpd (ligh­ty) und die in der Bestä­ti­gungs­mail ange­ge­be­nen Links sind mei­ner Erfah­rung nach bes­ten­falls irreführend.

Der Bestell­pro­zess

Zunächst ist ein Ser­ver­key für die Domain www.domain.tld mit OpenS­SL zu erstel­len. Im wah­ren Leben ist natür­lich der Aus­druck „www_domain_tld“ durch eine eige­ne, rea­le Domain zu erset­zen. Das geht auf der Kom­man­do­zei­le z.B. durch Ein­ga­be von:

opens­sl req ‑new ‑nodes ‑key­out www_domain_tld.key ‑out www_domain_tld.csr

Dabei wer­den eini­ge Infor­ma­tio­nen abge­fragt, die man mit sinn­vol­len Daten füt­tern soll­te. Immens wich­tig ist die Eingabe

Com­mon Name (eg, YOUR name) []: www.domain.tld

Nur dann schützt spä­ter das aus­ge­stell­te Zer­ti­fi­kat die Domains http://domain.tld und http://www.domain.tld (das ist bei der ver­wen­de­ten CA Posi­ti­ve­SSL auto­ma­tisch so).

Für den Bestell­pro­zess wird der Inhalt der Datei www_domain_tld.csr benö­tigt. Für die Instal­la­ti­on des Zer­ti­fi­ka­tes brau­chen wir spä­ter noch die Datei www_domain_tld.key.

Wei­ter­le­sen

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 opens­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 Has­h­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 Has­h­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

1 18 19 20 21 22 23