Das Putzlowitsch Test- und SEO-Blog

IP-Adresse bei Strato anonymisieren – so gehts

Strato Logfile anonymisiert

Strato-Logfile IP-Adresse anonymisiert

In den Server-Logdateien, die Strato seinen Webhosting-Kunden bereitstellt, werden die IP-Adressen schon seit vielen Jahren anonymisiert. Laut Hilfe/FAQ werden dazu die ersten 9 Bit der IP-Adresse in einen Hash-Wert umgewandelt. Aus der IP-Adresse 123.123.123.123 wird z.B. 123.123.122.243 (weitere Infos).

So weit, so gut, damit dürfte man, was personenbezogene Daten in den Log-Dateien angeht, auf der sicheren Seite sein. Durch die Anonymisierung geht der Personenbezug verloren.

Vollständige IP-Adresse in der Umgebung

Allerdings wird die nicht-anonyme IP-Adresse an alle Website-Applikationen wie z.B. WordPress durchgereicht und kann dort weiterverarbeitet und gespeichert werden. Man sieht das ganz gut auf einer PHP-Info-Seite:

Strato: IP-Adresse mit PHP-Info

Die vollständige IP-Adresse steht im Feld ‚REMOTE_ADDR‘ der globalen Arrays $_SERVER und $_ENV (Environment) zur Verfügung. Auch in anderen Programmiersprachen wie Perl, Python und per SSI (Server Side Includes) kann man darauf zugreifen.

Viele Web-Applikationen nutzen diese IP-Adresse für unterschiedliche Zwecke. In WordPress wird zu jedem Kommentar die IP-Adresse gespeichert, Statistik-Tools wie Piwik nutzen diese ebenso. Nun ist ja die IP-Adresse ein personenbezogenes/-beziehbares Datum und sollte daher nicht exzessiv genutzt und gespeichert werden.

Alles ganz anonym

Nun wäre es doch nicht schlecht, wenn man auch diese vom Webserver bereitgestellte IP-Adresse einfach anoymisieren könnte, ganz generell gewissermaßen auf der Systemebene.

Bei Strato geht das tatsächlich. Schon vor längere Zeit gab es nach der Einführung von „Speed Plus“ das Problem, das nicht mehr die tatsächliche IP-Adresse, sondern die eines Strato-Servers als Remoteadresse durchgereicht wurde. Die dort beschriebene Lösung für die .htaccess-Datei funktioniert prinzipiell immer noch. Nur muß ich jetzt nicht die IP-Adresse aus dem X-Forwarded-For extrahieren und der REMOTE_ADDR zuweisen, sondern die IP-Adresse verkürzen und mit Nullen auffüllen.

Mit dem Modul mod_setenvif hat man die Möglichkeit, Umgebungsvariablen abhängig von Umgebungsvariablen und Request-Feldern zu setzen. Genau das brauchen wir hier. Wir haben die Umgebungsvariable Remote_Addr und wollen diese verkürzt (anonymisiert) in die Umgebungsvariable REMOTE_ADDR setzen. Das Problem läßt sich mit ein bißchen Regular-Expression-Zauber in zwei Zeile in der .htacces erschlagen:

SetEnvIf Remote_Addr ^((\d+\.){3}) REMOTE_ADDR=$10
SetEnvIf Remote_Addr ^(([^:]+:){2}) REMOTE_ADDR=$1:

Zwei Zeilen sind deshalb erforderlich, weil IPv4- und IPv6-Adressen jeweils extra verarbeitet werden. Die Zahlen in den geschweiften Klammern geben an, wieviele Elemente der IP-Adresse erhalten werden sollen. Mit $1 wir der Rückbezug auf die erhalten gebliebenen Elemente hergestellt und die Zeichen danach wurden einfach hinzugefügt. In der ersten Zeile ist das also nicht nicht $10, sondern $1 und 0. Damit wird aus der IP-Adresse 217.245.43.45 dann 217.245.43.0.

