TLS Handshake Problem in Mozilla Firefox extrem langsam: Lösung

Seit einigen Monaten ist der Firefox auch in der gegenwärtig aktuellen Version 57.0.3 mit dem Abruf von vielen Webseiten extrem langsam geworden. Beim genauen Blick in die Statusleiste unten links lesen Nutzer auch immer wieder “TLS Handshake wird durchgeführt“. Das ist ein echtes Problem, denn dies bremst jeden Seitenaufbau enorm aus und bequemes surfen ist damit unmöglich.

Da es zu diesem Problem mehrere Lösungsansätze gibt, stelle ich an dieser Stelle zunächst den TLS Handshake in seiner Funktion vor und in Folge dann vier unabhängige Lösungsvorschläge. Bitte alle vier Lösungen unabhängig voneinander betrachten und herausfinden welches zu Deiner eigenen Lösung führen könnte.

Ich für meinen Teil habe mit dem vierten und damit letzten Lösungsvorschlag das Problem auf meinem Rechner in den Griff bekommen. Seither wird der Seitenaufbau nicht weiter ausgebremst.

Was ist überhaupt der TLS Handshake?

TLS steht für “Transport Layer Security” und dient dazu eine TCP Verbindung mit Ende-zu-Ende-Verschlüsselung herzustellen. Der TLS Handshake führt die Identifikation und Authentifizierung zwischen Client und Server auf Basis asymetrischer Verschlüsselungsverfahren und der Public-Key-Kryptographie durch. Des weiteren werden bei diesem Austausch die verwendeten Algorithmen und Schlüssel ausgehandelt.

Konfiguration im Firefox

TLS ist das neue SSL und wird inzwischen von immer mehr Seiten unterstützt. Der Standard wurde dahingehend im Sommer 2017 überarbeitet und Firefox hat dies inzwischen standardmäßig aktiviert.

Um das Problem mit dem TLS-Handshake zur Lösung zu führen kann man in einen neuen Tab die Config öffnen, indem man folgende Adresse in die Adressleiste eintippt:

about:config

Sobald man diese Adresse mit der Eingabeleiste bestätigt folgt der nachstehende Warnhinweis:

Diesen muss man über den Button “Ich bin mir der Gefahren bewusst!” bestätigen und erhält dann eine lange Auflistung von Schlüssel-Werte-Päärchen.

In der oberen Suchleiste tippt man nun folgenden Schlüssel ein:

devtools.remote.tls-handshake-timeout

Dahinter verbirgt sich der Wert den wir anpassen werden. Dieser Wert steht standardmäßig auf 10000. Damit sind Millisekunden gemeint und das kann schon mal eine verdammt lange Zeit werden, bis der Timeout greift. Vor allem dann, wenn mehrere blockierenden Zugriffe nacheinander abgearbeitet werden. Da hat man oft das Gefühl, der Rechner oder das Internet buggen unermesslich.

Hier tippt man nun einen neuen Wert ein. Mit 0 würde das TLS gänzlich abgeschaltet, was meiner Einschätzung nach nicht zu empfehlen ist. Besser wäre es den Wert auf ein minimales Timout zu setzen. Das sind meiner Erfahrung und Empfehlung nach 600 Millisekunden. Denn sollte das eines Tages auf immer mehr Seiten funktionieren, soll TLS ja auch wirklich genutzt werden.

Nach diesen Änderungen sollte ein Browserneustart vorgenommen werden. Damit wird sichergestellt, dass die neue Einstellung auch angewendet wird.

Einschätzung:

Mit dieser Lösung habe ich beim ersten Versuch geglaubt es sei behoben. Viele andere Internetquellen behaupten auch selbiges. Jedoch musste ich enttäuscht feststellen, dass diese Einstellung an meinem Rechner nix bewirken konnte.

Profileinstellungen im Firefox

In manchen Foren wird auch darüber diskutiert ein neues Firefox-Profil zu erzeugen. Das hat bei mir jedoch nicht funktioniert und möchte ich nur als alternative Option vorstellen.

Über einen neuen Tab und mittels Eingabe von

 about:profiles

