Skip to content

Anonym im Netz

^ v M ><
Neulich führte ich über ICQ (ja, Jabber wär mir lieber gewesen - grad auch im Kontext dieses Artikels :-) ) eine Diskussion über die Möglichkeiten der Anonymisierung seiner Datenspuren im Netz. Ich habe mir folglich ein paar Gedanken dazu gemacht, welche ich hier vorstellen möchte.

Natürlich ist im Zeitalter von staatlicher Terrorparanoia, Vorratsdatenspeicherung und verhaltensbasiertem Marketing kaum noch Anonymität möglich. Allerdings lassen sich die einige Massnahmen anwenden, um sich weniger bekannt zu machen. Dabei gelten quasi die gleichen Grundsätze wie beim Verstecken im Wald. Spuren vermeiden, Spuren verschleiern, falsche Fährten legen und Ruhe bewahren. Einige der dafür möglichen Massnahmen sind technischer Natur, andere psychologischer. Nicht alle meiner Ideen sind wirklich sinnvoll oder überhaupt realisierbar, ich versuche einfach eine möglichst umfassende Sammlung zu erstellen.

Technische Massnahmen


Spuren verschleiern


Passende Software auswählen:Hier gibt es zwei Strategien. Entweder man nutzt die häufigst benutzte Software (also Windows XP mit Internet Explorer, was praktisch alle anderen Massnahmen wohl grad zunichte macht) und versucht in der Masse unterzugehen, oder man nutzt Software, die standardmässig gute Privatsphären-Einstellungen bietet.

Software passend konfigurieren: Grad für den Firefox gibt es viele gute Addons, welche die Privatsphäre verbessern. Da wären u.a. Adblock Plus, Flashblock, Customize Google und Stealther zu zählen. Ausserdem sollten Cookies deaktiviert (oder besser: Nur für die aktuelle Session gespeichert) werden. Den Festplattencache sollte man bei einer DSL-Leitung auch abschalten oder in eine RAM-Disk verschieben.

TOR nutzen? TOR leitet IP-Pakete über zahlreiche Rechner um, wodurch die Herkunft verschleiert werden kann. Mit dem Firefox-Paket DeerPark bekommt man eine simpel zu nutzende TOR-Installation mitsamt Browser. Das Problem ist nur, dass praktisch alle TOR-Exit-Nodes von Geheimdiensten und Hackern betrieben werden. Ergo sollten keinesfalls Passwörter oder finanzielle Daten darüber gesendet werden. Meine Empfehlung ist also ganz klar besser die Finger von TOR zu lassen.

Anonymisierenden Proxy verwenden: Die etwas sicherere Variante zu TOR, jedoch muss man auch hier dem Betreiber des Proxys vertrauen, dass er weder protokolliert noch mitsnifft.

Fallstrick DNS: DNS-Anfragen geben natürlich Aufschluss darüber, welche Seiten man ansurft. Man sollte daher einen DNS-Server verwenden, der nichts protokolliert. Dieses Problem ist kaum auf triviale Weise zu lösen. Ideal ist's wohl, wenn man einen eigenen DNS-Cache nutzt, um wenigstens die Anfragen zu reduzieren, viel bringt das aber auch nicht.

IP-Adresse häufig ändern: Dies schlägt zwei Fliegen mit einer Klappe. Einerseits wird die Vorratsdatenspeicherung damit etwas strapaziert (obwohl... viel Platz braucht das im Logfile auch nicht...), andererseits wird man schwieriger verfolgbar. Allerdings ist das mit zwei Einschränkungen versehen. Erstens hat ein Provider nur eine bestimmten IP-Bereich zur Verfügung. Zweitens werden viele Sessions durch den Wechsel der IP gekappt. Hier gilt es also, einen guten Zwischenweg zu finden. Mein DSL-Router sollte trotzdem die IP so selten wie möglich wechseln, da ich zuhause einen Server betreibe, auf den ich gelegentlich auch aus dem Internet zugreifen möchte.

Spuren vermeiden


Werbeblocker nutzen: Durch die Nutzung von Werbeblockern wird es für die Werbetreiber ziemlich schwierig ein Profil aufzubauen. Man existiert für sie nämlich schlicht nicht. Des weiteren spart man ordentlich Bandbreite, da nicht mehr tausende Werbebanner geladen werden müssen. Und die Augen werden geschont, da die Webseiten nicht mehr blinken wie Las Vegas in der Nacht. Ganz wichtig ist es insbesondere, dass Flash-Filme blockiert werden, da diese Flash-Cookies ablegen können, die nicht durch bisherige Browser-Automatismen gelöscht werden.