Möchte man nur die ersten beiden Elemente der IPv4-Adresse erhalten, mußte die erste Zeile so aussehen:

SetEnvIf Remote_Addr ^((\d+\.){2}) REMOTE_ADDR=$10.0

Das 0.0 wird deshalb verwendet, damit die IP-Adresse „syntaktisch“ richtig erhalten bleibt. Aus 217.245.43.45 wird 217.245.0.0.

Optimalerweise steht die zwei Zeile ganz am Anfang einer .htaccess im Wurzelverzeichnis des Webpaketes. Dann wirkt sei auch auf alle Domains oder Subdomains, die ihr sichtbares Wurzelverzeichnis in einem Unterverzeichnis des Webspace haben.

Durchschlagener Erfolg

Damit wird die IP-Adresse nicht nur für PHP anonymisiert, sondern auch für andere Programmiersprachen. Zur Demonstration habe habe ich vier Beispiele vorbereitet, bei denen Ihr Eure aktuelle IP-Adresse sehen solltet, allerdings mit der letzten Stelle auf Null gesetzt:

Die Anonymisierung ist so durchschlagend, daß sogar die Error-Log-Daten, die Strato im Kundenbereich bereitstellt, nun anonymisiert sind:

Strato Error-Log: IP-Adresse anonymisiert

Und die normalen Server-Log-Files, die es im Strato-Kundenmenü gibt, sind nun sogar doppelt anonymisiert. Einmal ist die letzte Stelle genullt und dann greift noch die oben beschriebene Strato-Anonymisierung.

Anonymer geht es kaum noch. :-)

Keine Kommentare »

Magenta SmartHome Tür-/Fensterkontakt optisch an AVM FRITZ!Box

Die Fritz!Box 7490 als Telefonzentrale

FRITZ!Box 7490 – Startseite

Schon seit einiger Zeit fungiert hier im Haus eine Fritz!Box als Telefonzentrale. Früher war es noch eine gute, alte 7270, nun ist es eine auch schon nicht mehr ganz frische 7490. Per DECT sind fünf Mobilteile angemeldet, 4 x das FRITZ!Fon C4 und ein FRITZ!Fon C5. Die Fritz!Box stellt allerdings nicht die Verbindung zum Internet per DSL her, sondern ist hinter einem BinTec-Router RS353jv im lokalen Netz eingebunden. Anfänglich war es gar nicht so einfach, die Konfiguration für die Fritz-Box hinter dem Router als VoIP-Telefonkiste hinzubekommen, jetzt läuft es aber schon länger sehr stabil.

FRITZ!Dect 200 – Steckdose

Vor gut drei Jahren hatte ich dann eine AVM FRITZ!DECT 200 (intelligente Steckdose) zugekauft, einfach mal zum Probieren und Spielen mit dem ja so angesagten SmartHome-Kram. Und ich wollte den Energieverbrauch meines PCs messen, was dieser smarte Zwischenstecker außer Schalten nebenbei auch kann.

Nun läuft diese Steckdose also schon längere Zeit eher unauffällig vor sich hin, aber das kann ja noch nicht alles sein, was SmartHome so zu bieten hat.

Magenta SmartHome Tür-/Fensterkontakt optisch

Magenta SmartHome – Tür-/Fenster-Kontakt (optisch)

Irgendwie bin ich dann kürzlich bei Amazon über den Magenta SmartHome Tür-/Fensterkontakt optisch gestolpert und habe dort gelesen, daß er wohl auch mit der Fritz!Box zusammen arbeitet. Spannende Sache, das wollte ich als Technik-Fan unbedingt mal ausprobieren. Also habe ich mir so ein Teil bestellt.

Grundlage ist das sogenannte DECT-ULE, also das „Digital Enhanced Cordless Telecommunications“ (DECT), ein internationaler Standard für Telekommunikation mittels Funktechnik, besonders für Schnurlostelefone. DECT-Telefone gibt es schon recht lange. Dazu kommt die relativ neue Spezifikation „Ultra Low Energy“ (ULE), die gerade für kleine, batteriebetriebene Geräte wie z.B. Sensoren geschaffen wurde.

