eBay & RC4: Antwort des Auktionshauses

In einem vorherigem Video hatte ich mich über die Verwendung des als unsicher eingestuften RC4-Algorithmus bei eBay ausgelassen – heute erhielt ich eine Antwort auf die Nachfrage:

Guten Tag Herr Knodt,

vielen Dank für Ihre Nachricht, in der Sie uns Ihre Bedenken bezüglich der RC4 Verschlüsselung mitgeteilt haben.

Bedingt durch eine unerwartet hohe Anzahl von Mitgliederanfragen konnten wir unsere Antwortzeiten nicht wie gewohnt einhalten. Da wir Ihren Anfragen und Hinweisen in jedem Fall gründlich nachgehen, hoffen wir auf Ihr Verständnis und bitten Sie um Entschuldigung für die Verzögerung.

Nun zu Ihrem eigentlichen Anliegen:

Ich habe Ihr Anliegen an die zuständige Abteilung weitergeleitet. Sehr gern gebe ich Ihnen nun weitere Informationen.

Aufgrund den Rückmeldungen unserer Nutzer ist eBay bereits am prüfen der Verwendung von RC4 Verschlüsselung. Sollte es einer Änderung bedürfen wird eBay diese zeitnah umsetzen.

Da diese evtl. Änderung einer globalen Änderung bedarf können wir leider keinen Zeitpunkt nennen wie und wann eine Änderung erfolgen wird.
Für Ihre Geduld und Verständnis danke ich Ihnen im Voraus und wünschen Ihnen, dass Sie eBay nun sorglos nutzen können.

Mit freundlichen Grüßen nach Saffig

Aletta Sonnenschein

eBay-Kundenservice

Nun, ohne Änderung sorglos nutzen ist etwas optimistisch, aber offenbar ist das Thema bereits angekommen und wird „geprüft“ – mal schauen, ob und wann hier eine Besserung eintritt.

BitBastelei #98 – Installation von Debian 7.5

BitBastelei #98 - Installation von Debian 7.5

(14 MB) 00:14:44

2014-06-01 10:00 🛈

Für ein Projekt benötige ich ein kleines, möglichst wartungsarmes Linux-System – was eignet sich da besser, als „good, old“ Debian? Hier wird eine Grundinstallation des Systems durchgeführt.

Lahmendes WordPress – eine Ursachensuche…

Wer in den letzten Wochen auf meinem Blog unterwegs war hat es eventuell gemerkt: Irgendwie war das Ganze etwas zäh. Jeder Aufruf dauerte mindestens 5 Sekunden – nur warum?

Also gehen wir die große Frage an: Was ist der Auslöser. Frage einfach, Antwort kompliziert. Erster Anlaufpunkt: das Netz. Um zu prüfen, dass das Problem wirklich am Server und nicht am Netzwerk liegt wird die Seite lokal aufgerufen:

time wget -O - https://adlerweb.info/ > /dev/null 
[…]
real	0m5.488s
[…]

Danke, keine weiteren Fragen, am Netz liegt es nicht. Wenn wir aber schon mal da sind rufen wir auch einen statischen Inhalt auf – nehmen wir z.B. einfach mal ein Bild:

time wget -O - https://adlerweb.info/blog/wp-content/uploads/2014/05/header-2014.png > /dev/null
[…]
real	0m0.017s
[…]

Aha – der statische Aufruf funktioniert zügig, damit wäre ein Fehler des Webservers selbst eher unwahrscheinlich. Der PHP-Interpreter oder die Anwendung scheint also Auslöser zu sein. Testen wir mal eine „rohe“ PHP-Datei. Reines echo.

time wget -O - https://adlerweb.info/test.php > /dev/null
[…]
real	0m0.007s
[…]

Somit wäre auch der PHP-Interpreter raus – es kann also eigentlich nur noch WordPress sein, oder? Nunja, ein reines WordPress auf selbem Server ist da anderer Meinung:

time wget -O - https://adlerweb.info/wptest/ > /dev/null
[…]
real	0m0.895s
[…]

Deutlich langsamer als der Testcode, aber es sind ja auch ein paar Zeilen mehr – eine Sekunde ist aber imo noch erträglich. Also muss irgendwas in der Seite den Fehler verursachen – Plugins, Themes, Anpassungen. Viele Kandidaten.

Erster Versacht: Meine Solarstatistiken. Diese müssen sich erst durch meinen heimischen Anschluss quetschen und der ist nicht gerade der schnellste. Statistik aus, aber trotzden: 4.925s. Kein Wunder: Es sind ja nur wenige Zeichen Text und spätestens beim zweiten Aufruf wären sie im Cache des Servers. Also weiter geht die Deaktivierungsorgie, aber mit Nachbrenner.

