Linux

Entweder ich übersehe grade einen wichtigen Punkt oder pam-mysql und MySQL selbst bieten keinen sinnvollen Hashing-Algorithmus für Passwörter. Aber zum eigentlichen Thema:

Die Informationen zu den E-Mail-Adressen und FTP-Accounts auf diesem Server befinden sich in einer MySQL-Datenbank. Unter anderem auch die gehashten Passwörter. Auf diese Informationen wird beispielsweise via pam-mysql zugegriffen. pam-mysql in Debian bietet zum Hashing der Passwörter drei Möglichkeiten. crypt(), md5 und die MySQl password()-Funktion.
Doch alle drei haben schwerwiegende Nachteile: crypt() weil es nur die ersten acht Zeichen der zu hashenden Zeichenkette beachtet, md5 weil der Algorithmus inzwischen gebrochen wurde und zu password() steht im MySQL-Manual ausdrücklich: “The PASSWORD() function is used by the authentication system in MySQL Server; you should not use it in your own applications.“.

Also alles irgendwie keine sinnvollen Möglichkeiten. Die neuste Upstreamversion von libpam-mysql unterstützt auch sha1, wobei dieses ja auch mehr oder weniger gebrochen ist.
Ich persönlich würde mir eher sowas wie sha512 + salt wünschen. Aber das unterstützt MySQL nicht und somit auch nicht pam-mysql.

Kennt da jemand irgendeine tolle Möglichkeit dieses Problem zu umgehen oder muss man zwangsläufig damit leben?

Update: Ich sehe grade, dass MySQL6 das Erzeugen von Hashs der SHA2-Famile ermöglichen wird. Das ist ja immerhin schon mal etwas. Fehlt nur noch das Salt.

Heute will ich mal ein bisschen lästern. Aber alle potenziellen Leser können beruhigt sein, denn ich habe nicht vor über konkrete Personen zu lästern. Genauergesagt will ich über gewisse Linuxdistributionen lästern. Und zwar über die aus der Red Hat-Ecke. Als Beispiel nehme ich Fedora und CentOS, da ich beide vor kurzem benutzt habe, aber bei Redhat Enterprise Linux (RHEL) ist die Problematik natürlich die gleiche. Und zwar will ich über das Paketmanagement lästern. Es kann durchaus auch sein, dass ich einfach nur aus Unwissen lästere, aber ich bin froh über jeden Wissenszuwachs. Wer also Ergänzungen zu meinen Ausführungen hat, den bitte ich diese doch in den Kommentaren niederzuschreiben.
Also, Thema Paketmanagement: Ich bin ja nun eher der Debianer. Und unter Debian ist alles ganz toll. Das Paketmanagement dpkg ist sehr ausgereift und es gibt sehr komfortable Tools zur Installation und zum Management von Software. Natürlich gibt es grafische Tools, doch ich ziehe ein Kommandozeilentool wie aptitude vor, da ich es durch die Keyboardnavigation bedeutend komfortabler als irgendwelche grafischen Tools finde. Aber das ist Geschmackssache. Bis auf den Fall wenn man ohne grafische Oberfläche dasitzt. Beispielsweise bei Servern oder weil, aus welchem Grund auch immer, keine grafische Oberfläche mehr starten will.
Im Rahmen meines Hiwi-Jobs arbeitete ich bisher mit Fedora 7. Dort konnte ich kein auch nur ansatzweise komfortables Kommandozeilentool finden, was vor allem dann unpraktisch ist wenn ein Sicherheitsupdate das grafische Tool names pirut unbrauchbar macht, wie mir vor kurzem passiert ist (glücklicherweise behob ein weiteres Update ein paar Tage später das Problem wieder). Da bleibt dann nur sowas unkomfortables wie yum übrig. Heute dann der nächste Knaller. Mein Rechner hing grade nicht am Internet und ich wollte pirut starten. Ging nicht, da kein Internet verfügbar. Das einzige was ich machen konnte war pirut gewaltsam zu beenden.
Was mich an pirut auch ziemlich stört ist das man Abhängigkeiten von Paketen nicht vernünftig angezeigt bekommt. Erst nachdem man Pakete zur Installation ausgewählt hat und auf “weiter” klickt ist pirut der Meinung einem mitteilen zu müssen dass es gerne noch dieses und jenes Paket installieren wolle.
Was soll so ein Schrott? Und wie administriert man vernünftig einen Server der mit einer RPM-basierten Linuxdistribution läuft? Hab ich da vielleicht irgendein Tool übersehen?
Wie dem auch sei. Ich finde es einfach nur peinlich was da an Paketmanagement-Werkzeugen mitgeliefert wird. Als Konsequenz wird morgen auf meinem neuen Arbeitsrechner (den ich heute gekriegt habe), erstmal Debian installiert. \o/