Dazu kommt noch „HAN FUN“ (Home Area Network FUNctional protocol), ein vereinheitlichtes, herstellerübergreifendes Protokoll für die Kommunikation der Geräte. Und so kommt es nun, daß eine Telekom SmartHome-Sensor mit einer AVM-FritzBox zusammenarbeiten kann.

Plug&Play?

Der Sensor ist endlich da und auch schnell an der Fritz!Box angemeldet, aber es tut sich nichts. Die zugewiesene Steckdose schaltet nicht und auch sonst zeigt der optische Kontakt keine Reaktion. Ist der Sensor etwa defekt?

FRITZ!DECT 100 Repeater

Zunächst habe ich mich im Internet auf die Suche begeben und als erste, mögliche Fehlerquelle den FRITZ!DECT Repeater 100 ausgemacht. So ein Repeater läuft hier auch, weil etwas größere Entfernungen zur Basisstation überbrückt werden müssen. Also habe ich entsprechend der Empfehlung den Repeater in der Fritz!Box abgemeldet und aus der Steckdose gezogen.

Nach dem Reset des Sensors und der Neuanmeldung an der Box zeigte sich keine Verbesserung des Zustandes. Die Suche ging weiter. Ein anderer Nutzer berichtetet, daß der „Kontakt“ erst nach mehrmaliger An- und Abmeldung funktioniert hätte. Also habe ich den Sensor immer wieder an- und abgemeldet, in unterschiedlicher Herangehensweise. Und plötzlich, oh Wunder, funkionierte er tatsächlich. Was war passiert, war das nur Zufall?

Magenta SmartHome Tür-/Fensterkontakt optisch an AVM FRITZ!Box – so gehts!

Mein Fehler bei den ersten Anmeldeversuchen war, daß ich dem Sensor bereits im ersten Schritt einen schönen Namen verpaßt hatte, also z.B. „Test 1“. Genau hier liegt das Problem, was ich nach weiteren Versuchen eindeutig reproduzieren konnte.

Die folgende Schritt für Schritt Anleitung sollte zum Erfolg führen.

0. Vorbereitung

Fritz!Box 7490 – Smart Home Gerät löschen

Gegebenenfalls sind vorhandene Fritz!Dect Repeater aus der List der Geräte zu löschen und aus der Steckdose zu ziehen!

Falls der Sensor schon an der Fritz-Box angemeldet wurde, diesen zunächst aus der Liste der SmartHome-Geräte entfernen. Das geht mit dem roten X ganz rechts hinter dem Gerät.

Anschließend den Sensor selbst durch Druck auf den Home-Button für 10 Sekunden, bis die weiße LED das zweite Mal kurz aufleuchtet, zurücksetzen.

Der Sensor wechselt nach wenigen Sekunden in den Kopplungsmodus, was durch Blinken der weißen LED signalisiert wird. So verhält sich auch ein neuer Sensor nach dem Einlegen der Batterien.

1. Neues Gerät anmelden

Fritz!Box 7490 – Smart Home Gerät anmelden

Unter Heimnetz -> Smart Home kann der Tür-/Fensterkontakt nun mit [Neues Gerät anmelden] angemeldet werden. Das kann einige Sekunden dauern. Ist die Kopplung erfolgreich, leuchtet die weiße LED am Sensor durchgehend für etwa 3 Sekunden und geht dann aus. Die Fritz-Box zeigt eine entsprechende Erfolgsmeldung (grüner Balken) an.

Fritz!Box 7490 – Smart Home Gerät – Anmeldung erfolgreich

Mit [OK] wird die Anmeldung bestätigt und man gelangt zu den Basiseinstellungen des SmartHome-Gerätes.

2. Das Smart Home Basis-Profil

Fritz!Box 7490 – Smart Home Gerät – Basisprofil

