Inspiriert durch den Blogpost meines Kollegen Michael Kranawetter möchte ich heute ein bisschen tiefer in die Erstellung eigener Tracking Protection Lists (TPL) eingehen und auch Impulse für sinnvolle Nutzungen geben.

Zum Thema was TPLs grob sind, habe ich mich hier schon ausgelassen, ich verzichte daher auf die Wiederholung und fokussiere mich auf die eigentliche Erstellung und Verteilung:

Dateiformat

Das ist in dem Fall sehr einfach: ein einfaches UTF-8 Textfile ist hier ausreichend, sprich in gutem Webdeveloper Stile einfach mal Notepad bemühen! Zwinkerndes Smiley

Verfügbare Syntax Elemente (vgl. engl. Version):

Element Description Expected values Example
msFilterList Identifiziert die Datei als TPL.
Dies ist das einzige notwendige Element
msFilterList image
# (pound sign) Ein Kommentar, alles in dieser Zeile wird ignoriert # string
# this is a comment
: expires = n Definiert, wie oft (in Tagen) der IE nach einem Update der Liste sucht 1-30; 7 der Standard bei fehlendem Setting
 
: expires = 5
-d string [string] Domänenblock Regel. Domänen und optionale Strings können so definiert werden Domänennamen und/oder sonstige Strings einer URL können definiert werden
 
-d contoso.com -d ad.contoso.com -d contoso.com tracking
+d string Domänenerlaubnis Regel, es können nur ganze Domänen definiert werden Ausschließlich Domänennamen
+d contoso.com
- (minus sign) string Substringblock Regel. eine beliebige Zeichenkette zu innerhalb einer Ressource
- trackingbot
- toso
* Wildcard Zeichen Definiert eine beliebige Zeichenkette in einem Substring oder einer Sub-Domäne
+d contoso.com track* +d sub*domain.contoso.com

Reihenfolge

Die Reihenfolge der Angaben ist erst mal nicht vorgeschrieben.

Zur Lesbarkeit und Wartbarkeit empfehle ich folgende Sortierungen:

  1. nach Typ, sprich alle “-“ zusammen, alle “-d” zusammen, alle “+” und alle “+d” zusammen
  2. nach Alphabet
    1. zuerst der TLD, sprich z.B.:
      -d subd.aontoso.com
      -d subd.bontoso.com
      -d subd.contoso.com
    2. Dann nach Subdomäne
      -d sube.contoso.com
      -d subf.contoso.com

Wichtig auch, was passiert wenn in der einen TPL –d contoso.com und in der nächsten +d contoso.com definiert ist?

Entgegen der typischen Erwartung gewinnt der +d Eintrag. Dies hat den Hintergrund, dass auch allgemeinere Ausschlüsse überschrieben werden um z.B. zwar das Tracken von einer Seite zu verhindern, aber das Laden von z.B. jquery Libraries von der selben TLD Domäne [aber andere Subdomäne] zu erlauben.

Installation

Consumer Target:

Einfach auf der eigenen Webseite das File hosten und über

window.external.msAddTrackingProtectionList(URL, description);

verlinken.

IT Pro Target:

Hier wird es etwas schwieriger, denn es gibt keinen dedizierten Verteilmechanismus.

Die TPL Informationen werden in der Registry unter

HKCU\Software\Microsoft\Internet Explorer\Safety\PrivacIE\Lists

abgelegt.

Der einfachste Weg wäre also eine TPL zu erstellen, über die API in einen IE zu integrieren und dann den entstandenen Registrykey samt Values zu importieren und das File an die im “Path” Value angegebene Location zu kopieren.
Wir können allerdings keine Gewährleistung auf dieses Vorgehen abgeben! Daher Anwendung auf eigene Gefahr!

Warum sollte dies für IT Pros von Relevanz sein?

  1. aus den gleichen Gründen wie für Consumer: das Tracking eines Mitarbeiters zu verhindern und darüber u.U. ungewollt Firmengeheimnisse preisgeben (z.B.: weil sehr viel auf bestimmten Material-Webseiten gesurft wurde)
  2. um Netzwerklast zu verringern und damit Netzwerkkomponenten (Switches, Router, Proxies) zu entlasten: wenn eine Domäne, bzw. ein integrierter Aufruf auf eine Ressource (Script, Bild,…) geblockt wird, wird diese Anforderung gar nicht erst abgeschickt und somit auch in keinster Weise beantwortet.
    Auch wenn dies auf den ersten Blick nur ein Tropfen auf den heißen Stein darstellt, wenn man die Kosten für die teilweise nicht unerheblich großen Scripte und Bilder hochrechnet, dann kann dies schon für den ROI interessant werden.

Warum ist es keine Gefahr TPLs einzusetzen?

  1. Weil ein User über das UI das Blocken aller TPLs für die aktuelle Domäne ausschalten kann
  2. Weil die TPLs nur für “andere” Domänen gelten. D.h., dass angenommen auf einer aktiven TPL wäre der Eintrag “-d contoso.com”, dass natürlich bei dem direkten Ansurfen von http://www.contoso.com keine Ressource von contoso.com geblockt wird.

You gotta do what you gotta do!

Bis zum nächsten Post

 

Stephanus