Sonntag, 26. Mai 2013

Anonym surfen im Internet - Cookies, Flashcookies, Inkognito, DNS Leak

Weitere Einträge auf diesem Blog über dieses Thema:
Automatisch Cookies löschen nachdem man ein Tab geschlossen hat 

Anonym sein im Internet

Eigentlich sollten sich die Leser dieses Blogs bestens mit diesem Thema auskennen, allerdings passieren dennoch bei vielen oft kleine Fehler die verhängnisvoll werden können - trotz Proxy.

Auch wenn man einen Proxyserver verwendet, heißt das nicht gleich, dass man wirklich unerkannt im Web surft. Cookies, DNS Leaks, IP Leaks und falsche Browserkonfigurationen könnten jemanden sehr schnell zum Verhängnis werden und die wahre Identität verraten.
Nur weil man möglichst anonym im Netz sein möchte, heißt das noch lange nicht, dass man etwas zu verbergen hat. Warum sollte man zulassen, dass staatliche Einrichtungen mitlesen, was man im Internet tut? Privatsphäre ist wichtig und sollte geschützt werden!
Also, wie schützt man sich am besten?

Die Gefahr: Cookies - Schutz gegen Cookie

Mittels Cookies kann man das Surfverhalten eines Nutzers quer durchs Web nachverfolgen. Bestes Beispiel wäre der Facebookbutton. Fast jede Website hat so einen Button eingebaut, so kann Facebook ein ziemlich gutes Profil von jedem Nutzer erstellen. Auch Google ist sehr gefährlich, die meisten Websites haben irgendeinen Service von Google eingebunden - z.b. Google Analytics, Google Plus, Google AdWords usw.
Und man kann über Cookies auch feststellen, ob man schon mal auf der Seite war und ob man noch einen anderen Account hat und so weiter. Deshalb ist es wichtig, dass man die Cookies löscht, wenn man sich einloggt, wo man noch einen 2. Account hat. Ansonst könnte das erkannt werden und Schlüsse daraus gezogen werden.

Um sich vor dem Tracking von Werbenetzwerken oder eben Facebook usw. per Hand zu schützen, wäre eine ziemlich schwierige Aufgabe, da man nach jedem Websiteaufruf die Cookies löschen müsste, oder einfach alle Cookies blockieren müsste, was aber Nachteile mit sich bringen würde da fast jede Website Cookies verwendet/benötigt.

Die Lösung gegen Cookies?

Es gibt diverse Plugins für Webbrowser um solch bekannte Cookies erst gar nicht zuzulassen. Für Firefox kann ich Ghostery wärmstens weiterempfehlen.
Ghostery gibts auch für Chrome - Ghostery für Chrome.
Ghostery ist sehr schnell installiert / konfiguriert, blockiert zuverlässig Cookies und sogenannte Zählpixel die von Werbenetzwerken verwendet werden um die Nutzer über einen längeren Zeitraum verfolgen zu können. Ghostery hat eine Blacklist die sich regelmäßig aktualisiert. Darin sind die meisten und bekanntesten Tracker (= z.b. Google Analytics) enthalten.

Außerdem sollte man den Webbrowser so einstellen, dass er nach jedem Beenden alle Cookies löscht. Am Screenshot rechts kann man die dafür notwendige Einstellung im Firefox sehen.
Desweiteren ist es empfehlenswert, wenn man den Browser nur im Inkognitomodus (Privatmodus) startet. Darüber schreibe ich weiter unten.

Die Gefahr: Flash Cookies - Schutz gegen Flashcookies (LSO)