lassen sich die Profileinstellungen des Browsers bearbeiten. Sofern an dieser Stelle noch keinerlei Einstellungen vorgenommen wurden, existiert hier nur ein Eintrag mit “Profil: default”. Nun kann man über den Button “Neues Profil anlegen” ein frisches Benutzerprofil anlegen. Dies sorgt dafür, dass alle bisherigen Einstellungen vergessen werden.

Abschließend muss man über den Button “Als Standardprofil festlegen” das bisherige Profil ablösen.

Zur Sicherheit nochmal den Browser neustarten und das geänderte Verhalten beobachten.

Google Chrome

Als weitere Alternative zum Browsen anstelle des Mozilla Firefox zeigt sich da der Google Chrome auf. Da schlägt das mit dem TLS Handshake möglicherweise gar nicht erst fehl und das Browsen klappt in gewohnter Weise. Sofern Du nun auf den Mozilla Firefox verzichten kannst dann rate ich über eine Installation von Google Chrome nachzudenken.

Einstellung in ESET NOD32 Antivirus Virenscanner

Es gibt Hinweise darauf, dass die Verwendung von ESET NOD 32 Antivirus bei dieser Problematik mit einspielen. Möglicherweise gilt dies auch für Programme anderer Antivirenhersteller.

Sofern Du diesen Virenscanner benutzt, prüfe die Einstellungen im Programm unter Einstellungen und dann unten rechts auf “Erweiterte Einstellungen” oder diese einfach direkt mittels der Taste F5 öffnen. Überprüfe unter “WEB UND E-MAIL” die Einstellungen zu SSL/TLS. Dort kann die gesamte Protokollfilterung deaktiviert werden:

Man könnte nun die Protokollfilterung deaktiviert lassen. Dies ist jedoch vielleicht nicht die richtige Auswahl, da damit die Inhaltsüberprüfung für SSL verschlüsselte Seiten komplett deaktiviert werden würde. 

Der entscheidende Punkt an dieser Stelle ist den Rechner einmal neu zu starten und die SSL Protokollfilterung danach wieder zu aktivieren. Nach einem ggf. weiteren Neustart funktioniert der Datenabruf von diversen Seiten wieder in gewohnter Geschwindigkeit. Beim mir hat dieser Trick auf allen betroffenen Rechnern funktioniert auf denen ESET NOD32 Antivirus Virenscanner installiert ist.

Möglicherweise zeichnet sich dieses Problem auch in anderen Virenscannern ab. Sofern ein anderer Virenscanner als der hier genannte verwendet wird, solltest Du auch die dortigen Einstellungen hinsichtlich des Webfilters auf SSL geschützten Seiten überprüfen.

Samsung Galaxy S9 DUOS 64GB Handy, hellblau/Silber, Android 8.0 (Oreo), Dual SIM

Links

https://de.wikipedia.org/wiki/Transport_Layer_Security

Update 21. Oktober 2019

Danke an Jörg – siehe Kommentare weiter unten! Mittels folgendem Skript könnte es zur Lösung des oben genannten Problems kommen:

REM 1. Schließe alle offenen Firefox Fenster

REM 2. Öffne die Konsole über Windows->Start und der Eingabe von cmd

REM 3. Wechlse in das Profilverzeichnis von Firefox:
cd C:\Users\%USERNAME%\AppData\Roaming\Mozilla\Firefox\Profiles\

REM 4. Suche die den Zertifikatspeicher(Datei) für Firefox:
dir cert9.db /s

REM 5. Es sollte nur eine Datei gefunden werden - diese nun löschen:
del /s /q cert9.db

REM 6. Abschließend den Firefox neustarten und über das Ergebnis freuen!

Fazit

Konnte ich Dir mit dem Beitrag helfen oder hast Du ganz andere Erfahrungen? War es bei Dir auch der Virenscanner? Liege ich vielleicht falsch?

Dann hinterlasse mir hier einen Kommentar.


Hat Dir mein Beitrag gefallen?

Unterstütze meine Arbeit und werde noch heute Patreon!

PuTTY Serverliste samt Konfiguration exportieren und wiederherstellen

Manchmal möchte ich in PuTTY meine Einstellungen exportieren bzw. importieren. Jedoch gibt es in Putty weder eine Export– noch eine Importfunktionalität, die es einem ermöglicht bestehende Konfigurationen zu sichern und wiederherzustellen, sowie gegebenfalls diese auf einen anderen Rechner zu übertragen.