Hosts-Datei anpassen: Zusätzlich zum Werbeblocker kann man die hosts-Datei modifiziert werden, einen guten hosts-Datei-Generator gibt's hier. Damit kann man auch ganz prima Google Analytics blocken lassen.

Google nicht nutzen! Auf jeden Fall Hände Weg von Chrome, Gmail, Picasa Webalbum, Google Docs etc pp. Neben der Google-Suche auch mal Yahoo oder Ask nutzen (nein, MSN empfehle ich aus Prinzip nicht!)

Kein Microsoft Office und keine .doc-Dateien verwenden: Microsoft Office hat die schlechte Angewohnheit, bei der Erstellung einer Datei sämtliche Daten in Word-Dateien mitzuspeichern. Nimmt man eine Änderung an einer Word-Datei vor, kann diese später nachvollzogen werden, indem man diese Datei einfach in einem Texteditor öffnet. Ich weiss nicht, ob das bei Office 2007 und .docx-Dateien noch der Fall ist, aber OpenOffice ist hier definitiv die bessere Variante. Office-Dateien sollten allerdings sowieso nie verschickt oder ins Internet gestellt werden, dafür gibt es PDF!

Verschlüsselung nutzen: Wenn möglich sollten Daten nur verschlüsselt genutzt werden.

Lügen wie gedruckt: Nicht nur Papier ist geduldig, nein, das Internet ist es auch. Mit der Wahrheit sollte man es folglich nicht so genau nehmen.

Do It Yourself! Statt einem Freemailer, der protokollieren muss, sollte man einen eigenen Mailserver aufsetzen, womit man der Vorratsdatenspeicherung entgeht. Ebenso sollte man anstelle von Skype, ICQ oder MSN auf Jabber umsteigen, natürlich ebenfalls mit eigenem Server. Idealerweise steht dieser Server dann im weit entfernten Ausland. Einziges Problem dabei: Man sollte ein Minimum an Ahnung von der Materie haben. Einen Server im Internet sollte man nur betreiben, wenn man wirklich weiss, was man tut.

Falsche Spuren generieren


Offenes WLAN anbieten: Die Idee ist simpel. Man lässt den Access Point unverschlüsselt, schon können Fremde etwas das eigene Internetprofil verfälschen. Grosses Problem dabei ist natürlich, wenn diese unbekannten Dritten illegale Dinge über den Anschluss laufen lassen. Dann riskiert man Ärger mit dem Gesetz.

TOR Exitnode anbieten: Dies ist genau dasselbe Prinzip wie das offene WLAN. Auch hier riskiert man, dass die Polizei den eigenen Rechner abholt.

TOR Durchgangsknoten anbieten: Das ist nett und nützt dem TOR-Netzwerk mehr als gar nichts zu tun, bringt aber leider keinen Gewinn für die eigene Anonymität. Wenigstens muss man auch keine Repressalien des Staates befürchten.

YaCy installieren: YaCy ist eine verteilte Internet-Suchmaschine. Das ist vermutlich die beste Lösung. YaCy verursacht permanent etwas Traffic, indem es Webseiten crawlt. Allerdings sind auch hier ein paar Einschränkungen zu beachten. Werden Remote-Crawls anderer YaCy-Betreiber akzeptiert, riskiert man ebenfalls wieder illegale Inhalte abzurufen und sich somit Ärger mit der Polizei einzuhandeln. Andererseits verfälscht man sein Profil nur mässig, wenn man nur eigene Crawls startet. Und drittens meldet sich YaCy bei anderen Webseiten immer als YaCy an, ergo kann diese leicht unterscheiden, ob nun die Anfrage von Mensch (Firefox/Opera/Safari/IE) oder Maschine kam.


Verhalten


Spuren verschleiern



Spuren vermeiden


Datensparsamkeit.

Sich nicht selbst googeln.

Nicht zu paranoid sein! Wer zu paranoid ist, schläft schlecht. Dadurch lässt die Aufmerksamkeit nach und man begeht datenschützerische Fehler. Also besser Ruhe bewahren und wachsam bleiben!

Namen ändern


Eine gute Methode und in der Masse unterzugehen ist ein Allerweltsname wie Hans Meier aus Zürich, den es dutzendmal gibt. Folglich sollte man in der Grossstadt wohnen und so einen Namen haben.

Falsche Spuren generieren


Dies ist wohl der zweitschwierigste Teil, da es einfacher als eine Änderung des Realnamens geht, aber mit viel Bedacht gemacht sein will. Durch gezieltes Streuen von Fehlinformationen könnte man eigene Identitäten erfinden und sich so schlechter Auffindbar machen. Beim Streuen der Daten sollte man jedoch seine Location (wie IP-Adresse) möglichst verschleiern.