Das Thema Flashcookies wird so oft übersehen, dass ich dem eine eigene Überschrift widme. Flashcookies werden nicht mit den normalen Cookies mitgelöscht, sondern bleiben bestehen. PayPal nutzt z.b. Flashcookies. Wenn man also mehrere Accounts hat (z.b. eigenen + den von Freundin) und man auch IP wechselt und Cookies wechselt, kann PayPal trotzdem erkennen, dass zwischen den Accounts ein Zusammenhang besteht.
Auch über die Flashcookies kann das Surfverhalten verfolgt werden, desweiteren laufen Flashcookies nicht ab. Flashcookies können nur gespeichert werden, wenn man einen Flashplayer installiert hat.
Und noch etwas sehr wichtig:
Flash Cookies werden im Inkognito-Modus NICHT gelöscht, dh. sie bleiben bestehen!!! Eigentlich sollte man annehmen, dass der Inkognitomode von Firefox, Chrome usw. wirklich Inkognito bedeutet, aber so ist es nicht.

Die Lösung gegen Flashcookies (LSO)?

1. Am besten man entfernt die Schreib und Leserechte vom Flashcookieordner!
Linux:
Unter Linux lautet der Pfad: /home/USER/.macromedia
Befehl (1:1 im Terminal einfügen):
chmod 000 /home/USER/.macromedia  # Rechte vom Flashordner entfernen
rm -rf /home/USER/.macromedia/* # Alle Flashcookies löschen
Windows:
In Windows werden Flashcookies hier gespeichert: %AppData%\Macromedia\Flash Player\#SharedObjects

Rechte können per Rechtsklick -> Eigenschaften entfernt werden.

2. Flashcookies kann man per Plugin entfernen.
Mit BetterPrivacy löscht man nach jedem Beenden von Firefox alle Flashcookies. Für Firefox könnte man auch Click&Clean verwenden, wenn man allerdings nur die Flashcookies löschen will, ist BetterPrivacy das richtig Plugin.
Für Chrome sollte man Click&Clean verwenden. Mit Click&Clean kann man mit einem Klick alle Browserdaten löschen! Click&Clean löscht auch Flash Cookies. Man kann das Plugin so einstellen, dass nach Beenden des Browsers automatisch alle Daten gelöscht werden, inklusive Cookies, Verlauf, Chrome-Datenbänke, usw.

Click&Clean für Chrome
Click&Clean für Firefox

Die Gefahr: DNS Leak - Schutz gegen DNS Leaks

Der beste Proxy nutzt nur bedingt etwas, wenn man seine DNS Server nicht ändert. Die DNS Server lösen die Domains in IP Adressen auf. Standartmäßig wird hier der DNS Server des Providers verwendet. Wenn man also schon Anonymisierungstechnologien verwendet, sollte man auch auf die DNS-Server aufpassen. Falls der Internetzugang überwacht wird, kann das Surfverhalten aufgrund der DNS Queries aufgezeichnet werden - und das wird von den Behörden auch effektiv und aktiv gemacht! Also nicht denken, dass so ein Monitoring nicht umgesetzt wird.
DNS Leak Testsite: KLICK
Hier darf nichts vom Provider stehen. Falls irgendeine IP von deinem ISP dort steht, sind deine DNS Queries nicht sicher.

Die Lösung gegen DNS Leaks?

In der Netzwerkkonfiguration von Windows kann man den DNS Server manuell setzen. Das sollte man auch tun. Freie DNS Server gibt es genug, allerdings gibt es auch hier DNS Server die eher gemieden werden sollten, da sie die Queries eventuell für Statistiken oder ähnliches auswerten (z.b. Google DNS).
Für das setzen von DNS Servern gibt es auch Programme, eines davon gibts hier (DNSfix).

In Linux stehen die DNS settings in der resolv.conf - /etc/resolv.conf. Allerdings updated sich die resolv.conf oft selbst (z.b. nach einem Neustart) und dann sind die DNS Server die man gesetzt hat wieder ersetzt durchs System.
Damit das nicht passiert, sollte man die DNS Server nicht manuel in die resolv.conf schreiben, sondern per network manager (GUI) in die Verbindungskonfiguration hineinschreiben. Siehe Screenshot rechts. Oder man schreibt es per Terminal in die Interfacekonfiguration (Ubuntu, Debian: /etc/network/interfaces | Red Hat: /etc/sysconfig/network-scripts/ifcfg-$ADAPTER).

Für OpenVPN kann man bei Linux das Shell Script update-resolv-conf verwenden:
user@user:~$ cat /etc/openvpn/update-resolv-conf
#!/bin/bash
#
# Parses DHCP options from openvpn to update resolv.conf
# To use set as 'up' and 'down' script in your openvpn *.conf:
# up /etc/openvpn/update-resolv-conf
# down /etc/openvpn/update-resolv-conf
#
# Used snippets of resolvconf script by Thomas Hood
# and Chris Hanson
# Licensed under the GNU GPL.  See /usr/share/common-licenses/GPL.
#
# 05/2006 chlauber@bnc.ch
#
# Example envs set from openvpn:
# foreign_option_1='dhcp-option DNS 193.43.27.132'
# foreign_option_2='dhcp-option DNS 193.43.27.133'
# foreign_option_3='dhcp-option DOMAIN be.bnc.ch'

[ -x /sbin/resolvconf ] || exit 0

case $script_type in

up)
        for optionname in ${!foreign_option_*} ; do
                option="${!optionname}"
                echo $option
                part1=$(echo "$option" | cut -d " " -f 1)
                if [ "$part1" == "dhcp-option" ] ; then
                        part2=$(echo "$option" | cut -d " " -f 2)
                        part3=$(echo "$option" | cut -d " " -f 3)
                        if [ "$part2" == "DNS" ] ; then
                                IF_DNS_NAMESERVERS="$IF_DNS_NAMESERVERS $part3"
                        fi
                        if [ "$part2" == "DOMAIN" ] ; then
                                IF_DNS_SEARCH="$IF_DNS_SEARCH $part3"
                        fi
                fi
        done
        R=""
        for SS in $IF_DNS_SEARCH ; do
                R="${R}search $SS
"
        done
        for NS in $IF_DNS_NAMESERVERS ; do
                R="${R}nameserver $NS
"
        done
        echo -n "$R" | /sbin/resolvconf -a "${dev}.inet"
        ;;
down)
        /sbin/resolvconf -d "${dev}.inet"
        ;;
esac
Dadurch wird automatisch der DNS Server gewechselt wenn man sich mit einem OpenVPN Tunnel verbindet.

DNS Leak Testsite: KLICK
Hier darf nichts vom Provider stehen. Falls irgendeine IP von deinem ISP dort steht, sind deine DNS Queries nicht sicher.

Die Gefahr: IP Leaks - Schutz vor IP Leaks

IP Leaks sind wohl das unangenehmste was passieren kann, trotzdem ist es schon fast jeden einmal passiert. Entweder man hat einfach auf die Anonymisierung vergessen, oder es ist irgendetwas schief gegangen mit der Verbindung und man hats nicht mitbekommen.

Die Lösung gegen IP Leaks?

Ich empfehle, dass man einfach per Firewall alle Connections außer zum Proxy blockiert. Wenn man also z.b. einen SOCKS5-Proxy mit der IP 1.2.3.4 Port 4321 verwendet, blockert man den gesamten TCP/UDP Traffic zu allen anderen Hosts außer 1234:4321. Das geht sogar mit der integrieten Windows Firewall. Oder mit einer zusätzlichen Firewall, zum Beispiel ZoneAlarm.
Falls also mal der Proxy nicht erreichbar ist oder man vergessen hat, den Proxy zu aktivieren, kriegt man einfach keine Verbindung zustande.

Wenn man OpenVPN nutzt ist das ganze genauso einfach - man blockt einfach den TCP Traffic und erlaubt nur UDP Traffic (am besten man blockt den gesamten UDP Traffic, außer die Tunnel-IP). Die meisten OpenVPN Tunnel verwenden UDP. Falls nicht, muss man es eben so machen wie oben beschrieben (TCP), aber das wäre eher die Ausnahme. Perfect-Privacy nutzt nur UDP OpenVPN Tunnel.
Browser und die meisten Applicationen verwenden kein UDP, sondern TCP.

Unter Linux benötigt man keine zusätzliche Software, man blockt einfach per IPtables.
OpenVPN iptables TCP Traffic Block:
iptables -A INPUT -p tcp -j DROP
iptables -A OUTPUT -p tcp -j DROP

Traffic für bestimmte Adressen erlauben:
iptables -A INPUT -p tcp -s IPADRESSE -j ACCEPT
iptables -A OUTPUT -p tcp -s IPADRESSE -j ACCEPT
Das Protokoll kann hier einfach ausgetauscht werden, anstatt TCP kann man UDP schreiben, je nachdem was man machen will.

Man könnte den gesamten TCP Traffic auch einfach am Router über die Firewallkonfiguration einstellen. Das ist am sichersten, da es unabhängig vom verwendeten PC funktioniert und man keine Veränderungen am PC machen muss.

Sicher und anonym im Internet surfen - Browserkonfiguration - Verraten durch den Browser

Der Browser muss so eingestellt werden, dass man nicht verfolgbar ist. Hierfür muss man erstmal die ersten beiden Punkte von meinem Eintrag befolgen, somit ist man schon recht sicher.
Noch besser ist es, wenn man zusätzlich nur im Inkognitomodus surft, dadurch werden alle Daten die man während dem Surfen anlegt, gleich wieder gelöscht.

In Firefox kann man das in den Einstellungen festlegen, einfach einen hacken bei "Immer im Privaten Modus starten" setzen.

Um Chrome automatisch im Privatmodus zu starten, muss man die Eigenschaften der Verknüpfung / .exe Datei bearbeiten.

Außerdem sollte man für verschiedene Sachen verschiedene Browser verwenden. Zum Beispiel für die Arbeit Google Chrome, für Privates Firefox und für Bankingsachen Internetexplorer.

Der UserAgent kann unsere Anonymität gefährden! UserAgent anonymisieren.

Man sollte regelmäßig seinen UserAgent wechseln. Denn über den Useragent lässt sich ebenfalls herausfinden, wann du schon mal auf einer Website warst, unabhängig von der IP. Allerdings meistens nur, wenn dein Useragent irgendwie besonders ist und nicht dem Standart entspricht. Für das wechseln vom User Agent gibt es Plugins.
Firefox Plugin User Agent Switcher
Chrome Plugin User Agent Switcher

Hier noch 2 Websites auf denen du dir deinen UserAgent anzeigen lassen kannst. Besonders die zweite Website ist interessant, da dir hier angezeigt wird, wie einzigartig dein UserAgent ist.
Hier ein Test welche persönlichen Merkmale dein Browser hat.
Und hier kann man testen wie unique der Browser ist!  

Weitere Einträge auf diesem Blog über dieses Thema:
Automatisch Cookies löschen nachdem man ein Tab geschlossen hat

2 Kommentare:

  1. hey, super interessanter eintrag!

    >Flash Cookies werden im Inkognito-Modus NICHT gelöscht, dh. sie bleiben bestehen!!!
    das hab ich gar nicht gewusst und schockt mich richtig weils mich persönlich trifft :O
    hab nachgegoogelt weil ichs gar nicht glauben konnte und es stimmt tatsächlich was du schreibst.

    AntwortenLöschen
  2. Die User Agent Sache ist sehr interessant, auf den hab ich bis jetzt nicht aufgepasst.
    Hab meinen Agent getestet und der ist ziemlich unique wegen den Fonts. Ich finde keine Möglichkeit die Fonts zu schützen, wie macht man das denn am besten?

    AntwortenLöschen