Um herauszufinden ob ein Plugin oder sonstiger Code das Problem verursacht wandern alle Plugins temporär aus dem WordPress-Ordner in ein temporäres Verzeichnis. Bingo: Ohne Plugins lädt die Seite in gerade mal 0.265s – suchen wir den Schuldigen. Plugin für Plugin wird dieser eingerichtet, dabei stechen einige hervor:

– apc: +1,2 Sekunden
– wp-slimstat +0,3 Sekunden

APC war früher als Cache im Einsatz, heute ist das Plugin im Backend deaktiviert, aber durch einen damals nötigen Symlink werden offenbar trotzdem Teile des Plugins geladen. Die Ladezeit steigt dabei offenbar mit der Codegröße – wenn mehr andere Plugins geladen sind erhöht sich die Ladezeit mit APC prozentual. Wie schon gesagt: Historie – kurze Sache: Weg damit.

WP-Slimstat ist ebenfalls etwas auffällig, wenngleich weit entfernt von der Bremswirkung des vorherigen Kandidaten. Slimstat sah mir nach einer guten Idee aus – der Webserver anonymisiert bereits die IPs, entsprechend kann ich hiermit lokale & anonyme Statistiken generieren. Den Performance-Impact hatte ich mir allerdings nicht ganz so groß vorgestellt, als Alternative hat sich jetzt WordPress Statistics von Mostafa Soufi eingefunden – mit diesem Plugin kann ich keien messbare Verschlechterung feststellen.

Ergebnis des Frühjahrsputzes (a2b, 100 Requests, 10 Parallel):

Vorher:				Ohne APC:			Andere Stats

100 Requests			100 Requests			100 Requests
146.809 seconds			24.047 seconds			14.385 seconds
6282600 bytes			6282600 bytes			6240100 bytes
42.08 Kbytes/sec		256.91 Kbytes/sec		426.60 Kbytes/sec
===================		==================		==================
1468.093 ms/Request		240.471 ms/Request		143.846 ms/Request
0.68 Requests/sec		4.16 Requests/sec		6.95 Requests/sec

Durch löschen des alten Plugins konnte die Ladezeit um 83% gesenkt werden – mit neuem Statistikplugin waren sogar weitere 7% Reduktion möglich. Ein zehntel der Ladezeit – nicht schlecht für eine eigentlich so kleine Ursache…

Wir lernen: Man sollte öfter mal aufräumen, nicht mehr verwendete Plugins auch aus dem Dateisystem entfernen und Plugins vor der Nutzung vergleichen…

Intel Haswell-ULT Integrated Graphics: TFT-Backlight reagiert langsam

Auf einem Laptop mit Intel Haswell-ULT GPU hatte ich das Phänomen, dass jede Änderung der TFT-Beleuchtungsstufe das System für etwa eine Sekunde einfrieren lies. Besonders ärgerlich, wenn dies wegen Inaktivität automatisch veranlasst wurde, denn in diesem Fall wird ein Fade-Effekt mit mehreren Stufen gefahren – und der Laptop so für etwa 20 Sekunden unbenutzbar.

Auffällig bei diesem Gerät: In /sys/class/backlight/ sind gleich 2 Schnittstellen gelistet: acpi_video0 und intel_backlight. Erstere zeigt das beobachtete Delay, letzeres reagiert ohne spurbare Verzögerung. Um den X.Org-Automatismen die schnellere Schnittstelle ans Herz zu legen muss in /etc/X11/xorg.conf.d/20-intel.conf oder anderer passender Stelle folgender Code gesetzt werden:

Section "Device"
   Identifier  "Intel Graphics"
   Driver      "intel"
   Option      "Backlight"  "intel_backlight"
EndSection

Intel Core i-Prozessoren und die Govenors

Unter Linux wird/wurde die Frequenz der Prozessoren bisher durch das cpufreq-Backend des Kernels geregelt. Es gab verschiedene „Govenors“, welche je eine Eintscheidungsart implementierten. Beispiel:

ondemand CPU auf kleinster Taktfrequenz, wird bei Last erhöht
performance CPU immer auf maximaler Taktfrequenz
powersave CPU immer auf kleinster Taktfrequenz

Mit den neuen Core i-Prozessoren (i3,i5,i7) ist dieses Konzept nur noch bedingt brauchbar – die CPU selbst hat viele Mechanismen um Strom zu sparen, sie muss allerdings „aufwachen“ um über den Govenor entscheiden zu können, ob die Beschäftigt ist oder nicht. Da hierdurch die dynamische Frequenzregelung am Ende mehr Strom verbraucht als ein Prozessor, welcher sich auf höchster Taktrate selbst verwaltet, bieten neue Kernel nun nur noch powersave oder performance für diese Prozessoren an. Für Intel empfiehlt sich „powersave“ zu wählen, durch die TurboBoost-Technologie erhöht die CPU ihren Takt bei entsprechender Last selbstständig. Mit Tools wie z.B. i7z lässt sich die Frequenzänderung auch entsprechend beobachten.