Yesterday I tried kvm on my macbook, because I recognized that the cpu does support hardware based virtualization. I wanted to run a virtual machine with the actual kde4 release candidate. First I tried the Suse based KDE4Live, but kvm crashed immediately with “exception 13”. I dunno why that happened, but I didn’t get it working. Then I tried the debian based KDE4-LiveCD which is unfortunately only based on KDE4 beta4. But that cd worked. 🙂
I was just wondering if kvm is quite faster than qemu with kqemu, because it didn’t felt faster. I know that kvm does have a few advantages compared with kqemu, like smp and hardware visualization support, but I asked myself how much faster (or actually slower) would it be compared to kqemu.
So I set up a minimal Debian/testing installation in a qemu image. After that I tried in snapshot mode how long it would last to compile a new standard debian kernel once with kvm and once with kqemu.
But enough words are spoken. Let’s see the facts:
Test system:
1,83 Ghz Core Duo MacBook as host with kernel 2.6.22-1-686.
The VM got:
– 256 MB RAM
– 2.5GB HDD space

startup time:
kvm: 30 sec
kqemu: 42 sec

kernel compile time:
kvm: 1h 27min 57sec
kqemu: 2h 13min 17sec

All right. kvm is a lot faster than kqemu, so the reason that it feels not faster on my macbook seems to be the small amount of ram. So I need more ram for my macbook. 😉

Das vergangene Wochenende war eine schöne Erfahrung. Und zwar war es seit sehr langer Zeit das erste Wochenende, an dem ich kein Internet verfügbar hatte und auch sonst nichts besonderes los war. Ich hätte zwar in der Uni ins Internet gekonnt, aber so dringend war’s dann nun auch wieder nicht.
Was mir an diesem Wochenende ohne Internet auffiel: Dadurch, dass das Internet, zumindest in meinem Leben, eine sehr wichtige Rolle bei der Kommunikation mit Freunden und Bekannten spielt ist man ohne erstmal relativ isoliert. Und man hat auf einmal eine Menge freie Zeit mit der man nichts anzufangen weiß, bzw. wo man erstmal überlegen muss was man damit anfängt.
Bei mir führte dies dazu, dass ich endlich mal die komplette LAN-Verkabelung in der Wohnung neu machen konnte, eine sehr umfangreiche Putzaktion durchgeführt habe und etliche Sachen sortiert & organisiert habe. Ebenfalls führte es dazu das ich überdurchschnittlich viele Filme guckte. Ist mir zwar auf Dauer auch nichts, aber für ein Wochenende schon mal in Ordnung. Am Computer war neben aufräumen dank fehlendem Internet nicht allzuviel sinnvolles zu machen, sodass ich die Linux-Demo von Enemy Territory: Quake Wars sehr ausführlich testen konnte. Wobei es mir weniger um den Inhalt ging, denn solche Multiplayer-Tatic-Shooter sind nicht so mein Ding, sondern um die technische Realisierung unter Linux. Und ich muss sagen ich bin begeistert. Quake Wars basiert angeblich auf einer verbesserten Doom3-Engine, welche unter Linux sowieso schon gut lief. Allerdings war die Einrichtung von Doom3 und Quake4 immer noch etwas hakelig. Nicht so bei Quake Wars. Die Installation funktionierte ohne root-Rechte und es funktionierte einfach alles auf Anhieb. Sehr tolle Sache. Jetzt müssten bloß noch mehr Firmen mal erkennen, dass es sich vielleicht auch lohnt linux-kompatibel zu entwickeln.
Ja, soviel zum Wochenende. Heute zwischen 8:00 und 14:00 Uhr sollte nun der Techniker der Telekom kommen um den neuen DSL-Anschluß zu schalten. Allein der Termin, bis 6 Stunden durchgehend verfügbar zu sein, ist ja wohl eine Zumutung. Glücklicherweise tauchte der Techniker dann schon kurz nach 9:00 Uhr auf. Wobei er für mich eher wie ein Azubi wirkte. Also wirklich älter als ich war der garantiert nicht. Immerhin konnte er alles schnell und kompetent einrichten und wies mich auch gleich noch darauf hin, dass ich hier wohl mehr als 16Mbit/s kriegen würde da die nächste Vermittlungsstelle sehr nah ist. 😀
Also hab ich inzwischen schön schnelles DSL. Wobei mir gleich erstmal negativ auffiel das der Upstream ja nur 1Mbit/s ist. Und das als ich 1,1GB auf meinen Server laden wollte. Na ja, dann lädt das halt mal ein paar Stunden. Nachteil dabei ist natürlich, dass dies auch den Downstream beeinträchtigt da ja die ACK-Pakete irgendwie durchkommen müssen. Es ist aber schon bedeutend spürbar schneller als die 2Mbit/s Downstream vorher.
Soviel zum Thema. Über Kommentare zum Thema Abhängigkeit in der heutigen Gesellschaft vom Internet freue ich mich natürlich wie immer.