Die gesamte PuTTY-Konfiguration und die persönliche Serverliste wird unter Windows – egal ob Windows 7 oder Windows 10 – in der Registry gespeichert.

Damit man diese dennoch exportieren und später auf dem gleichen oder einem anderen System importieren kann muss man diese über den Registrierungs-Editor exportieren und wiederherstellen.

Die Arbeitsanweisung dafür lautet wie folgt:

  1. Den Registrierungseditor über Start -> Ausführen mittels regedit.exe öffnen
  2. Wechseln nach HKEY_CURRENT_USER -> Software -> SimonTatham -> PuTTY
  3. Rechte Maustaste auf den Ordner PuTTY und “Exportieren” wählen.
  4. Nun den Zielordner wählen und den Registrierungsknoten als Datei unter einem beliebigen Namen speichern.
  5. Diese Datei auf den Zielrechner kopieren
  6. Auf dem Zielsystem die Datei durch Doppelklick ausführen oder via Rechtsklick und “Zusammenführen” wählen.
  7. Es erfolgt eine Sicherheitsabfrage die darauf hinweist, die enthaltenen Elemente der Registry hinzuzufügen. Diese mit Ja bestätigen.
  8. Nun kann PuTTY mit der bekannten Konfiguration gestartet werden.

Öffnen man nun PuTTY auf dem Zielsystem wird man mit großer Begeisterung feststellen, dass alle Einstellungen und die gesamte Serverliste vom Quellsystem übernommen wurden. Dies macht einen Umzug oder eine Verteilung von Standardeinstellungen an weitere Mitarbeiter zu einem Kinderspiel.

Hat Dir der Beitrag gefallen? Werde noch heute Patreon!


Hat Dir mein Beitrag gefallen?

Unterstütze meine Arbeit und werde noch heute Patreon!

php unserialize “_php_incomplete_class” namespace

Ich habe in PHP ein unserialize() ausgeführt. Die darin enthaltenen Daten sind valide und die dazugeörige Klasse ist in meinem Framework bzw. in meiner Library enthalten. Dennoch hat das unserialize() nicht funktioniert und führte zu einem Objekt in dem die Klasse _php_incomplete_class vergeben wurde.

Sofern es zu der Zuordnung der Klasse _php_incomplete_class kommt liegt dies daran, dass die Klasse nicht gefunden werden konnte. Daher ist ein require bzw. include der jeweiligen Klasse notwendig. Ggf. sollte auch die Verarbeitung des Autoloaders überprüft werden, sofern die Klasse normalerweise automatisch geladen werden würde.


Hat Dir mein Beitrag gefallen?

Unterstütze meine Arbeit und werde noch heute Patreon!

Speedtest auf Linux konsole starten um Download- und Uploadrate zu messen

Um auf der Linux Console einen Speedtest durchzuführen um die Uploadgeschwindigkeit sowie Downloadgewschindigkeit zu testen habe ich ein gutes Tool und Programm gefunden. Dies ist auf github zu finden und kann simpel für den aktuellen Benutzer installiert und eingerichtet werden.

Dafür einfach folgende Befehle auf der Konsole ausführen:

mkdir ~/bin
wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py -O ~/bin/speedtest-cli
chmod +x ~/bin/speedtest-cli

Nun kann man den Speedtest durchführen. Mittels folgenden Befehl kann man diesen sofort starten und das Tool sucht automatisch den nächstgelegenen Server für einen Test der Datenverbindung:

speedtest-cli

Dieses Tool hat viele umfangreiche Testmöglichkeiten. Um nur einen geringen Überblick hierüber zu gewinnen kann man sich die Hilfe dessen anzeigen lassen:

speedtest-cli --help

Hat Dir mein Beitrag gefallen?

Unterstütze meine Arbeit und werde noch heute Patreon!

Prozess unter Linux beenden

Ich habe einen Prozess auf einem Linuxsystem am laufen der sich weder mittels

kill 4711

noch durch

kill -sigterm 4711

beenden lässt. Der Befehl kill lässt sich zwar fehlerfrei und ohne konkrete Rückmeldung ausführen, jedoch läuft der beanstandete Prozess weiterhin. Mittels folgender Eingabe kann man den Fehlercode der vorherigen Befehlszeile abfragen:

echo $?

Diese wird einem dann einen Wert ungleich 0 präsentieren und somit die fehlerhafte Ausführung dessen bestätigen.

Um in einem solchen Fall einen hartnäckigen Prozess trotzdem zu beenden kann man folgenden Befehl verwenden:

kill -sigkill 4711

Oder dies kann auch mit einem kürzeren Command abgesendet werden:

kill -9 4711

Dieser Command tötet den Prozess auf der untersten Systemebene und sollte nur mit Vorsicht vorgenommen werden. Ein Datenverlust ist hierbei möglich.


Hat Dir mein Beitrag gefallen?

Unterstütze meine Arbeit und werde noch heute Patreon!

Putty reagiert nicht mehr auf Tastatur-Eingaben

Das Putty-Fenster ist vermeintlich eingefroren und reagiert auf keinerlei TastaturEingaben? Bisher hast Du Dir nur damit helfen können die Verbindung zu beenden und erneut herzustellen?

Das Problem ist relativ schnell erklärt und behoben.

Gerade Entwickler die auf einer grafischen Oberfläche – restriktive Windows – unterwegs sind haben sich einen ganz bestimmten Reflex angewöhnt: Beim Bearbeiten von Textdateien regelmäßig STRG+S zu tätigen um Änderungen an selbigen in einem beliebigen Editor zu speichern.

Diese Handlung führt allerdings auf einer Putty-Konsole zu einer bestimmten Aktion, nämlich dass die Konsole in den XOFF-Modus versetzt wird. Dies bedeutet, dass keine weiteren Ausgaben mehr angezeigt werden und – auch nicht die vom Bediener selbst getätigten. So hat man vermeintlich das Gefühl Putty sei eingefroren oder der Server reagiere nicht mehr. Dies aber ist nicht der Fall.

Wie konnte das nur passieren?

Entweder war der Fokus ungewollt im Putty als man diese Aktion in einem anderen Programm absetzen wollte oder man hat fälschlicherweise im vi oder vim STRG+S gedrückt um Änderungen an einer Datei zu speichern. Dies hat sodann diesen Modus aktiviert.

Lösung

Um den XOFF Modus zu deaktiveren drückt man einfach die Tastenkombination STRG+Q.

Möchte man dies dauerhaft lösen so kann man diesen Modus pauschal deaktivieren. Ich selber habe dies nicht getan, wer aber danach auf der Suche war und mit dieser Einstellung seine Shell einrichten will braucht hierfür nur folgende beiden Zeilen in die .bashrc eintragen:

stty ixany
stty ixoff -ixon

Hat Dir mein Beitrag gefallen?

Unterstütze meine Arbeit und werde noch heute Patreon!

Free PHP, HTML, CSS, JavaScript editor (IDE) – Codelobster PHP Edition

For valuable work on creation of sites you need a good comfortable editor necessarily. There are many requiring paid products for this purpose, but we would like to select free of charge very functional and at the same time of simple in the use editor – Codelobster PHP Edition .
 

Free PHP, HTML, CSS, JavaScript editor (IDE) - Codelobster PHP Edition

Let us consider some important possibilities and advantages of this program:

 

  • All code highlights depending on a type, the also mixed code is thus supported, so the area of HTML will be highlighted as HTML, PHP as PHP, and Javascript as Javascript in a the same file. Thre is possibility of choice from color schemes, including popular IDEs.
  • Powerful autocompletion for HTML, PHP, CSS and Javascript, including HTML5 and CSS3. For PHP the structure of project is fully recognized, and the complete list of methods falls out in the proper places.
  • HTML/CSS inspector on the type of Firebug, which allows easily to correlate the selected elements of page with a code and proper style.
  • Context help on all supported languages. By pressing F1 key the page with detailed description for current tag, attribute or function will be opened.
  • PHP debugger. PHP debugger allows to execute PHP scripts incrementally, watching the values of all variables in every line.
  • SQL manager allows to produce all necessary actions with a database – to add, delete, edit a structure and records in tables, to export data, execute SQL queries. Highlighting and autocompletion works for SQL files also.
  • Support of FTP allows to work straight with a remote server and to do all necessary changes with files;
  • The portable option allows to use editor without the preliminary installation.
  • Other useful utilities: pair highlighting, possibility of blocks selection, collapsing, tooltips, navigation on descriptions of functions and included files at withholding of the key of CTRL, viewing of structure of files and project, preview in a browser, book-marks, and all other standard possibilities for work with a code.