Ultima Ratio für Hyperparanoiker


Meine ultimative Idee ist die Verwendung einer Prepaid-SIM-Karte für den Internetzugang über das Mobilfunknetz. Zwar müssen alle Prepaid-SIM-Karten registriert werden, allerdings gibt es Mittel und Wege, an bereits registrierte Karten heranzukommen. Allerdings warten noch viele weitere Stolperfallen. So muss man beim Nachladen des Guthabens immer mit Bargeld an anonymen Ladestationen bezahlen. SBB-Automaten könnten dafür eine Lösung sein, jedoch sind diese von Kameras überwacht. Des weiteren sind neben der SIM-Karte auch Handies mit einer Seriennummer versehen, welche bei Verwendung an die Basisstation gesendet wird. Man braucht folglich auch ein anonymisiertes Gerät. Des weiteren sind Handies prima Peilsender, welche die Position auf wenige Meter genau verraten, und dies wird natürlich vorratsgespeichert. Kommt noch dazu, dass dies eine extrem kostenintensive Methode ist. *plopp* Seifenblase geplatzt :-)

Fazit


Anonymität ist nicht möglich. Übermässige Paranoia nutzt aber auch nichts. Und je mehr Ahnung von IT man hat, desto mehr Anonymität kann man sich verschaffen. Also eigentlich gibt es überhaupt keine neuen Erkenntnisse :-)

Servergebastel, nächste Runde.

^ v M ><
Neben Ubuntu habe ich mich auch wieder mit Gentoo befasst, wenn auch eher zwangsweise. Mein Server hat kürzlich angefangen, beim Booten lustige Fehlermeldungen auszuspucken und sich geweigert, die verschlüsselten Partition zu entschlüsseln. Manuell liess es sich hingegen problemlos bewerkstelligen.

Die Gentoo-Installation war aber sowieso schon ein Bisschen in die Jahre gekommen und entsprechend mit vielen unnötigen Paketen zugekleistert. Gleichzeitig haben die Festplatten keinen freien Platz mehr geboten. Folglich war es also an der Zeit, wieder von vorne anzufangen. Und wenn man das schon macht, können ja grad noch ein paar Verbesserungen reingebracht werden.

Als erstes wurde die untertaktete Radeon9000 gegen eine uralte Mach64 ersetzt, was wohl den Stromverbrauch weiter senken dürfte.

Als zweites habe ich von drei auf zwei Platten reduziert und von leisen Platten mit 5400rpm auf 7200rpm-Scheiben umgestellt. Die sind wesentlich schneller und dennoch kaum lauter. Statt RAID-5 läuft jetzt alles als RAID-1, was auch die CPU freut. Der neue Array packt 80MB/s Übertragungsrate auch über längere Zeit. Sehr schön. Die Partitionierung wurde beibehalten, je eine LVM-Partition für /, /var und /home, auf RAID-1 sowie eigene Partitionen für den portage-Tree und /tmp bzw /var/tmp auf RAID-0.

Als drittes habe ich von "normalem" Gentoo auf Hardened Gentoo umgestellt. Da ich auch noch SELinux implementieren möchte, sind jetzt alle Partitionen bis auf die Portage-Partition mit ext3 statt reiserfs formatiert. Reiserfs unterstützt nicht alle Sicherheitslabel, die SELinux benötigt. Zuvor hatte ich übrigens noch Debian Lenny evaluiert, allerdings hatte ich da massive Probleme mit SELinux, so dass ich doch bei Gentoo geblieben bin.

Als viertes habe ich längst nicht mehr benötigte Dienste gar nicht mehr installiert. Samba braucht mein Microsoft-freies Netz ja nun mal gar nicht.

Gerne hätte ich als fünfte Verbesserung noch Virtualisierung genutzt, da jedoch die CPU noch keine Hardware-Virtualisierung bietet, wird das etwas knifflig: Für XEN-Dom0 gibt es nur alte Kernel. Selbiges gilt für UserModeLinux, welches wohl eh tot ist. In beiden Fällen müsste ich auf viele gute Verbesserungen der neueren Kernel verzichten. VMWare ist proprietär. Und Qemu lässt sich nicht mit einem gehärteten GCC kompilieren (ausser mit manuellem Gefrickel). Nun muss also vorerst alles nativ laufen und ich warte vorerst auf neuere Implementierungen von XEN, welches mir für meine Zwecke der beste Ansatz zu sein scheint.