tl;dr: Intel-CPUs nur mit powersave-Govenor betreiben, CPU regelt Takt selbst passend hoch.

Gentoo: Linker-Fehler bei alten Paketen mit neuer GLibc

Möchte man alte Pakete auf einem System mit neuerer GLibc nutzen kommt es u.U. beim Linknen zu kleineren Verstimmungen:

/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/../../../../x86_64-pc-linux-gnu/bin/ld: note: 'floor@@GLIBC_2.2.5' is defined in DSO /lib64/libm.so.6 so try adding it to the linker command line 
/lib64/libm.so.6: could not read symbols: Invalid operation 
collect2: error: ld returned 1 exit status

Als Workarround kann man die nötige Lib über paketspezifische LDFLAGS händisch einbinden:

/etc/portage/enc/templd.conf

LDFLAGS="$LDFLAGS -lm"

/etc/portage/package.env:

bla-foo/bar   templd.conf

Via nlsa8z6zoz7lyih3ap @ Gentoo Forums

BitNotice #27 – Wavemaster Nachschlag

BitNotice #27 - Wavemaster Nachschlag

(53 MB) 00:02:31

2014-05-28 10:00 🛈

Ohne die galvanische Trennung des Trafos zeigen die Boxen beim Anschluss eines anderen Gerätes mit Solarversorgung viele Störgeräusche – gut, dass es auch hier eine schnelle Lösung gibt…

IE11: Intranetseiten werden nicht korrekt dargestellt

Kurzer Hinweis an alle, die neuere Webapplikationen in einem Windows-Intranet nutzen wollen: Je nach Einstellung werden Webseiten mit internen IPs/Hostnames bei Nutzung des IE 11 automatisch in der „Kompatibilitätsansicht“ gerendert. Als Beispiel verschluckt sich daran die JS-Komponente des Vorlkszählers und zeigt folgende Meldung:

„Die Eigenschaft „forEach“ eines undefinierten oder Nullverweises kann
nicht abgerufen werden.“

Der Fehler scheint in diesem Fall nur mit dem IE11 im Kompatibilitätsmodus aufzutreten, der IE10 rendert trotz der Einstellung korrekt.

Mögliche Auswege:

a) Kompatibilitätsmodus abschalten

Unter Extras->Einstellungen der Kompatibilitätsansicht die Option
„Intranetsites in Kompatibilitätsansicht anzeichen“ abschalten

Bild: https://adlerweb.info/blog/wp-content/uploads/2014/05/intranet-241×300.png

Vorsicht: Dies kann ggf. andere intern verwendete Webapps unbrauchbar machen
– ask your Admin…

b) Auf der Webseite explizit IE11-Modus fordern

Hierzu folgendes im Header ergänzen:

Beim Volkszähler wäre der Code in /htdocs/frontend\index.html.

Alternativ gibt es auch passende Doctypes oder HTTP-Header um den IE zur Zusammenarbeit zu bewegen.

Linux-Shell/Bash: Passwörter einlesen (read)

Ab und an benötigen Scripte schon mal Passwörter für andere Systeme. Meist finden sich die Passwörter hardcoded im Script oder werden per Argument mitgegeben. Beide varianten haben den Nachteil, dass die Passwörter im Script oder der passenden Log-Datei (z.B. .bash_history) ggf. lesbar sind.

Bei interaktiv genutzten Scripten lässt sich mit „read“ das Passwort in eine Variable einlesen. Mit -s kann das echoing, also die Ausgabe des Passworts während des Eintippens, unterbinden.

read -s -p "Passwort fuer Nutzer123? " pwd
./befehl -u Nutzer123 -p "${pwd}"

Ranttime #6 – eBay,RC4 und warum ich deren Sicherheit nicht traue…

Nach dem vor kurzem erfolgten Passwortklau fordert eBay alle Nutzer zur Zwangspasswortänderung auf – die Verwendeten Verschlüsselungen sind jedoch mehr als Zweifelhaft…

http://www.youtube.com/watch?v=CAqQrmC26wE

SemperVideo: https://www.youtube.com/watch?v=a11fio-H6Kc
SSLLabs-Test: https://www.ssllabs.com/ssltest/analyze.html?d=fyp.ebay.de
BSI-Richtlinie: https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Publikationen/TechnischeRichtlinien/TR02102/BSI-TR-02102-2_pdf.pdf?__blob=publicationFile

Eine Bitte um Stellungnahme ging an eBay raus – sofern eine Antwort kommt findet sich diese auf meinem Blog oder – wenn nicht ein üblicher Textblock – auch als Video.

Update: Antwort hier

Nerd Inside