Im nächsten Schritt werden die Basiseinstellungen des Smart Home Gerätes angezeigt. Hier könnte man z.B. den vom System vergebenen Namen „HAN-FUN #1“ ändern. Den Namen jetzt aber nicht ändern! Das kann man später immer noch in den Einstellunge machen. Wenn man es hier schon macht, funktioniert der Sensor nicht richtig. Den Dialog einfach mit OK bestätigen.

Fritz!Box 7490 – Smart Home Geräte-Liste

Man gelangt wieder zur Liste der Smart-Home-Geräte. Mit dem Stift-Button kann man nun weitere Einstellungen vornehmen.

3. Die Smart Home Geräte-Einstellungen

Fritz!Box 7490 – Smart Home Gerät – Profil (Einstellungen)

Hier kann nun der Name von „HAN-FUN #1: Unit #1“ in z.B. „Test 1“ geändert werden. Außerdem kann man das Verhalten des Sensors und die gewünschten Aktionen festlegen. In meinem Test-Fall habe ich „stets in Bereitschaft“, „Sensor geschaltet Dose 1“, „offen Meldung schaltet An“ und „jeweiliger Sensor bestimmt autark“ konfiguriert.

Magenta SmartHome Tür-/Fensterkontakt optisch an AVM FRITZ!Box funktioniert!

Derzeit kann man mit dem „Magenta SmartHome Tür-/Fensterkontakt optisch“ nur die AVM FRITZ!DECT 200 (Steckdose) schalten lassen, das Versenden von Nachrichten ist noch nicht direkt möglich.

Fritz!Fon C4 – Smart Home Display

Auf dem Fritz!Fon C4 und C5 wir der Zustand des Sensors zumindest angezeigt, wenn man z.B. Smart-Home als Startbildschirm wählt. Der geschlossene „Kontakt“, also die Tür bzw. das Fenster ist zu, wird mit „aus“ signalisiert, eine offene Tür bzw. ein offenes Fenster mit „ein“. Gut, das ist schon mal besser als gar nichts.

Ich hoffe ja, daß AVM die Smart-Home Funktionen im zukünftigen FRITZ!OS weiter ausbauen wird. Und noch zur Info, bei mir läuft die normale FRITZ!OS Version 6.93, also keine Labor-Version.

Viel Spaß mit Smart-Home! :-)

2 Kommentare »

Siebtlingsgeburt-Rankings bei ranking-123.de als XML und JSON

Siebtlingsgeburt

Wie schon letztes Mal gibt es auch beim aktuellen SEO-Wettbewerb Siebtlingsgeburt die Ranking-Daten von ranking-123.de im XML- und JSON-Format.

Die URLs lauten:

Der Aufbau ist recht einfach und weitestgehend selbsterklärend. Im Kopf gibt es drei Datenfelder:

  • nam – Name bzw. Suchbegriff (z.B. Siebtlingsgeburt)
  • upd – Datum und Zeit des letzten Updates der Liste
  • cnt – Anzahl der Google-Suchergebnistreffer (nicht Listeneinträge!)

Es folgt in rnk eine Liste der Suchergebnisse mit folgenden Datenfeldern:

  • pos – Position in den Suchergebnissen
  • url – URL der Seite
  • typ – Typ des Suchergebnisses, mögliche Werte
    • txt – normales Suchergebnis
    • new – Google-News
    • img – Universal Search Bilder
    • vid – Video
  • img – URL des Bildes, wenn Typ img ist (optional)
  • aut – Name des Autors, falls verfügbar (optional)
  • lpo – letzte Position, 1000 falls neu in der Liste

Bei der Position für Universal-Search Ergebnisse wird eine Unternummerierung vorgenommen. Das erste Ergebnis bekommt .01, das zweite .02, das dritte .03 usw. an die eigentliche Position angehängt. Befinden sich zum Beispiel vier Bilder an der Position 13, so erhalten sie die Positionen 13.01, 13.02, 13.03 und 13.04 in pos zugeordnet.