Ubuntu 8.10

^ v M ><
Seit letztem Donnerstag gibt es Ubuntu 8.10, seitdem läuft es auch auf meinen Arbeitsrechnern. Im Gegensatz zu früheren Versionen verlief das Update auf drei Maschinen problemlos, was schon fast zu bedauern ist. Denn so komme ich nach wie vor nicht dazu, im Rahmen einer Neuinstallation auf eine 64bit-Installation umzustellen :-) Und grad da es so problemlos verlief, gibt es auch nicht viel dazu zu schreiben. Nur zwei, drei kleine Problemchen sind mir bislang aufgefallen:

  • Pidgin poppt Gesprächsfenster automatisch auf, obwohl er das gemäss Einstellungen nicht sollte. Eventuell muss ich also ~/.libpurple löschen und das Profil zurücksetzen, damit das wieder geht. Hab ich aber nicht gross Lust dazu, also muss ich damit leben.

  • VMWare Server funktioniert nach wie vor nicht mit Kernel 2.6.27. Dagegen hilft wohl nur auf die Gnade VMWare's zu warten (oder Patches aus mässig seriösen Quellen einzuspielen).

  • Meine Logitec-Billigst-Webcam funktionierte unter 8.04 noch in Briefmarkengrösse, unter 8.10 geht gar nichts. Ist mir aber egal.

  • Der Sound ist irgendwie basslastig geworden. Kann entweder an den alten Boxen liegen (wobei das ein extremer Zufall wäre, dass die grad beim Update defekt gehen), oder am Soundtreiber. Ich muss mal eine andere Soundquelle anhängen.

Auf neu funktionierenden Seite sind hingegen PulseAudio aufzuzählen, ebenso nvidia-settings, das nun endlich auch die config-Datei schreibt und nicht nur so tut.

Folglich ein ordentlicher Wurf, auch wenn mir unter Linux irgendwie der Pioniergeist früherer Jahre manchmal fehlt. Vermutlich muss ich doch auf FreeBSD umsteigen, damit mir nicht langweilig wird :-)

Standbykiller

^ v M ><
Der Tagesanzeiger berichtet über eine "Weltneuheit", den Standbykiller.

Lustig, eine einfache Variante davon habe ich schon seit Jahren im Einsatz:

Auch hier sind mit einem Klick (na gut... zwei Klicks) sämtliche Geräte vollständig ausgeschaltet. Es beinhaltet keine Funkübertragungsmechanismen, ist also auch gut für Strahlenparanoiker geeignet. Ebenso ist keine Stromversorgung z.B. über teure und nur bedingt umweltfreundlich produzierbare Solarzellen für eine autoarke Funktionsweise vonnöten. Dafür zeigt es die Betriebsbereitschaft der angeschlossenen Geräte über eine im Schalter integrierte Status-LED an. Natürlich könnte ich noch mein Verbrauchsmessgerät vorschalten (wer sich noch erinnert: Ja, ich hab mir unterdessen eins gekauft!), um mir den Verbrauch anzeigen zu lassen. Aber das würde ja wiederum auch Strom verbrauchen.

Kann ich mein Konzept trotzdem als Patent anmelden?

Zur Konfiguration: An der hinteren Schiene hängen PC, Monitore, Verstärker und Gigabit-Switch. Der PC geht automatisch an, sobald er mit Strom versorgt wird. Das spart das Bücken zum Einschaltknopf unter dem Schreibtisch. Dieses Verhalten lässt sich bei jedem hinreichend neuen Rechner im BIOS-Setup konfigurieren. An der vorderen Schiene hängen die Ladegeräte von Handy und Ogg-Player (da mehr Dateien im Ogg/Vorbis- als mp3-Format drauf sind, nenne ich das Ding lieber beim treffenderen Namen), Laptop und WLAN-Access Point.

Firefox 3 und selbstsignierte SSL-Zertifikate

^ v M ><
Vieles ist an Firefox 3 besser als an Firefox 2. Einiges ist anders und gewöhnungsbedürftig, aber deshalb nicht zwingend schlechter. Einiges ist aber eindeutig zur Katastrophe geworden. Mein Liebling hierbei ist der Umgang mit selbstsignierten SSL-Zertifikaten. Was da nun an Verrenkungen nötig ist, damit entsprechende Seiten (wie z.B. diese hier) wieder Erreichbar sind, ist unglaublich. Den dadurch entstehenden Sicherheitsgewinn erachte ich als minimal, die nötigen Arbeitsschritte für gelegentliche Internetuser hingegen für unüberwindbar. Daher eine kleine Anleitung in vier Bildern. Einfach immer dort klicken, wo der Pfeil hinzeigt:


Achtung! Fehler! Alarm! Problem! Na gut, machen wir mal eine Ausnahme.


Ja, Ausnahme hinzufügen.


Gut, nun das Zertifikat herunterladen.


Und nun speichern. Es ist natürlich auch sinnvoll, hier erst auf "Ansehen..." zu klicken und das Zertifikate nochmals zu überprüfen. Anschliessend wird die Seite geladen.

Wirklich kritische Dinge gibt es auf Planetknauer.net nicht. Da ich keine Bank bin, Eure Kreditkartendaten nicht abfrage etc pp. ist das Hinzufügen der Ausnahme wenig bedenklich. Bei e-Banking, Online-Shopping sowie sonstigen Dingen, bei denen es um Geld, personenbezogene, private oder Firmendaten geht, sollte man natürlich drauf achten, dass die Gegenseite ein gültiges Zertifikat einer offiziellen CA (Certificate Authority) verwendet. Dann erscheint auch diese Warnung nicht. Alles andere ist unseriös.

Wenn Server ausfallen...

^ v M ><
...fluchen die Admins.

Es ist blöd, wenn ein Server nach einem Wartungsneustart (Kernelupdate) nicht mehr hochfährt. Es ist noch blöder, wenn er schlicht seine Festplatte nicht mehr findet. Richtig blöd wird's aber, wenn er die Festplatte nicht mehr findet, weil der Festplattencontroller scheinbar einen Defekt hat. Aber das ganze lässt sich noch toppen, wenn der Controller ausfällt, weil die Halteklammer des Northbridgekühlers etwas gar popelig befestigt ist, sich löst und vermutlich irgendwas am darüber befestigten Controller kurzschliesst.



Nach Ausbau des Controllers ist mir auf jeden Fall diese gelöste Klammer ins Auge gesprungen. Und kurz nach Entfernung des Controllers löste sich tatsächlich auch der Kühler ab. Wenn da nicht der Controller genau über der Northbridge verbaut gewesen wäre, dann wär die Northbridge wohl durchgeschmort und der Server komplett futsch. Jetzt mal schauen, was der Lieferant meint...

(Und nein, das ist nicht der Planetknauer-Server :-) )

VMWare Server in Ubuntu

^ v M ><
Eher eine kleine Notiz an mich, aber vielleicht hilft's ja auch sonstwem.

