LimeSurvey, Yii Framework und der httpd
Durch die vor wenigen Tagen oder Wochen freigegebene Version 2.00 von dem Umfrage-Tool LimeSurvey bin ich mit dem Yii Framework in Kontakt gekommen – die neue Version baut auf diesem auf. Dadurch, dass ich auf meinem alten Ubuntu Hardy 8.04 meinen Apache selber compiled habe und das Rewriting des sogenannten “urlManagers” nicht mehr funktionieren wollte, bin ich erstmals auf ein neues Feature des Apache 2.2 namens “Perl Compatible Regular Expression Library” (PCRE) aufmerksam geworden. Folgender Rewrite-Fehler tauchte nach Aktivieren des Debugmodus auf:
The URL pattern “<_sid:\d+>/lang-<_lang:\w+>/tk-<_token:\w+>” for route “survey/index/sid/<_sid>/lang/<_lang>/token/<_token>” is not a valid
regular expression.
Diese PCRE-Unterstützung, bisher nicht benötigt, fehlte bei mir. Sie kann bei dem Apache 2.2 über das Configure-Flag “–with-pcre” aktiviert werden, was zur Folge hat, dass von dem Apache mitgelieferte Libraries für die Übersetzung genutzt werden. Bei mir führte es aber erst zum Erfolg, nachdem ich das Ubuntu-Paket “libpcre3-dev” installiert und daraufhin mit dem Configure-Flag “–with-pcre=/usr” compiliert hatte. Hierbei werden die zuvor installierten System-Libraries genutzt.
Wer seinen Apache komplett Ubuntu-Like übersetzen möchte, findet unter https://help.ubuntu.com/community/UpgradeApacheHTTPServer eine perfekte Anleitung.
Wuala und eCryptfs: Doppelt hält besser
Worum es geht
»Wuala« (gesprochen »Voilà«), ein Kollege hatte mich bekehrt, mir hier einen Account zu holen und ich muss sagen, dass ich doch recht begeistert bin von dem Service. »Wuala« ist quasi eine Online-Festplatte, ähnlich wie »Dropbox«. Der Unterschied liegt aber in der Art, wie auf die Daten zugegriffen wird. Bei der »Dropbox« wird auf der Festplatte ein Ordner angelegt. Alles was dort rein kopiert wird, wird automatisch auf einen zentralen Server kopiert und zwischen diesen beiden Orten synchronisiert. Ich habe den Dienst damals hauptsächlich genutzt, um Dateien mit meinem Android-Smartphone auszutauschen. Mittlerweile hat »Wuala« diese Aufgabe übernommen. Anders als bei »Dropbox« wird hier direkt auf die Online-Festplatte zugegriffen. Gut es gibt für den schnelleren Zugriff auf diese Daten einen in der Größe einstellbaren Caching-Bereich auf der lokalen Festplatte, im Prinzip aber werden die Daten direkt online gespeichert. Laut FAQ verschlüsselt »Wuala«die Daten bereits im Client und lädt die Datei dann, gestückelt in Fragmente, an unterschiedliche Orte hoch. 1GB bekommt hier jeder zu Anfang, wer meinen Promocode nutzt startet mit 2GB. Im Internet sind weitere Codes erhältlich, mit denen man sein Kontingent nach der Anmeldung noch weiter erweitern kann (einfach mal googlen). Gibt man noch einen Bereich seiner Festplatte für andere Nutzer frei und hält den eigenen PC mind. 4 Std. am Tag online, so bekommt man anteilig noch weiteren Speicherplatz zugeordnet. Eine schöne Idee wie ich finde.
Jetzt aber zu dem eigentlichen Vorhaben. Was die Verschlüsselung der Daten angeht, so muss man dem vertrauen, was die Macher von »Wuala« auf ihrer Seite versprechen. Die Software ist leider Closed-Source. Und genau hier liegt das Vertrauensproblem. Annähernd private oder sogar vertrauliche Daten würde ich hier nicht ablegen. Jetzt ist der Speicherplatz aber nach einiger Zeit so weit gewachsen, dass man ihn durchaus auch für das Backup von Daten nutzen könnte. Also einfach noch eine eigene Verschlüsselungsebene implementieren hab ich mir gedacht. Hier gibt es sicher viele Möglichkeiten, wenn es aber noch einigermaßen performant sein soll, fällt z.B. »TrueCrypt« raus. Es muss irgendetwas her, was auf Dateibasis verschlüsselt. Unter »Ubuntu Linux« ist hier »eCryptfs« zum Standard geworden, um z.B. das Home-Verzeichnis zu verschlüsseln. Ich hab es genutzt, um einen Bereich in meinem Home-Verzeichnis zu verschlüsseln, und die verschlüsselten Daten dann auf »Wuala« zu synchronisieren. Hierbei direkt auf dem »WualaDrive« zu arbeiten hat leider nicht funktioniert. Trotzdem ist es eine, wie ich finde, recht schöne Lösung.
Installation und Initialisierung von eCryptfs
Als erste schaffen wir die Grundvoraussetzungen. Unter »Ubuntu Linux« wird »eCryptfs« wie folgt installiert.
sudo apt-get install ecryptfs-utils keyutils
Wer nicht vor hat, »OpenSSL« und zusätzlich zu der Passphrase einen Key für die Verschlüsselung zu benutzen, kann die »keyutils« auch weglassen. In diesem einfachen Beispiel wird das Paket nicht benötigt.
Im Home-Verzeichnis werden nun die beiden für »eCryptfs« benötigten Verzeichnisse eingerichtet.
mkdir ~/.WualaDrive-Secret
mkdir ~/WualaDrive-Secret
Im ersteren Verzeichnis liegen später die verschlüsselten Daten, letzteres bietet Zugriff auf die selbigen. Wer »eCryptfs« bereits genutzt hat wird sich an dieser Stelle fragen, warum 2 verschiedene Verzeichnisse genutzt werden. Die Antwort ist einfach: Wir wollen sicher gehen, dass »Wuala« nicht versehentlich die unverschlüsselten Daten synchronisiert.
Nun wird die Verschlüsselung eingerichtet:
sudo mount -t ecryptfs ~/.WualaDrive-Secret ~/WualaDrive-Secret
Nun wird die Passphrase vergeben, also quasi das Passwort, mit dem die Daten verschlüsselt werden. Hier solltet ihr euch z.B. einen Satz ausdenken und diesen z.B. mit Sonderzeichen und Zahlen verfeinern. Wichtig aber ist, dass diese Passphrase bei jedem mounten des verschlüsselten Bereichs eingegeben werden muss. Die Komplexität sollte also in Abhängigkeit von der Wichtigkeit der Daten bestimmt werden.
Passphrase: [HIER DEINE PASSPHRASE EINGEBEN]
An dieser Stelle wird der Verschlüsselungsalgorithmus ausgewählt, »AES« ist hier eine gute Wahl.
Select cipher:
1) aes: blocksize = 16; min keysize = 16; max keysize = 32 (not loaded)
2) blowfish: blocksize = 16; min keysize = 16; max keysize = 56 (not loaded)
3) des3_ede: blocksize = 8; min keysize = 24; max keysize = 24 (not loaded)
4) cast6: blocksize = 16; min keysize = 16; max keysize = 32 (not loaded)
5) cast5: blocksize = 8; min keysize = 5; max keysize = 16 (not loaded)
Selection [aes]: [ENTER FUER AES]
Ebenfalls in Abhängigkeit von der Wichtigkeit der Daten wird hier die Keysize bestimmt. Wer hier glaub mehr ist mehr, findet in diesem Dokument möglicherweise eine wichtige Entscheidungshilfe (danke an j-zero an dieser Stelle). Wir wählen hier also 16 Bytes, sprich eine 128bit AES-Verschlüsselung.
Select key bytes:
1) 16
2) 32
3) 24
Selection [16]: [ENTER FUER 16 BYTES, SPRICH 128bit KEYSIZE]
Folgendes hab ich auch nicht verstanden, glaube aber es handelt sich hierbei um eine Textdatei, in der wir unsere Passphrases übergeben können. Unsicher, wollen wir nicht, also »n«.
Enable plaintext passthrough (y/n) [n]:
Sollen die Dateinamen ebenfalls mit verschlüsselt werden? Aber »ja«.
Enable filename encryption (y/n) [n]: y
Nun werden uns die Optionen angezeigt, mit denen das Verzeichnis gemountet wird. Die Signaturen bitte merken und ebenfalls die Optionen, solltet ihr hier von meinem Beispiel abgewichen sein.
Filename Encryption Key (FNEK) Signature [xxxxxxxxxxxxxxxx]:
Attempting to mount with the following options:
ecryptfs_unlink_sigs
ecryptfs_fnek_sig=xxxxxxxxxxxxxxxx
ecryptfs_key_bytes=16
ecryptfs_cipher=aes
ecryptfs_sig=xxxxxxxxxxxxxxxx
WARNING: Based on the contents of [/root/.ecryptfs/sig-cache.txt],
it looks like you have never mounted with this key
before. This could mean that you have typed your
passphrase wrong.
Bei dem ersten Mount bekommt ihr hier diese Warnung. Dies ist völlig normal, da die Verschlüsselung vorher ja noch nicht aktiv war. Wir wollen also mit den oben genannten Optionen weitermachen.
Would you like to proceed with the mount (yes/no)? : yes
Fertig, die Ausgabe von »mount« sollte nun folgendes mit ausgeben.
1 | /home/carsten/.WualaDrive-Secret on /home/carsten/WualaDrive-Secret type ecryptfs (rw,ecryptfs_unlink_sigs,ecryptfs_fnek_sig=xxxxxxxxxxxxxxxx,ecryptfs_key_bytes=16,ecryptfs_cipher=aes,ecryptfs_sig=xxxxxxxxxxxxxxxx) |
Nach dem Anlegen von ein paar Testdateien unter ~/WualaDrive-Secret/ sollten sich die Verzeichnisse wie folgt präsentieren.
1 2 3 4 5 6 7 8 9 10 | carsten@xxx:~$ ls -l ~/WualaDrive-Secret/ insgesamt 28 -rw-r--r-- 1 carsten carsten 6 2011-07-08 17:33 testfile -rw-r--r-- 1 carsten carsten 6 2011-07-08 17:33 testfile2 drwxr-xr-x 2 carsten carsten 4096 2011-07-08 15:37 Testordner carsten@xxx:~$ ls -l ~/.WualaDrive-Secret/ insgesamt 28 -rw-r--r-- 1 carsten carsten 12288 2011-07-08 17:33 ECRYPTFS_FNEK_ENCRYPTED.FWbmiAlYzvJyskQkuJUZkV15lSRsu7swDyIL688aLDz-dlrGXGvLPNgJ3--- drwxr-xr-x 2 carsten carsten 4096 2011-07-08 15:37 ECRYPTFS_FNEK_ENCRYPTED.FWbmiAlYzvJyskQkuJUZkV15lSRsu7swDyILk2J0P1ZsuTKSsQ0lEgmeZ--- -rw-r--r-- 1 carsten carsten 12288 2011-07-08 17:33 ECRYPTFS_FNEK_ENCRYPTED.FWbmiAlYzvJyskQkuJUZkV15lSRsu7swDyILOqQoPfJs-x.rUDX6uU7EsE-- |
Synchronisierung mit Wuala
Die Synchronisierung ist unter »Wuala« recht schnell eingerichtet. Wie wollen hier natürlich nur den verschlüsselten Ordner hochladen.
- Wuala öffnen
- Im Menü “Ansicht” den Punkt “Sync Überblick” auswählen oder einfach STRG+F9 drücken
- Rechts auf das grüne “+” (Neuen Sync-Ordner anlegen)
- “Lokaler Ordner” ist der versteckte Ordner (bei mir /home/carsten/.WualaDrive-Secret) . Unter Gnome mit STRG+H ggf. die Anzeige von versteckten Dateien aktivieren
- “Ordner in Wuala” wird automatisch generiert und kann so übernommen werden
Fertig, die Synchronisierung kann nun auf jeden beliebigen weiteren Linux-Rechner, auf dem »Wuala« im Einsatz ist, übernommen werden.
Mounten und unmounten von eCryptfs
Das Mounten kann im Grunde wieder jedesmal genauso durchgeführt werden, wie auch das Einrichten weiter oben beschrieben wurde. Um sich aber nicht jedesmal durch die vielen Abfragen kämpfen zu müssen, können diese Optionen bei dem Mount mit übergeben werden. Ihr erinnert euch und habt eure Optionen vorhin doch sicher notiert?
Wenn ihr meine Optionen übernommen habt, müsst ihr nur die Signatur austauschen.
1 | sudo mount -t ecryptfs -o ecryptfs_unlink_sigs,ecryptfs_fnek_sig=xxxxxxxxxxxxxxxx,ecryptfs_key_bytes=16,ecryptfs_cipher=aes,ecryptfs_sig=xxxxxxxxxxxxxxxx,ecryptfs_passthrough=n ~/.WualaDrive-Secret ~/WualaDrive-Secret |
Um das Ganze etwas zu beschleunigen habe ich mir für das Mounten/unmounten folgendes Script angelegt.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #!/bin/bash ################################### # mountSecret.sh (schmidt24.org) ################################### case "$1" in stop|umount) sudo umount ~/WualaDrive-Secret ;; *) if mount|grep WualaDrive-Secret; then echo "already mounted!" exit else sudo mount -t ecryptfs -o ecryptfs_unlink_sigs,ecryptfs_fnek_sig=xxxxxxxxxxxxxxxx,ecryptfs_key_bytes=16,ecryptfs_cipher=aes,ecryptfs_sig=xxxxxxxxxxxxxxxx,ecryptfs_passthrough=n ~/.WualaDrive-Secret ~/WualaDrive-Secret fi esac |
Der Aufruf »mountSecret.sh« hängt das verschlüsselte Laufwerk ein, fragt ggf. zuerst nach dem Sudo-Passwort und hinterher nach der Passphrase. Um das Laufwerk hinterher wieder auszuhängen reicht der Aufruf »mountSecret.sh stop« oder »mountSecret.sh unmount«.
Nun wünsche ich viel Spaß mit »Wuala«. Wenn ihr noch keinen Account habt und euch anmelden wollt, nutzt, wie oben schon erwähnt, meinen Promocode. Ihr startet automatisch mit 2GB anstatt 1GB.
Loud louder loudest, the lose of quality
Mich nervt es eigentlich schon seit langem, doch in letzter Zeit kommt es immer häufiger vor, dass meine iPod/Radio-Kombination im Auto mit aktueller Musik nicht mehr klar kommt. Viele Tracks sind dermaßen übersteuert, dass ein Hören nicht mehr möglich macht. Die Anlage zu Hause kommt mit dem Pegel klar, daher habe ich es lange ignoriert, im Auto höre ich zumeist sowieso nur Radio.
Jetzt aber bin ich aber zufällig auf diesen sehr interessanten Artikel gestoßen. Er bestätigt meine Beobachtung und zeigt in einem YouTUBE-Video noch eindrucksvoll, was wir als Konsument hier eigentlich für einen Müll vorgesetzt bekommen. In dem Artikel ist eigentlich schon alles gesagt, so dass ich hier nicht weiter drauf eingehen möchte.
Wer trotz allem noch im Besitz übersteuerter Musik ist, findet in »MP3Gain« möglicherweise einen neuen Freund und glaubt mir, Ihr seid es. Mit »MP3Gain« können einzelne Tracks oder ganze Ordner per Knopfdruck auf z.B. 89,0dB normalisiert werden. Unglaublich, dass die meisten Tracks an die 100db herankommen (siehe Screenshot).
»AACGAIN« stellt ein Kommandozeilentool zur Verfügung um AAC-Dateien zu bearbeiten, »iGain« soll das Ganze in »iTunes« integrieren, wobei ich nicht weiß, ob das mit der aktuellen iTunes-Version noch immer funktioniert. Letztere beide Tools wurden von mir noch nicht getestet, Feedback hierzu ist wie immer natürlich gerne erwünscht
Windows Server 2008 und die winload.exe [Update]
Vorsicht ist geboten, wenn versucht wird die Boot-Partition eines »Windows Server 2008« größer zu ziehen. Als ich heute auf einer frisch eingerichteten VM die Festplatte von 30 auf 80GB vergrößert hatte und die Partition mit dem »Acronis Disk Director 10« angepasst hatte, meldet sich der »Windows-Start-Manager« mit der Fehlermeldung:
Datei: \Windows\system32\winload.exe
Status: 0xc000025
Info: Der ausgewählte Eintrag konnte nicht geladen werden, da die Anwendung fehlt oder beschädigt ist.
Problem ist hierbei möglicherweise eine Signatur, die durch den Fremdeingriff zerstört wird. Ganz klar ist mir der technische Hintergrund hierbei aber noch nicht – weitere Informationen sind an dieser Stelle erwünscht, sollte sie jemand liefern können. Über die Windows-CD lässt sich dieses Problem glücklicherweise aber über die »Eingabeaufforderung« der »Computerreparaturoption« folgendemaßen beheben:
1 2 3 | bcdedit /set {bootmgr} device boot bcdedit /set {default} device boot bcdedit /set {default} osdevice boot |
Nachzulesen ist das Problem ebenfalls in Matthew Cosier’s Blog. Weitere Details hierzu sind in den folgenden Screenshots zu erkennen:
Update 2010-01-14: Der gleiche Fehler unter Windows 7
Heute ist mir meine Windows 7 Sandbox zu klein geworden. Eine Vergrößerung der Boot-Partition, ebenfalls mit »Acronis Disk Director 10«, brachte unter »Windows Seven« das gleiche Problem. Auch hier aber hilft ein kurzes Booten der Installations-CD und die »Computerreparaturoption«, um das Problem in den Griff zu bekommen. Anders als bei dem »Windows Server 2008« aber erkennt die Reparatur direkt, dass ein Problem besteht und fragt, ob es behoben werden soll. Man spart sich also die Tipparbeit
Ein Tipp von j-zero war die Nutzung von »GParted« für die Partitionsänderungen. Der nächste Versuch wird also mit Hilfer einer »Ubuntu Desktop CD« durchgeführt (hier ist »GParted« direkt aufrufbar). Sollte die kostenlose Software hier tatsächlich wieder einmal die Nase vorn haben?
Spamassassin und das neue Jahrzehnt
Pünktlich zum Jahresstart brachte uns der Spamassassin mit einem Jahr 2010-Bug Freude. Problem war die Regel »FH_DATE_PAST_20XX«, welche seit dem 1.1.2010 3,188 Extrapunkte pro Mail auf den Spamstatus aufgerechnet hat. Durch diese Extrapunkte wurden viele Mails als sogenannte »false positives« gekennzeichnet und sind, je nach Konfiguration des Mailservers, im Spamordner gelandet.
Per »sa-update« wurde (ich glaube noch am 1.1.2010 selbst) ein entsprechendes Update veröffentlicht, welches die falsche RegEx ersetzt:
Alt:
1 | Date =~ /20[1-9][0-9]/ |
Neu:
1 | Date =~ /20[2-9][0-9]/ |
Wer einmal genau guckt sieht, dass wir uns nach diesem tollen »Patch« am 1.1.2020 wieder sprechen, sollten wir zu diesem Zeitpunkt noch die gleiche Technologie nutzen. Im Bugreport aber war zu lesen, dass nun ja 1 Jahrzehnt Zeit ist, das Problem endgültig zu fixen, wir sind gespannt.
Heise ist am 1.1.2010 noch von einem GMX-Problem ausgegangen, hatte dies in einem späteren Update aber korrigiert. Im Forum wurde mit Recht darauf hingewiesen, dass das im Nachhinein schlecht gewählte Topic viele Spamassassin-Nutzer nur durch Zufall auf den Artikel hat aufmerksam werden lassen.
Weiteres Problem unter Ubuntu- und Debian-Systemen
Ich persönlich hatte auf 2 Ubuntu Hardy-Systemen noch das Problem, dass die mit »sa-update« aktualisieren Regeln nicht aktiviert wurden. Grund hierfür scheint gewesen zu sein, dass Ubuntu (und dies betrifft natürlich genauso auch Debian-Systeme) unter /usr/share/spamassassin noch die Regeln vom Auslieferungszustand liegen hat. Diese können gefahrlos entfernt werden, vorher natürlich ein Backup anlegen. »sa-update« legt seine neuen Dateien unter /var/lib/spamassassin/3.002004 ab. In der Datei
/var/lib/spamassassin/3.002004/updates_spamassassin_org/72_active.cf
kann auch kontrolliert werden, ob die oben genannte RegEx erfolgreich aktualisiert wurde.
Wer „sa-update“ bis jetzt noch gar nicht konfiguriert hatte findet unter http://saupdates.openprotect.com/ ein gutes Howto.