Die Daten werden stündlich zu vollen Stunde erhoben. Es dauert aber ein paar Minuten, bis sie dann tatsächlich vorliegen. Also sollten die Daten ein paar Minuten nach der vollen Stunde abgefragt werden. Den aktuellen Zeitpunkt der Daten sieht man ja in den Kopfdaten.

Das Top-10 Diagramm im PNG-Format liegt auch zu diesem Zeitpunkt vor. Es gibt ein 24-Stunden-Diagramm und ein 3-Wochen-Diagramm:

Leider liegen die Bilder nicht als https vor, so daß eine Einbindung in https-Seiten problematisch ist. Ich behelfe mir da derzeit mit einem kleinen lokalen „Proxy“, der die Bilder per PHP-Skript bei der Originalseite abholt und über eine „virtuelle“ lokale URL bereitstellt. Aber das ist ein Thema für sich… :-)

Keine Kommentare »

Office 2010 – telefonische Aktivierung nicht mehr möglich?

MS Office 2010

Vor einiger Zeit hatte ich mal ein MS-Office 2010 gekauft. Es handelt sich um eine „Home and Student“-Version, die für die nicht kommerzielle Nutzung drei Lizenzen beinhaltet und vom Preis her durchaus angemessen war, wie ich fand.

Ja ich weiß, es gibt auch kostenlose Alternativen wie OpenOffice oder LibreOffice, aber manchaml braucht man doch das „Original“.

Auf zwei Rechnern hatte ich das MS-Office 2010 bereits installiert, also sollte noch eine Lizenz für das Notebook meiner Tochter verfügbar sein.

Die Installation zwischen den Feiertagen verlief problemlos aber bei der Aktivierung über das Internet gab es die Meldung, daß angeblich bereits alle Lizenzen verwendet würden. Ich müsse die telefonische Aktivierung durchführen, hieß es.

Darauf hatte ich aber keinen Bock und habe die Sache ins neue Jahr geschoben. Zumal man ja 30 Tage für die Aktivierung Zeit hat.

Vorgestern wollt ich nun die Aktivierung durchführen, aber was ist das?

MS-Office 2010 – telefonische Aktivierung wird nicht mehr unterstützt

„Die telefonische Aktivierung wird für dieses Produkt nicht mehr unterstützt.“

Na prima, und nun? Ich meinte mich zu erinnern, daß mir beim ersten Aktivierungsversuch nach der Auswahl des Landes noch die entsprechenden Telefonnummern für die Aktivierung angezeigt wurden. Sollte es einfach am neuen Jahr 2017 liegen, ab dem die telefonische Aktivierung deaktiviert wurde?

Das war einen einfachen Test wert. So habe ich das Rechner-Datum beherzt auf einen Tag im Dezember 2016 gesetzt und…

MS-Office 2010 – telefonische Aktivierung funktioniert

Na bitte, geht doch. Da sind sie ja wieder, die Telefonnummern:

Mobil oder gebührenpflichtig: +49 69 2222 5494
Gebührenfrei: 0800 2848 283

Über die gebührenfrei Nummer konnte ich dann die Aktivierung erfolgreich vornehmen, nachdem ich mich durch das Sprachmenü gekämpft und die vielen Ziffern auf der Telefontastatur eingetippt hatte.

„Die telefonische Aktivierung wird für dieses Produkt nicht mehr unterstützt.“ – stimmt also nicht ganz. Wir zeigen das einfach mal an und hoffen, daß der unbedarfte Nutzer eine neue Lizenz der aktuellen Version kauft, wird sich Microsoft gedacht haben.

Aber nicht mit mir! :-)

5 Kommentare »

Webhoster all-inkl jetzt mit let’s encrypt Zertifikat per 1-Klick Installation

All-Inkl – Let’s Encrypt Zertifikat installieren

All-Inkl mit Let’s Encrypt Verschlüsselung