Wenn das GUI von VMWare nicht startet sondern nur die Konsole mit Fehlermeldungen der Art
/usr/local/lib/vmware/bin/vmware: /usr/local/lib/vmware/lib/libgcc_s.so.1/libgcc
_s.so.1: version `GCC_3.4' not found (required by /usr/lib/libcairo.so.2)

vollrotzt, hilft es, die libgcc_s.so.1 von VMWare mit der von Ubuntu zu überschreiben. Ich installiere VMWare stets nach /usr/local, d.h. ich muss folgendes ausführen:
cp -f /lib/libgcc_s.so.1 /usr/local/lib/vmware/lib/libgcc_s.so.1/

Mars Attacks

^ v M ><
Wenn man zwei Server mit Samba betreibt, welche beide in zwei Netzen gleichzeitig sind (eth0: Hauptnetz, öffentliche IPs; eth1: Wartungsnetz, private IPs), so führt das gerne zu massig Einträgen im Syslog, wo "martian source" Pakete angeprangert werden:

Apr 24 05:26:32 xyz kernel: martian source xxx.xxx.xxx.255 from 10.0.0.xxx, on dev eth0


Ein tcpdump -i eth0 host 10.0.0.xxx hat mir gezeigt, dass der Auslöser netbios-Anfragen, also Namensauflösungen von Samba, waren. Vermutlich bekommt er da etwas Verwirrung, wenn ein Name auf zwei unterschiedliche IPs aufgelöst werden kann.

Meine Lösung: Da Samba bei uns im Wartungsnetz nicht gebraucht wird (dort läuft alles über NFS), hab ich halt Samba bei beiden Rechnern von eth1 gelöst. Seitdem tritt das Problem nun nicht mehr auf. Vielleicht würde sich das aber auch über eine fixe WINS-Konfiguration der Server lösen lassen.

Linux und UMTS/HSPA die Zweite

^ v M ><
Neulich hab ich ein Email eines Bloglesers erhalten, dass der von mir hier beschriebene Patch mit dem neuen Kernel 2.6.24 nicht mehr funktionieren würde. Jedoch hatte ich bislang noch keines meiner Systeme, welches das UMTS-Modem nutzt schon so weit aktualisiert, was ich nun an meinem Gentoo-Server nachgeholt habe.
Tatsächlich haben sich ein paar Änderungen am Kernelmodul ergeben, wie mit ein kurzes diff zwischen der usb-serial.c von 2.6.23 und 2.6.24 gezeigt hat. Jedoch sollten diese nicht gravierend sein. Nichtsdestotrotz hab ich den Patch mal genauer angeschaut. In der Folge habe ich ein paar Schönheitskorrekturen vorgenommen. Der Patch liess sich nun einwandfrei anwenden und funktioniert problemlos.

Der Leser bemerkte auch noch, dass der Patch nicht in den Kernel eingeflossen sei. Nun, dazu schrieb ich schon vor Urzeiten dem Autor des Patches. Seine Antwort war, dass der Patch zwar auf der LKML eingereicht wurde, aber nicht akzeptiert wurde, da es sich nur um einen schnellen Hack handeln würde und die Kernel-Entwickler das Problem lieber sauber lösen würden. Tja, das ist nun schon einige Kernel-Releases her, aber getan hat sich diesbezüglich leider noch überhaupt nichts. Es ist zwar schön, dass gemäss Kernel-Guru Greg Kroah-Hartman unterdessen extrem viele Geräte unterstützt werden. Aber auch schlampige Unterstützung ist Unterstützung. Nur ist der User deswegen aber noch nicht zufrieden.

Zur Vervollständigung hier noch zwei Files von mir:

Goodnews präsentiert...

^ v M ><
...Infektion mit trojanischen Pferden Backdoor-CVT und Exploit-QtRSVP. Oh ja gerne. Bitte vier Plätze in der ersten Reihe.



Als regelmässiger Konzertgänger ist mir Goodnews natürlich eher als Badnews bekannt. Wenn man nur mal nach der Steigerung der Ticketpreise von Goodnews-Anlässen in den letzten paar Jahren ausgeht, scheint die Schweiz ja eine Inflation zu haben wie sonst nur in Bananenrepubliken mit korrupter Nationalbank zu finden. Gleichzeitig glänzen sie mit Inkompetenz. Von dem her wundert's mich auch nicht, dass die sich doch tatsächlich eine Infektion auf dem Webserver holen und jetzt brav Viren schleudern.

Der Screenshot zeigt allerdings mal wieder: Niemals den Internet Explärrer verwenden. Ich predige das meinen Mitarbeitern nicht einfach so zum Spass. Wenigstens geht keiner mit Admin-Rechten ins Netz und der Virenscanner ist stehts aktuell.

Fehlermeldung

^ v M ><
Diese Fehlermeldung muss man sich einfach mal auf der Zunge zergehen lassen:



Die gibt's, wenn man unter Windows XP mit bestimmtem Patch-Stand den Treiber (bezogen von der Webseite des entsprechenden Notebook-Herstellers) für eine Realtek HD Audio Soundkarte installiert. Verursacht wird sie durch einen Windows-Patch, zu beheben ist sie entweder durch Einspielen eines weiteren Patches oder einer neuen Version des Treibers.

Allerdings ist die Meldung nur schon köstlich, da sie letztendlich aussagt: Wir haben Scheisse gebaut. Sorge dafür, dass Microsoft ihr Windows derart umkrempelt, dass unsere Scheisse wieder funktioniert. Na klar!

Apache Crash nach SysCP Update

^ v M ><
Nach einem Update von SysCP hat Apache folgende Meldung ausgespuckt:

(98)Address already in use: make_sock: could not bind to address xxx.xxx.xxx.xxx:80
no listening sockets available, shutting down
Unable to open logs
failed!


Meine Interpretation davon:
- Da horcht schon was auf xxx.xxx.xxx.xxx:80
- Apache kann seine Logfiles nicht vollmüllen.

Natürlich war nichts auf Port 80 und die Logfiles hat er trotzdem vollgemüllt.

Denn was Apache eigentlich sagen wollte:
- Mach keine redundanten Listen-Direktiven.
- Wenn du vhost-Container erstellst, schau gefälligst, dass auch alle zu nutzenden IP-Adressen im System verfügbar sind.

Grad ersteres dürfte dem einen oder anderen Updater von SysCP 1 auf SysCP 1.2 Probleme bereiten. Drum an dieser Stelle die Lösung: Einfach bei Debian Etch den Inhalt der Datei /etc/apache2/ports.conf auskommentieren. Sowas gehört eigentlich in die Update-Doku.

OK, kann natürlich sein, dass da schon eine Apache-Instanz auf 0.0.0.0:80 gestartet wurde, so dass dann der vhost xxx.xxx.xxx.xxx:80 nicht erstellt werden konnte. Natürlich wird ein netstat keine Belegung von Port 80 ausgeben, da ja die verschuldende Apache-Instanz nach Auftreten des Fehlers auch beendet wird. Von dem her ist die erste Fehlermeldung vielleicht nicht ganz falsch. Aber das mit den Logs werd ich wohl nie verstehen...

Linux-on-a-stick

^ v M ><
Um eine laute Festplatte zu eliminieren, habe ich mal den Versuch gewagt, Linux auf einem USB-Stick zu installieren. An sich erwies sich das als einfacher als befürchtet.

Die Hardware ist mein uralter VIA-C3 1Ghz mit 512MB RAM (abzüglich 16MB für die Grafikkarte), IDE-CD-Brenner und Laptop-Netzteil. Ehemals war da eine superlaute 60GB Platte drin, die vorherige Installation belegte etwas über 2GB also habe ich einen 4GB Stick gekauft. Dabei habe ich auf Performance geachtet, der Stick schafft gemäss Verpackung 25MB/s lesend und 18MB/s schreibend und ist Enhanced-Ready-Boost zertifiziert. Letzteres weist darauf hin, dass er zumindest minimale Performance-Anforderungen erfüllt.

Als Distribution habe ich Xubuntu gewählt, aus zwei Gründen: Erstens braucht es wenig Ressourcen, zweitens ist es blitzschnell installiert. Für eine blanke Xubuntu-Installation ohne weitere Extras würde auch ein 2GB-Stick reichen.

Das Vorgehen war recht einfach: Xubuntu starten, Stick partitionieren (wurde als /dev/sda erkannt und konnte wie eine SATA-Platte genutzt werden) und mit ext3 formatieren (der Installer bietet leider noch keine spezielle USB-Stick-Dateiformate), installieren, gut ist. Nicht vergessen, den Bootloader Grub in den Master-Boot-Record des Sticks zu schreiben
Na ja, nicht ganz. Beim Booten wird sich Grub vermutlich mit "Error 18" verabschieden. Dieser Fehler bedeutet, dass das Kernel-Image auf einem Plattenbereich liegt, der vom BIOS nicht angesprochen werden kann. Also habe ich die Installation nochmals durchgeführt und dabei zum ersten Mal bei einer Linux-Installation eine eigene Partition für /boot von 64MB Grösse eingerichtet. Und siehe, damit bootet der Rechner tatsächlich.

Da Sticks nur eine begrenzte Lebensdauer haben, da sie nur eine begrenzte Anzahl Schreibzyklen unterstützen, sollten Schreibzugriffe möglichst reduziert werden. Als erste Massnahme sollte deshalb bei der Installation auf eine Swap-Partition verzichtet werden. Der Ubuntu-Installer wird zwar meckern, aber ich weiss ja, was ich da tue. Als nächstes sollte /tmp und /var/run in eine RAMDisk gelegt werden. Dazu muss die /etc/fstab um zwei Zeilen erweitert werden:
none /tmp tmpfs auto,mode=1777 0 0
none /var/run tmpfs auto,mode=0755 0 0


Update: Ganz vergessen zu erwähnen habe ich noch eine wichtige Einstellung! Die restlichen Partitionen sollten alle mit der Option "noatime" gemountet werden. Dies verhindert, dass bei jedem Lesezugriff der Lesezeitstempel der Dateien aktualisiert und auf den Stick geschrieben wird. (Ende vom Update)

Das wär's dann schon. Jetzt muss man nur hoffen, dass der Stick bei jedem Einschalten erkannt wird (kommt sporadisch vor, dass es nicht klappt).

Die Performance ist hingegen zweischneidig: Wenn das System erstmals gebootet hat, dann rennt es ganz ordentlich (zumindest soweit es bei dieser lahmen CPU geht). Allerdings bis Grub und das Kernel-Image geladen sind, kann es sehr lange dauern. Vermutlich wird der Stick da über irgend ein langsames Low-Level-Protokoll angesprochen.

High Speed UMTS unter Linux: So klappt's!

^ v M ><
Tja, was soll man machen? Man ist Informatiker, sitzt 5-6 Tage pro Woche den ganzen Tag an der Uni, braucht also daheim selten Internet, aber brauchen kann man es eben trotzdem.
Kabelinternet wär zwar günstig. Geht aber nicht, weil die Bude bzw deren TV-Kabelinstallation zu alt ist.
DSL will ich nicht, da mir die Angebote nicht passen. CHF 25.25 für eine Telefonleitung, die ich eh nicht brauche bezahl ich schlicht nicht. Und das Angebot von Monopoly-Spieler Bluwin mit erlassender Grundgebühr ist ein schlechter Witz, wenn ich dafür erstens mein Handy-Abo upgraden und ich mich zweitens noch länger als nötig an die Swisscom binden muss (ich freu mich ja schon auf den Tag, an dem mein Abo ausläuft).
Analogmodem kommt aus Prinzip (Performance) nicht in Frage und braucht auch wieder einen Telefonanschluss.

Lösung? Söönreis (wie's eine BWL-Professorin xmal pro Vorlesung ausgesprochen hat) Mobildatenabo mit UMTS. Klappt auch prima unter Pinguin-OS.

Allerdings bringt die Leitung nach Einstöpseln und konfigurieren des Modems nur mit ca 500kbps, auch wenn eigentlich viel mehr drinliegen müsste. Ein Bisschen suchen im Internet hat mich dann zu dieser Anleitung zum Patchen des usbserial-Moduls geführt. Allerdings ist nur eine Anleitung für Kernel 2.4 dabei, das ist bei aktuellen Distributionen nicht mehr so ganz passend. Deshalb gibt's hier eine kleine Anleitung für Ubuntu 7.10 (durch anpassen der Kernel-Source-Version eigentlich auf jede Distro adaptierbar):

Erst die Kernel-Source installieren:
# aptitude install linux-source ncurses-dev && cd /usr/src && tar -jxf linux-source-2.6.22.tar.bz2 && cp /boot/config-$(uname -r) /usr/src/linux-source-2.6.22/.config && make menuconfig
Nun die Konfiguration wieder beenden (Pfeiltaste nach rechts und Enter). Jetzt geht's ans Eingemachte, den auf der soeben verlinkten Seite erhältlichen Patch einspielen. Der Patch kann z.B. als /root/usbserial.c.patch abgespeichert werden:
# cd /usr/src/linux-source-2.6.22/ && patch -Np0 -i /root/usbserial.c.patch
Nun muss das usbserial-Modul neu kompiliert werden. In der ursprünglichen Anleitung ist ein Bandwurm von gcc-Befehl drin, das klappt bei mir aber nicht. Nun, der Einfachheit halber hab ich einfach alle Module neu übersetzt. Das dauert zwar, ist aber ein zuverlässiger Weg:
# make modules
Als nächstes muss das neue Modul installiert werden (vorher besser das Original noch sichern -> Murphy ist überall):
# mv /lib/modules/$(uname -r)/kernel/drivers/usb/serial/usbserial.ko /root/usbserial.ko.old && cp drivers/usb/serial/usbserial.ko /lib/modules/$(uname -r)/kernel/drivers/usb/serial/ && update-modules
Der Befehl
# modinfo usbserial
sollte nun den neuen Parameter maxSize anzeigen.

Für mein Novatel MC950D muss der Treiber nun wie folgt geladen werden (erst muss das Pseude-CD-Laufwerk mit dem Treiber ausgehängt werden):
# eject /dev/scd1; sleep 3; modprobe usbserial vendor=0x1410 product=0x4400 maxSize=2048

Das Resultat ist beachtlich. Statt mit 500kbps bin ich jetzt mit 2.7mbps unterwegs. Also locker 5x schneller. Einzig an der Latenz hab ich noch was auszusetzen. Ping über 100ms zu den schnellsten Servern ist nicht sooo toll. Insbesondere dass kein DNS-Server in weniger als 300ms zu erreichen ist, verzögert natürlich jeden Verbindungsaufbau. Ich brauch wohl einen lokalen DNS-Cache.

Unerreichte Uptime

^ v M ><
Eine meiner virtuellen Maschinen "tickt" anscheinend nicht ganz richtig. Resultat davon ist eine etwas gar hohe Uptime:
# uptime
01:09:25 up 18538 days, 21:34, 4 users, load average: 0.16, 0.07, 0.50

Also rund 50 Jahre.

Infos zum System:
# date
Fri Jan 4 01:09:53 CET 2008

# uname -a
Linux gentoovm 2.6.23-gentoo-r3 #1 SMP Wed Jan 2 14:36:11 CET 2008 i686 Intel(R) Core(TM)2 Duo CPU T7300 @ 2.00GHz GenuineIntel GNU/Linux


Die virtuelle Maschine war ein paar Tage lang "suspendiert", drum das Datum vom 4. Januar. Der Kernel wurde am 2. Januar übersetzt. Interessant, dass da über 18'000 Tage dazwischen liegen sollen.