Also there are special plugins for work with:

 

  • CMS: Drupal, Joomla, Magento
  • PHP frameworks: CakePHP, CodeIgniter, Symfony, Yii, Laravel
  • JavaScript: JQuery, Node.js, AngularJS, BackboneJS, MeteorJS
  • WordPress blogging engine
  • Smarty and Twig template engines
Developer Codelobster Software
Web Site http://www.codelobster.com/
Language English, Russian, German, Spanish, French, Portuguese

Download link:

Free PHP, HTML, CSS, JavaScript editor (IDE) – Codelobster PHP Edition


Hat Dir mein Beitrag gefallen?

Unterstütze meine Arbeit und werde noch heute Patreon!

svchost.exe verursacht hohe CPU-Auslastung unter Windows 7

Eine ganze CPU ist ausgelastet – es findet keine Aktivität im Speicher statt und auch keine Festplattenzugriffe. Es sind mehr als ein GB reserviert, jedoch finden viel Netzwerktraffic und I/Os auf dem Prozess svchost.exe statt der eine nahezu 100%-ige CPU-Auslastung auf einem gesamten Kern verursacht. Das alles gibt mir der Taskmanager an Informationen heraus, aber auf den erten Blick hatte ich den Zusammenhang noch nicht durchdrungen.

Im Taskmanager ist davon der Prozess mit folgender Befehlszeile betroffen:

C:\Windows\system32\svchost.exe -k netsvcs

Mein Problem hierbei ist, dass die Windows Updates gelgentlich auch als fehlgeschlagen markiert werden. Dies wirkt als sei dies ein generelles Problem bei einem Windows 7 mit Service Pack 1 zu sein, da ich diese Beobachtung wiederholt auf unterschiedlichen Systemen hatte.

Das Problem

Die Ursache für dieses Problem liegt an mehreren Punkten begründet:

  1. Windows 7 SP1 benötigt inzwischen sehr viele Updates. Ohne SP1 sind es sogar noch viel mehr.
  2. Schwache CPU
  3. langsame Internetverbindung

Wer heute im Jahr 2017 noch ein Windows 7 komplett neu installiert hat inzwischen mit mehr als 220 Updates zu rechnen. Und diese Zahl steigt mit jedem Monat weiter an. Diese Menge ist für einen “normalen” Rechner schon eine ernormes Stück Arbeit an Aktualisierungsarbeit des Betriebssystems.

Die Lösung

Für die Lösung benötigt man viel Zeit, eine gute Internetleitung und ausreichend Geduld. Die Updates liegen bei einigen Giga-Bytes und dauern mit den vielen Neustarts sowie den unzähligen Aktualisierungsoperationen dazwischen locker einen Tag. Um die Sache auf die minimalste Dauer zu begrenzen sollte man regelmäßig den Rechner beobachten und vom System verlangte Neustarts durchführen.

Auch hilft es zum einen sich für die Dauer der Einrichtung einen Adminaccount ohne Passwort anzulegen und der automatisch eingeloggt wird und des weiteren eine Verknüpfung zu Windows Update auf den Desktop zu legen. Diese kann dann nach jedem Neustart immer wieder direkt ausgeführt werden um dann in dem geöffneten Fenster auf “Nach Updates suchen” zu klicken.


Hat Dir mein Beitrag gefallen?

Unterstütze meine Arbeit und werde noch heute Patreon!

Installierte Grafikkarte unter Windows ermitteln

Um Details zur installierten Grafikkarte zu ermitteln, startet man unter Windows mit WINDOWS-Taste+R eine neue Konsole und den Befehl dxdiag eingibt. Es öffnet sich sodann ein Dialogfenster mit Informationen zu den DirectX Einstellungen des lokalen Computers.

Dort kann man im zweiten Reiter “Anzeige” Details zur verbauten Grafikkarte einsehen. Es werden dort Informationen zum verbauten Chip, Speichergröße, sowie Speichergröße, Auflösung und Frequenz angegeben.


Hat Dir mein Beitrag gefallen?

Unterstütze meine Arbeit und werde noch heute Patreon!