Monthly Archives: Januar 2011

Deadlock-Erkennung mit Eclipse

Posted by Michael Roth on Januar 25, 2011
Java, Programmieren / Kommentare deaktiviert für Deadlock-Erkennung mit Eclipse

Bei großen Projekten mit vielen Threads müssen die Zugriffe auf gemeinsame Objekte geregelt werden. Hierfür werden Teile des Java Codes mit einem synchronized Block versehen. Damit kann garantiert werden, dass nur immer ein Thread diesen Block ausführt. Bei mehreren synchronized Blöcken kann die Übersicht verloren gehen. Es entstehen Deadlocks. Die Suche nach diesen ist nicht einfach.

Aber zum Glück bietet Eclipse hier Hilfe an. Falls ein Programm auf Grund von Deadlocks nicht beendet wird, so kann man in der Debug-Ansicht das Programm pausieren. Über die Optionen kann man zusätzliche Informationen über die Monitore und System Threads anzeigen.

Dead Lock Erkennung mit Eclipse
Dead Lock Erkennung mit Eclipse

Dadurch werden die Prozesse, die an einem Deadlock beteiligt sind in der List rot dargestellt und es ist erkennbar welche Locks der Thread erhalten hat und auf welche er noch wartet. Im unteren Bild ist gut erkennbar, dass der main Thread bereits drei Ressourcen hat, aber noch auf die Klasse EventDisptacherImpl wartet.

Dead Locks mit Eclipse erkennen
Am Deadlock beteiligte Prozesse werden rot dargestellt

Mit dieser Einstellung ist das Finden von Deadlocks in Eclipse sehr einfach.

Tags: ,

Apache und PHP stumm schalten

Posted by Michael Roth on Januar 24, 2011
Internet, Linux / Kommentare deaktiviert für Apache und PHP stumm schalten

Apache und PHP senden bei Internetseiten die Versionsnummer mit an den Besucher. Ein Angreifer kann diese Informationen benutzen um gezielt verwundbare Versionen zu finden und dann diese Server anzugreifen. Mit ein paar einfachen Befehlen lassen sich die Ausgaben allerdings unterdrücken.

PHP:

  • Mit expose_php = Off kann in der php.ini die Übermittlung der PHP Versionsnummer im HTTP-Response-Header unterdrückt werden.

Apache2:

  • ServerTokens Prod unterbindet das Übermitteln der Apache Versionsnummer im HTTP-Response-Header
  • Die Option ServerSignature Off deaktiviert das Anzeigen der Versionsnummer auf von Apache generierten Seiten. Dazu zählen die Fehlerseiten oder Index-Seiten, falls das Indizieren von Ordner ohne index.html aktiviert ist.
  • Apache ermöglicht es ein paar Funktionen aus der Ferne zu debuggen. Diese Funktionalität wird auf einem Produktivsystem nicht benötigt und kann mit TraceEnable Off ausgeschaltet werden.

Tags: ,

Browser-Fingerabdrücke

Posted by Michael Roth on Januar 19, 2011
Datenschutz, Internet / Kommentare deaktiviert für Browser-Fingerabdrücke

Mit Hilfe von Erweiterung lässt sich der Webbrowser vielseitig einsetzen. Mit Acrobat Reader können PDF Dateien direkt im Browser betrachtet werden und Flash erlaubt das Betrachten von YouTube Videos. Aber durch diese Erweiterbarkeit ist jeder Browser anders und kann eindeutig identifiziert werden.

Beim Aufrufen einer Internetseite sendet der Browser eine Identifikationsstring mit. Dieser enthält den Namen des Browser mit der Versionsnummer und dem Betriebssystem. Mit Hilfe von JavaScript lassen sich die Bildschirmbreite, -höhe und -auflösung auslesen.

Unter https://panopticlick.eff.org ist ein Test, der ein paar Informationen über den Besucher sammelt und die gewonnen Informationen mit mehrere hunderttausend gespeicherten Daten vergleicht. Somit kann festgestellt werden, wie einzigartig der eigene Browser ist.

Erweiterungen wie NoScript für Firefox deaktivieren JavaScript und verhindert dadurch das auslesen der Bildschirmwerte und der installierten Browsererweiterungen.

Tags: , , ,

Update Joomla 1.5 zu 1.6

Posted by Michael Roth on Januar 17, 2011
Joomla / Kommentare deaktiviert für Update Joomla 1.5 zu 1.6

Seit 11. Januar 2011 gibt es die neue Version von Joomla. Obwohl sich der Versionsnummer nur wenig geändert hat, ist viel unter der Haube geschehen. So wurde der komplette Code überarbeitet und ist jetzt schlanker als vorher, aber leider auch inkompatibel zu Joomla 1.5. Daher ist es nicht einfach möglich, wie bisher die neuen Dateien über die vorhandene Installation zu kopieren.

Um das Update zu erleichtern wurde das Plugin jUpgrader entwickelt. Dieses Plugin muss einfach in die vorhanden Joomla-Installation eingefügt werden. Nach der Installation befindet sich im Menü „Components“ im Administrationsbereich ein neuer Unterpunkt für jUpgrader. Dort kann das Upgrade gestartet werden.

Es wird nun Joomla 1.6. parallel installiert. Unter dem Ordner /jupgrader befindet sich die neue Webseite und unter /administrator/jupgrader das Admininterface für das neue CMS. Aber Vorsicht, zur Zeit werden keine Plugins von Drittanbietern übernommen.

Nach dem die Installation getestet wurde, muss per FTP der Inhalt des alten Installationsordner an einen sichern Platz kopiert werden und der Inhalt von /jupgrader in das Installationsverzeichnis des alten Joomla verschoben werden. Gleiches sollte nun mit dem Administrationsordner gemacht werden. Damit ist die Aktualisierung auf Joomla 1.6 .abgeschlossen.

Eine genaue englische Anleitung ist unter http://docs.joomla.org/Tutorial:Migrating_from_Joomla_1.5_to_Joomla_1.6 zu finden.