Abhängigkeitsbaum von infon-viewerSeit kurzem gibt es ein extrem cooles Tool für Debian. Sein Name ist debtree und es dient dazu Abhängigkeiten von Paketen im Debian-Repository grafisch darzustellen.
Ich hab es mir mal vorgenommen und ein paar nette Graphen generiert. Der hier zu sehende Graph ist der Graph von infon-viewer und es ist doch schon erstaunlich was da alles mit dranhängt. Für alle die infon noch nicht kennen: Hier ist die offizielle Homepage. 😉
Als besonders hartnäckiger Graph stellte sich der Graph zum Metapaket “kde” heraus. Wie man schon vermuten kann, hängen an diesem Metapaket unzählig viele Programme. Dementsprechend ist auch die Größe des Graphen. Mir gelang es nicht diesen Graphen als PNG- oder JPG-Datei zu erzeugen, wobei die Dateigröße bei diesen Grafikformaten wohl auch explodiert wäre. Ich hab den Graphen mal als SVG-Grafik an diesen Artikel gehängt. Anschauen aber nur auf eigene Gefahr und möglichst nur mit einem halbwegs aktuellen Rechner. 😉

SVG-Grafik für infon-viewer (115KB)
SVG-Grafik für kde (2,8MB)

Innerhalb der nächsten Wochen werde ich 4DSL von 1&1 bekommen. Mit dabei ist auch eine Handy-SIM-Karte mit der man kostenlos ins Festnetz telefonieren kann. Nun kam die Idee auf, ob man das nicht zum kostenlosen surfen via Handy nutzen könnte, indem man auf dem Handy eine neue GSM-Datenverbindung einrichtet und als Nummer eine eigene Festnetznummer, die über die Fritzbox läuft, angibt. Die Fritzbox müsste dann wiederum Gateway Richtung Internet spielen. Hat jemand ‘ne Ahnung wie man das Fritzboxseitig realisieren könnte? Gibt’s da vielleicht schon irgendwas was fertiges? Da ja Linux auf den Fritzboxen läuft, sollte es da ja wohl irgendeine Möglichkeit geben.

Update: Also anscheinend geht es nicht, da das Handy signalisiert ob eine Sprach-, Daten- oder Faxverbindung aufgebaut wird. Abgesehen davon wäre die Übertragungsrate wohl bei 9,6KBit/s, also auch nicht wirklich toll.