Seit ein paar Tagen kann man beim Webhoster All-Inkl ab dem Hostingtarif „PrivatPlus“ ganz einfach im Kundenmenü (KAS) für Domains/Subdomains ein Let’s Encrypt Zertifikat aktivieren. Durch das Zertifikat kann die Website verschlüsselt (SSL/TLS) per https aufgerufen werden.

Diese neue Möglichkeit wird auf der Website des Hosters noch gar nicht kommuniziert, man findet den Hinweis als Bestandskunde im KAS (siehe oben).

Die Einrichtung des Zertifikats ist im KAS mit ein paar Klicks erledigt. Man geht zum Menüpunkt „Domain“ bzw. „Subdomains“, wählt bei der gewünschten Domain als Aktion „Bearbeiten“ und klickt dort bei „SSL Schutz“ auf das Plus-Symbol.

All-Inkl: SSL-Schutz mit Let’s-Encrypt

Nun wählt man oben den Reiter „Let’s Encrypt“, setzt das Häkchen bei „Haftungsausschluss akzeptieren“ und klickt auf den Button [jetzt ein Let’s Encrypt Zertifikat beziehen und einbinden]. Nach wenigen Minuten ist die Webseite per https aufrufbar. Einfacher geht es wirklich nicht. :-)

Das war’s?

Nein, das war es noch nicht. :-)

Es ist erstmal nur die halbe Miete, denn nun muß man auch noch die Webseite auf https umstellen. Der Aufruf der Seite ist nun zwar direkt per https möglich, aber alle internen Links und eingebundenen Ressourcen sind, sofern „fest verdrahtet“, noch nicht auf die Verschlüsselung umgestellt.

Bei WordPress z.B. muß man in den Allgemeinen Einstellungen noch die URLs auf https ändern und in der Datenbank per Suchen und Ersetzen für alle internen URLs das http durch https ersetzen.

Auch extern eingebundenen Ressourcen wie YouTube-Videos und Bilder müssen nun per https aufgerufen werden, sonst werden sie möglicherweise gar nicht angezeigt oder erzeugen Fehlermeldungen.

Außerdem ist es sinnvoll, die nicht https-Zugriffe per 301 auf die verschlüsselten URLs weiterzuleiten. Das wird z.B. so in der .htaccess-Datei erledigt:

<IfModule mod_rewrite.c>
RewriteEngine On
# HTTPS erzwingen 
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

Alles im grünen Bereich

SSL-Labs Rating A

Der Lohn für die Mühe, beim SSL-Labs-Test wird ein grünes A-Rating angezeigt.

Allerdings sollte man den blauen Hinweis unten beachten, denn es kann Probleme mit älteren Betriebssysten, Webbrowsern oder Diensten geben. Grund ist die fehlende Unterstützung für die „Server Name Indication“ (SNI).

In Shared-Webhosting-Umgebungen, bei denen sich viele Domains eine IP-Adresse teilen, ist es prkatisch nur mit SNI möglich, eine derart einfache https-Nutzung anzubieten.

Will man auf SNI verzichten, muß man jeder per Verschlüsselung aufrufbaren Domain eine eigene IP-Adresse zuweisen oder im Zertifikat eine Liste mit alternativen Namen (subjectAltName, SAN) für alle Domains führen. Dafür müßte das Zertifikat jedesmal erneuert werden, wenn eine weitere Domain hinzu kommt. Keine wirklich partikable Lösung.

SNI ist an sich nichts Schlechtes, man sollte nur wissen, daß es Probleme geben kann.

Gut gemacht, All-Inkl!

Mit dem Webhosting bei All-Inkl bin ich schon lange sehr zufrieden. Die neue Möglichkeit, einfach im KAS mit wenigen Klicks ein Let’s Encrypt Zertifikat zu aktiviern, ist ein Schritt in die richtige Richtung und bestärkt mich mal wieder in meiner Ansicht, daß All-Inkl ein sehr gute Wahl beim Webhosting ist.

Ein Kommentar »