Update 2: Es gäbe noch eine Alternative: Man hat einen Laptop am Handy auf der einen Seite und auf der anderen Seite eine Fritzbox mit entsprechender Software. Mit dem Laptop baut man eine normale Sprachverbindung über das Handy zu einer Telefonnummer auf die über die Fritzbox läuft. Die demoduliert die Signale wieder und leitet sie ins Netz. Das muss doch irgendwie gehen. Datenraten sind da zwar eine Frage, aber wenn die SIM-Karte von 1&1 UMTS-tauglich ist und es via UMTS bessere Sprachcodecs gibt, dann sollte da auch eine annehmbare Datenübertragungsrate möglich sein.

Update 3: Ok, ich geb mich geschlagen. Möglich wäre es definitiv. Mit welchen Datenraten ist eine andere Frage. Wahrscheinlich so um die 8 KBit/s. Und da lohnt sich dann doch eher für ein paar wenige Euro im Monat ein Datentarif 😉

powertop auf meinem MacBookNachdem auf Planet Debian die letzten Tage eine kleine Diskussion um den Stromverbrauch von MacBooks unter Linux vonstatten ging, wandte ich mich heute auch mal meinem MacBook zu, um ein paar Optimierungen für eine längere Laufzeit vorzunehmen.
Dank powertop von Intel kann man auch recht gut feststellen welche Programme bei ruhendem Desktop den Prozessor aus seinen Schlafphasen holen, was ja der Hauptgrund für einen höheren Stromverbrauch und somit eine kürzere Laufzeit ist. Zudem gibt powertop auch gleich noch praktische Tipps was man ändern muss um diese Interrupts zu verhindern. Nachdem ich alle Tipps von powertop befolgt hatte blieb als Hauptgrund für das aufwachen des Prozessors uhci_hcd:usb1 , ehci_hcd:usb5 übrig. Und das dürfte genau der in http://mjg59.livejournal.com/76936.html beschriebene Interrupt des Touchpads sein (Bluetooth war schon deaktiviert):

If you’re on a Macbook, the largest number of USB interrupts is probably from the Bluetooth controller. Either hciconfig hc0 down, or load hci_usb with the isoc=0 option. The other Macbook issue is that the trackpad will carry on sending updates even though there’s no input – I wrote a patch to fix this, which ought to be in git now. These have nothing to do with the UHCI spec.

Immerhin scheint’s ja schon einen Patch dafür zu geben, sodass ich demnächst wohl auch noch dahingehend ein Problem weniger haben werde. 🙂

So, der angekündigte Serverumzug wurde inzwischen erfolgreich abgeschlossen. Größere Probleme gab’s erstaunlicherweise keine. Aber mal schauen. Vielleicht kommt ja noch was. 😉
Aufgrund der Tatsache, dass der Server nun viermal so viel RAM und fünfmal soviel Traffic wie vorher kann ich jetzt sogar TOR vernünftig laufen lassen. Sehr toll das alles. 🙂
In den nächsten Tagen bastel ich da vielleicht auch nochmal an ein paar Sachen rum.

Eine Sache über die ich mich aber unbedingt noch aufregen muss, ist der Support von fastIT. Und zwar hatte ich meinen Server mit dem von fastIT angebotenen Rescuesystem gestartet um ihn frisch zu bootstrapen. Aber das Rescuesystem war so verkorkst dass ich das damit nicht auf die Reihe gekriegt hab. Und der Höhepunkt: Für das Rescuesystem war nicht mal ein Rootpasswort gesetzt. Das heißt während das Rescuesystem läuft kann sich jede beliebige Person auf dem Server einloggen. Diese Problematik schilderte ich dann auch dem Support von fastIT und was bekam ich als Antwort?

Hallo Herr Roschka,

die ist dadurch bedingt das wir noch Kunden mit sehr alten Systemen mit wenig RAM haben welche unser neueres Resuce Systeme nicht booten können.

Die Wahrscheinlichkeit das zufälig jemand auf Ihre IP eine SSH Verbindung aufbaut währen diese im Rescue System ist tendiert (Erfahrungswert) gegen Null.

Es ist sicherlich ein Risiko vorhanden, in der Praxis aber bisher nichts passiert.

Zudem wird mit dem Aussterben der älteren Systeme dieses Problem in naher Zukunft erledigt sein sodass dieses Rescue System dann abgelöst wird.

[…]

Also bitte? Seit wann ist denn zuwenig RAM ein Argument gegen ein Rootpasswort? Und die Ansicht, dass es sicher sei, weil bisher noch nichts passiert ist, ist ja wohl auch sehr naiv.
Ich erkundigte mich daraufhin mal bei den Entwicklern von Debian Live wieviel RAM eine Live-CD mit Debian benötigt. Die Antwort: eine minimale CD kommt mit 54MB RAM aus. Da frage ich mich doch wie wenig RAM da einige Systeme bei fastIT haben, denn selbst wenn man großzügig mehr RAM einrechnet reichen 128MB RAM locker. Und ich glaube nicht, dass bei fastIT noch Server mit weniger als 128MB RAM stehen.

Na gut, ich hoffe mal, dass das eine unrühmliche Ausnahme mit dieser Supportanfrage war und das ich andererseits auch nicht allzuhäufig mit dem Support zu tun haben werde. Aber irgendwie muss so ein günstiges Angebot ja auch zustande kommen. Und dann wird halt am Support gespart.
Technisch bin ich jedenfalls momentan sehr zufrieden mit dem Server. Er hat merklich mehr Power als der alte und auch die Netzanbindung macht einen sehr guten Eindruck.
Wollen wir nur hoffen, dass diese positiven Eindrücke von Dauer sind. 🙂

Sodala. Heute ist also SysAdminDay (hier Artikel von heise dazu). Sehr nett von fastIT mir noch pünktlich zu diesem Tag meinen neuen Server zur Verfügung zu stellen. Moment mal: Neuer Server? Ja, neuer Server. Viel schneller, toller und vor allem günstiger als der Aktuelle.
Allerdings werde ich den SysAdminDay wohl eher nicht nutzen können um den flott zu machen, da Montag eine Klausur ansteht und ich mich lieber darauf konzentriere. Also wird’s hier dann Mitte nächster Woche wohl mal einen Umzug geben.

Sie ist vorbei und ich bin wieder zuhause. Die Rede ist von der GPN6, welche vergangenes Wochenende hier in Karlsruhe in den Räumlichkeiten der Hochschule Karlsruhe stattfand.
Alles in allem war’s richtig klasse. Nette familiäre Stimmung, nette Leute, unterhaltsame Vorträge und ein passendes Drumherum. Die für mich wertvollsten Vorträge waren Vorträge über OpenStreetMap, Sicherheit bei Flash-Anwendungen und ein kritischer Vortrag über AACS.
Generell verbrachte ich allerdings recht viel Zeit damit, mich mit der Weiterentwicklung meines Bots für Infon zu beschäftigen. Infon selbst lief auch die ganze Zeit und konnte in einem Raum via Beamer bestaunt werden. Allgemein war der Infon-Server gut besucht. Durchschnittlich tummelten sich dort so um die 25 Bots, was für die meisten Maps schon viel zu viel war.
Auch für die zukünftige Weiterentwicklung von Infon fand ein reger Austausch mit Florian Wesch, dem Entwickler von Infon, statt. Das wohl nützlichste Werkzeug für Infon was über das Wochenende entstand, war ein relativ einfacher, aber dennoch sehr brauchbarer grafischer Map-Editor. Dieser wird sicherlich auch demnächst mit bei den Infon-Sourcen auftauchen. Mal schauen ob es dann mal ein paar mehr Leute gibt die ein paar schöne Maps für Infon designen.
Ein ganz besonderes Highlight für mich war außerdem, einmal ein Neo1973 in der Hand halten und ein paar Blicke darauf werfen zu dürfen. Ein tolles Gefühl und ein tolles Gerät. 🙂
Auch sehr nett war, dass sich spontan mehrere nette Leute fanden, die bereit waren mich für CAcert zu assuren. Dadurch habe ich inzwischen 90 Punkten bei CAcert.
Und ich kann nur nochmal betonen: Es war eine klasse Stimmung auf der GPN, mir hat’s gefallen und ich bin sicher auch nächstes Jahr wieder mit dabei.